2026 年从 Anki 迁移:安全的 TXT 导出流程
安全迁移 Anki 数据,第一步不是只导出一个文件,而是分别做两次导出。先创建一个包含媒体文件的 .colpkg,以便日后恢复原集合;再将要迁移的内容导出为 纯文本笔记(Notes in Plain Text)。
这两个文件各有用途:集合包是退路,TXT 文件是用于迁移的工作副本。分清二者,就不会把一份卡片文本误当成完整的 Anki 备份。
这套流程适合以文本为主的牌组,以及能够处理 TXT 或 CSV 的目标应用。文本导出不会保留 Anki 的调度状态、模板、插件或媒体文件。你需要先用一个有代表性的牌组测试,逐一核对字段;在结果真正可用之前,不要改动原集合。
利益相关说明: 我是 Kirill Markin,也是 Nibomo 的开发者。本指南也会明确说明:在哪些情况下,继续使用 Anki 或选择支持导入
.apkg的应用才是更稳妥的决定。
事实核查日期: 2026 年 8 月 27 日。

先判断 TXT 这条路是否适合你
Anki 保存的远不止复习时看到的文字。一条笔记可以有多个字段,笔记类型和卡片模板会决定这些字段如何生成一张或多张卡片。集合中还包含调度信息;媒体则以单独的文件保存,并由笔记内容引用。
文本导出只能带走这套系统的一部分。花时间整理文件前,先对照下表判断:
| 你的 Anki 使用方式 | TXT 是否适合用来迁移? | 更稳妥的选择 |
|---|---|---|
| 基础的正面/背面笔记,很少或完全没有媒体 | 适合 | 导出一个有代表性的牌组,映射字段,再到目标应用中测试 |
| 多个结构固定的文本字段,例如术语、定义和例句 | 通常适合 | 导入前先确定哪些字段放在正面,哪些放在背面 |
| 你愿意把填空笔记改写成普通问答 | 有时适合 | 先测试几条填空笔记,并逐张检查生成的卡片 |
| 自定义 HTML 只用于简单排版 | 有时适合 | 检查目标应用会渲染、移除还是直接显示 HTML |
| 图片或音频有用,但不承载关键信息 | 有时适合 | 先迁移文本,再单独添加并验证媒体 |
| 模板、CSS、JavaScript、插件或自动生成的反向卡片必不可少 | 通常不适合 | 继续使用 Anki,或选择兼容 Anki 包导入的目标应用 |
| 现有到期时间、复习历史或个性化调度状态必不可少 | 不适合 | 继续在 Anki 中学习,或使用明确保留调度信息的迁移方式 |
| 图像遮挡或大量依赖媒体的笔记承载着核心含义 | 单靠 TXT 不行 | 使用能处理 Anki 包的目标应用,并在切换前测试媒体保真度 |
关键问题很简单:如果每条笔记只剩下文本字段,你需要的学习材料还完整吗?如果不完整,TXT 就不是合适的迁移格式。
双重导出的安全方案
在 Anki 中更改任何内容或在其他应用中创建大型牌组前,先完成这两次导出。
| 文件 | 用途 | 能保护的内容 |
|---|---|---|
启用 包含媒体(Include media) 的 .colpkg |
恢复 | 集合中的笔记、卡片、牌组、笔记类型、调度信息,以及打包在内的本地媒体 |
纯文本笔记(Notes in Plain Text) .txt |
可移植性 | 导出笔记字段的内容,各字段以制表符分隔 |
Anki 导出文档指出,集合包包含整个集合及其调度信息。是否勾选媒体选项,则决定本地图片、音频和其他文件会不会一起打包。Anki 的备份指南建议将手动创建的集合包保存在安全位置,例如另一台设备或云存储中。
TXT 文件的范围要窄得多,这是它本来的设计。Anki 会将笔记字段写入文本文件,并用制表符分隔。如果导出时选择包含 HTML 和媒体引用,你还能看到字段中保存的标记。这样既方便检查,也便于复用内容,但 TXT 并不会因此成为整个 Anki 系统的可移植副本。
.colpkg 能保护集合数据,但不会把 Anki 应用本身或插件代码打包进去。因此,请另外记录工作流程依赖的所有插件。
如果你还想建立一套不限于本次迁移的备份流程,请参阅如何备份闪卡。
导出 1:制作恢复用的 .colpkg
请使用桌面版 Anki,并按照官方手册提供的恢复方式操作。如果媒体对你的卡片很重要,先运行 工具 > 检查媒体(Tools > Check Media)。Anki 的媒体指南说明,这项操作会找出被笔记引用、但媒体文件夹中实际缺失的文件。
- 打开 文件 > 导出(File > Export)。
- 在导出格式中选择 Anki 集合包(
.colpkg)。 - 启用 包含媒体(Include media)。
- 将文件保存在 Anki 配置文件夹之外。
- 再复制一份到其他位置,而且不要放在保存集合的那台电脑上。
在文件名中写入日期,例如 anki-collection-2026-08-27.colpkg。然后确认两个位置都有这个文件,而且文件大小不为零。
不要把备份导入当前正在使用的集合来“测试”它。Anki 警告,导入 .colpkg 会删除并替换当前卡片,但不会删除已有的媒体文件。以后真要恢复时,请遵循官方恢复说明,并注意:备份创建之后发生的集合变更将会丢失。
无论 TXT 迁移是否成功,都要保留这个文件。它保存的是文本导出无法表达的集合状态。
导出 2:制作一个小型的纯文本笔记样本
先选一个有代表性的牌组,不要一上来就导出整个集合。这个牌组应包含你确实会遇到的棘手情况:额外字段、需要保留的标签、带格式的答案、填空笔记;如果完整集合中有媒体引用,样本里也要有。
然后:
- 再次打开 文件 > 导出(File > Export)。
- 选择 纯文本笔记(Notes in Plain Text)。
- 将导出范围设为这个代表性牌组。
- 启用 包含 HTML 和媒体引用(Include HTML and media references),让样本显示格式和文件依赖关系。这只会让引用保留在文本中,媒体文件本身不会写入 TXT。
- 如果准备保留标签,请启用 包含标签(Include tags)。之后仍需在目标应用中映射并验证标签。
- 将结果保存为
.txt文件,不要改动原集合。
Anki 把它称为“笔记”导出是有原因的:导出的是保存下来的字段,不是每张渲染后卡片的截图。如果一条笔记通过模板生成正向和反向卡片,文本文件仍然只记录笔记字段,并不会保存模板如何生成这两张复习卡片的逻辑。
这个小样本验证成功后,再对其他适合迁移的牌组重复同样的流程。样本迁移失败,只会多花一点检查时间;整个集合迁移失败,就会变成一场大规模清理。
交给任何导入器或 AI 前,先打开 TXT 文件
不要把导出文件当成看不见内部内容的附件。用能够显示制表符的文本编辑器打开它,或将副本导入电子表格查看,但不要覆盖原文件。
较新版本的 Anki 导出文件开头可能包含 #separator:tab、#html:true 或 #tags column:... 等行。这些是文件头,不是笔记。请原样保留在未经修改的源文件中。如果你要把少量笔记行复制到单独的测试文件,再交给不识别 Anki 文件头的目标应用,则应排除这些行。
重点检查五件事:
- 字段数量: 每行都应包含预期数量、由制表符分隔的字段。Anki 的文本导入指南解释了字段分隔符的重要性,以及如何分别映射字段。
- 字段顺序: 记下每列的含义,例如正面、背面、例句、来源或其他内容。只看原始数据行,字段名称及其与卡片正反面的对应关系可能并不明显。
- HTML: 查找
<b>、<br>或<div>等片段。如果导出时选择包含格式,Anki 会把格式以 HTML 形式嵌入字段。其他应用可能渲染、移除这些标记,也可能直接把它们显示成文本。 - 填空标记: 搜索
{{c1::Paris}}一类的字符串。普通的正面/背面式目标应用,不会仅凭字段中出现这段文字就继承 Anki 生成填空卡片的行为。 - 媒体引用: 搜索
<img src="...">和[sound:...]。引用并不是图片或音频文件本身;Anki 会将这些文件单独保存在媒体文件夹中。
如果你依赖标签,也要检查它们。Anki 的文本导入指南支持专用标签字段和 #tags column 文件头,但目标应用可能使用不同的格式。只有在导出时包含标签、主动映射,并对生成的卡片完成验证,迁移才能保留标签。不要因为样本中出现了几个标签名,就认定熟悉的 parent::child 层级也完整保留下来了。
不要为了省事,把所有制表符直接替换成逗号。制表符划定了字段边界;如果没有按 CSV 规则正确引用内容就更换分隔符,内容本身的逗号、引号或换行符可能会破坏整行数据。
我会在导出文件旁边写一份简短的映射说明:
第 1 列 -> 正面
第 2 列 -> 背面
第 3 列 -> 作为例句追加到背面
第 4 列 -> 检查后再决定是否保留为标签
HTML -> 移除,但保留换行
填空标记 -> 手动改写
这份简短说明能让迁移流程重复执行,也提供了一份明确的标准,用来核对目标应用中的结果。
哪些内容能保留,哪些会止步于 TXT
| Anki 数据或行为 | 是否包含在纯文本笔记中? | 应该怎么做 |
|---|---|---|
| 笔记字段文本 | 是 | 有意识地映射每一列由制表符分隔的内容 |
| 简单格式 | 导出时选择包含,才会以嵌入式 HTML 出现 | 测试目标应用如何处理;必要时移除或改写 |
| 标签 | 仅在导出时选择包含才有 | 主动映射标签列,并验证名称和层级 |
| 图片和音频 | 可能出现引用,但文件不会随 TXT 一起迁移 | 保留用于恢复的 .colpkg,并单独迁移所需媒体 |
| 卡片模板和 CSS | 否 | 重新建立卡片结构,或选择能够处理 Anki 包的导入器 |
| JavaScript 或插件行为 | 否 | 如果这些行为是学习流程的一部分,请继续使用 Anki |
| 填空行为 | 否 | 将填空语法转换为目标应用支持的卡片类型或普通问答卡片 |
| 一条笔记生成多张卡片 | 不会保留模板生成逻辑 | 决定哪些方向应在目标应用中成为独立卡片 |
| 牌组名称和层级 | 仅在作为导出元数据包含时才有 | 主动映射名称;不要期待目标应用自动重建结构 |
| 牌组预设 | 否 | 只重新创建你仍然需要的设置 |
| 到期时间、间隔、复习历史和调度器状态 | 否 | 将目标应用中的卡片视为一段全新的复习历史 |
最后一项的迁移代价最大。卡片内容和调度信息是两种不同的资产。一次成功的 Anki TXT 导出 可以保住文字,却仍会重置每张卡片的学习状态。
即便两个应用使用同一类调度器,也不代表卡片历史可以互换。目标应用无法从问答文本中推断旧的到期时间、稳定性、难度或复习事件。如果这些历史对你很重要,请先阅读 FSRS 会存储和计算什么,再决定是否重置。
在目标应用中做一次可逆测试
测试期间,继续以 Anki 为准。创建一个临时牌组,只导入或起草有代表性的样本,再逐项检查结果。这个阶段无需删除、编辑或暂停任何原始笔记。
你的验证应回答这些问题:
- 每条预期笔记是否生成了正确数量的卡片?
- 正确的字段是否分别出现在正面和背面?
- 制表符、引号、换行符、非拉丁文字和代码片段是否完整保留?
- HTML 是正确渲染、显示为原始标记,还是被移除了?
- 填空内容是否经过有意转换,而不是以损坏的语法直接复制过去?
- 标签是否仍然保留了它们在 Anki 中的含义?
- 依赖媒体的卡片是否仍然容易理解,所需文件是否齐全?
- 目标应用是否生成了重复内容?
- 是否已经明确调度会从头开始?
把样本和 Anki 并排比较。如果某个字段缺失,可能会影响大型导出中的每条笔记,就不能接受“绝大部分看起来没问题”这种结果。
如果测试失败,请用目标应用自身的清理流程删除临时卡片,再调整映射或清理方式。Anki 集合和两份导出文件都会保持完整,这正是测试可逆的原因。
在 Nibomo 中使用 TXT 文件
Flashcards 目前没有直接导入 Anki 的功能。它无法读取 .apkg 或 .colpkg,也不能据此重建 Anki 的模板、媒体或复习历史。
目前,托管版可以通过文件附件让 AI 辅助生成草稿。按照入门指南打开托管应用,在 AI 对话中附上 TXT 或仔细整理过的 CSV 文件,并明确要求先生成少量草稿,不要保存任何内容。先在对话中检查建议的卡片,再让助手保存批准后的批次。
第一条提示词最好明确字段映射,并严格限制是否保存内容:
读取附件中的 Anki 纯文本笔记导出文件。暂时不要保存卡片。
将制表符视为字段分隔符。把第 1 列作为正面,第 2 列作为
背面。将第 3 列追加在“例句”下。先展示一个小样本,保留
原文;对于含有 HTML、填空标记、缺失字段或媒体引用的数据行,
请予以标记,不要猜测。
请根据检查文件后写下的映射说明调整这条提示词。如果生成的草稿信息过多或含糊,请参考复习前修正 AI 闪卡的检查清单。AI 可以帮你完成重复的结构调整,但不能证明迁移已经正确保留源内容。
批准一个小批次后,将它保存到临时测试牌组,添加迁移标签,再执行一次相同的验证清单。对你这一个具体的 Anki 集合来说,亲自测试过的结果才是有效证明。
扩大迁移规模,同时保持可逆
代表性牌组通过测试后:
- 按笔记结构为其余牌组分组,不要把所有内容塞进一个字段含义不清的文件。
- 每次只导出并检查一组。
- 只有笔记类型确实一致时,才复用书面记录的字段映射。
- 检查每个已创建的批次,再处理下一批。
- 保留
.colpkg、未经修改的 TXT 文件和 Anki 本身。
如果决定开始学习新卡片,请选定一个明确的切换时间点。在两个应用中复习同一批材料,会形成两套独立的调度,而且马上开始产生差异。旧的 Anki 调度仍保存在恢复副本中,但不会同步你在其他应用中完成的复习。
没必要急着删除 Anki。请保留原集合,直到新牌组经受过日常使用的检验,而且你已经能够接受 TXT 迁移没有带走的所有内容。
哪些情况下不该这样从 Anki 迁移
如果你的集合依赖以下内容,请继续使用 Anki,或选择明确支持导入 .apkg 的目标应用:
- 复杂的笔记类型,或由一条笔记生成多个方向的卡片;
- 自定义模板、CSS、JavaScript 或插件;
- 你不想重建的填空行为;
- 承载关键信息的图像遮挡、音频或图片;
- 必须原样迁移的牌组预设和组织结构;
- 不能承受重置的复习历史或当前调度。
Anki 很适合这些工作流程。TXT 迁移不是对 Anki 的评价;它只是一种用途明确而有限的工具,适合那些主要资产就是笔记内容的用户。更全面的 Anki 与 Nibomo 对比介绍了两款产品的取舍,也不预设每个人都应该切换。
安全方案就是要刻意保持简单
要在不拿原集合冒险的前提下从 Anki 迁移,流程越直接越好:
- 导出一个包含媒体的
.colpkg,并保存到其他位置。 - 将一个有代表性的牌组导出为 纯文本笔记(Notes in Plain Text)。
- 检查制表符、字段、HTML、填空、标签和媒体引用。
- 写下明确的源字段到目标字段映射。
- 创建一个临时样本牌组,并验证每张卡片。
- 只有样本通过测试后,才扩大迁移规模。
- 在新工作流程证明可靠之前,保留 Anki 和恢复包。
TXT 文件负责搬运内容,.colpkg 负责保护集合。只要不再要求一个文件同时完成两项工作,Anki 迁移就会更容易理解,也更容易回退。