最后更新: 2026年7月24日

TL;DR – 如果你有一堆旧的 .mobi 电子书,并且想在非 Kindle 的设备上阅读,Calibre(免费、开源且出乎意料地强大)可以在几次点击或终端中的一行命令下将它们转换为干净的 .epub 文件。转换对纯文本是无损的,保留大多数元数据,并且支持批量处理。请记住:Calibre 不 会去除 DRM——你必须自行合法处理。
为什么要把 MOBI 转换为 EPUB?
- MOBI 正在逐步淘汰。 Amazon 在 2000 年代初期推出了 MOBI,并为旧版 Kindle 保持了它的使用,但新版 Kindle 书籍现在以 AZW3/KFX 格式提供。
- EPUB 是通用的通用语言。 几乎所有非 Amazon 的阅读器(iPad、Kobo、Nook、Apple Books、Android 电子阅读器,甚至基于网页的阅读器)都支持 EPUB。转换可以让你的图书馆具备未来兼容性。
- Calibre 的转换引擎经受了实战考验。 在内部它运行
ebook-convert,该工具将 MOBI 的内部 HTML/CSS 重写为整洁、符合标准的 EPUB 2 或 EPUB 3 包。 - 元数据随书而行。 标题、作者、系列信息、标签和封面艺术会自动复制到 EPUB 的 OPF 文件中,这样您就不会失去组织结构。
法律声明: Calibre 不会移除 DRM。如果您的 MOBI 文件受 DRM 保护,您必须先使用单独的插件(例如 DeDRM)去除 DRM 并且 您只能对合法购买并拥有的书籍这样做。
安装并运行 Calibre
- 下载并安装 – 获取最新版本(撰写时为 v6.0+),下载地址为 https://calibre‑ebook.com/download。它可在 Windows、macOS 和 Linux 上运行。
- 启动应用 – 界面现在拥有暗色模式、简化的工具栏,以及一个让批量任务变得轻松的“转换队列”。
- 可选插件 –
- DeDRM(如果您需要合法处理 DRM)。
- KoboTouchExtended(添加 Kobo 特定的元数据)。
- EpubMerge(将多个 MOBI 文件合并为一个 EPUB)。 通过 Preferences → Plugins → Load plugin from file 安装插件。
GUI 工作流 – 一键转换(Windows/macOS/Linux)
| 步骤 | 要做的事 | 为何重要 |
|---|---|---|
| 1. 添加你的 MOBI | 将文件拖放到 Calibre 的库中,或点击 “Add books”。 | Calibre 读取 MOBI 的内部元数据并创建库条目。 |
| 2. 选择 → Convert books | 右键单击该条目(或使用右上角的 转换书籍 按钮)。 | 打开转换对话框,在其中选择输出格式。 |
| 3. 选择 EPUB | 在右上角的下拉菜单中,选择 EPUB。 | 告诉 Calibre 生成哪种容器。 |
| 4. 调整可选设置(推荐) | • 结构检测 – 如果缺少封面,启用 “强制使用第一张图片作为封面”。• 页面设置 – 设置一个合理的 最大页面尺寸(例如,1200 × 1600),以防止图像体积膨胀。• EPUB 输出 – 选择 EPUB 2 以获得最大兼容性,或选择 EPUB 3 以获取更丰富的功能。 | 这些设置有助于保留章节分隔,保持文件大小合理,并确保 EPUB 在目标设备上正常工作。 |
| 5. 点击确定 | 转换队列出现;Calibre 正在处理文件。 | 您可以查看进度、暂停或取消。 |
| 6. 导出 | 右键单击新的 EPUB → “保存到磁盘” → 选择一个文件夹。 | EPUB 现在已准备好复制到任何阅读器或云服务。 |
批量转换整个文件夹
- 点击 “批量转换” 按钮(看起来像两个箭头)。
- 在对话框中,将 “输入格式” 设置为 MOBI,将 “输出格式” 设置为 EPUB。
- 添加文件夹(或选择多本书),然后点击 “确定”。Calibre 将把每个文件排队并为每个生成相应的 EPUB。
命令行强大功能 – 快速、可脚本化的转换
如果你更喜欢使用终端(或需要自动化夜间任务),Calibre 附带了 ebook-convert。以下是一些实用的代码片段。
单文件转换
ebook-convert "MyOldBook.mobi" "MyOldBook.epub" \
--epub-version=3 \
--output-profile=generic_eink \
--max-toc-links=500 \
--remove-first-image
--epub-version– 选择 2 或 3。--output-profile– 为目标设备优化图像大小(例如,kindle、generic_eink)。--remove-first-image– 防止封面图像在正文中出现两次。
批量转换(Bash 循环)
for f in *.mobi; do
ebook-convert "$f" "${f%.mobi}.epub" \
--epub-version=2 \
--cover="${f%.mobi}_cover.jpg" \
--max-size=1200x1600
done
Python 自动化(Calibre 的 API)
from calibre.ebooks.conversion.cli import main as calibre_convert
def mobi_to_epub(in_path, out_path, epub_version=3):
args = [
in_path,
out_path,
'--epub-version', str(epub_version),
'--output-profile', 'generic_eink',
'--max-toc-links', '1000'
]
calibre_convert(args)
# Example
mobi_to_epub('old_collection/1984.mobi', 'new_epub/1984.epub')
使用 Calibre 的解释器运行脚本:
calibre-debug -c "convert_script.py"
这些方法让你可以将一个包含 MOBI 文件的文件夹放入 cron 任务、CI 流水线或简单的批处理文件中,轻松获得整洁的 EPUB 库。
技巧、窍门与常见陷阱
| 问题 | 修复 / 最佳实践 |
|---|---|
| 缺失或重复的封面 | 在 GUI 中,启用 “强制使用第一张图片作为封面” 并勾选 “从正文中移除第一张图片”。在 CLI 中,使用 --remove-first-image。 |
| 转换后文件大小过大 | 打开 “压缩图片”(GUI)或在 CLI 中添加 --max-size=1200x1600 和 --no-inline-toc。 |
| 章节分隔符消失 | 在 页面分隔检测 下启用 “检测页面分隔”;Calibre 将插入 <hr> 标签,这些标签会成为目录条目。 |
| EPUB 在旧阅读器上无法打开 | 强制输出 EPUB 2(--epub-version=2),并避免使用高级 CSS 功能。 |
| 元数据丢失 | 确认 MOBI 实际包含元数据(在转换前使用 “编辑元数据”)。Calibre 会尽可能复制;如果源文件缺少某些信息,则需要手动添加。 |
| 你的图书馆中混合了多种格式 | 使用 Calibre 的 “自动转换” 规则(Preferences → Adding books → “Auto‑convert added books”),在导入时自动将任何新 MOBI 转换为 EPUB。 |
面向未来的兼容性
- AI 增强插件 正在出现(例如 OpenAI‑Summarizer),它们可以自动生成缺失的章节标题或在转换前改进 OCR 生成的 MOBI 文件。关注 Calibre 的插件库。
- 随时随地阅读生态系统(Apple Books、Google Play Books、Kobo)都需要 EPUB。现在进行转换意味着你可以将图书馆同步到 Nextcloud 等云服务,并在任何设备上阅读,而不受限于亚马逊生态系统。
总结
使用 Calibre 将您遗留的 MOBI 收藏转换为 EPUB 非常简单,无论您喜欢点击式 UI 还是流畅的命令行脚本。此过程会保留文本、图像和元数据,为您提供一个可携带的开放格式图书馆,适用于当今的“随处阅读”世界。只需保持
只需注意 DRM,保留原始 MOBI 文件和新生成的 EPUB 的备份,并仔细检查转换是否未引入任何杂散的格式错误,然后再删除源文件。在目标设备上快速浏览前几章通常会发现任何残留的问题。
备份策略 – 保持您的图书馆安全
镜像您的 Calibre 库文件夹 Calibre 将每本书存储在主库目录下的子文件夹中(macOS/Linux 上为
~/Calibre Library/,Windows 上为C:\Users\<Name>\Calibre Library\)。使用云同步服务(OneDrive、Dropbox、Google Drive 或自托管的 Nextcloud)实时镜像此文件夹。- 优点: 即时版本控制,如果转换出错,轻松恢复。
- 缺点: 某些服务有文件大小限制;大型图片丰富的 EPUB 可能需要选择性同步。
导出目录 从 Calibre 界面,选择 “库 → 导出/导入 → 导出所有 calibre 数据”。这将创建您的元数据的 JSON/CSV 转储,如果您需要从头重建库,可以重新导入。
校验和验证 批量转换后,运行一个简单的校验和比较,以确保每个 MOBI 都有对应的 EPUB:
find . -name "*.mobi" -exec md5sum {} \; > mobi_md5.txt find . -name "*.epub" -exec md5sum {} \; > epub_md5.txt diff mobi_md5.txt epub_md5.txt # should show only filename differences, not mismatched hashes
如果文件未通过校验和测试,请重新运行该特定标题的转换。
将 EPUB 同步到您的设备
| 设备 | 推荐方法 | 步骤 |
|---|---|---|
| Kobo | Calibre的内置 “发送到设备” | 通过 USB 连接,点击 设备图标,然后 “发送到设备 → 发送特定格式 → EPUB”。 |
| Apple Books(iOS/macOS) | AirDrop 或 iCloud Drive | 将 EPUB 拖到 macOS 上的 Books 应用,或从 Mac/PC 使用 AirDrop 发送到 iPhone/iPad。 |
| Android(Moon+ Reader、Aldiko 等) | 直接文件复制或云同步 | 将 EPUB 文件夹复制到设备上的 Books/,或使用类似 Google Drive 的同步文件夹,并在阅读器应用中打开。 |
| 基于网络的阅读器(Readium,BookFusion) | 通过网页界面上传 | 登录服务,点击 上传,选择你的 EPUB 文件,它们将出现在云库中。 |
大多数现代阅读器会自动根据 EPUB 的内部导航文件(toc.ncx 或 nav.xhtml)生成目录。如果发现章节缺失,请重新检查 Calibre 中的 “结构检测” 设置,并尝试 “强制检测章节” 选项。
高级自定义 – 当默认设置不足时
1. 自定义 CSS 注入
如果希望所有转换后的书籍保持一致的外观(例如特定的字体族或行高),请创建一个 CSS 文件(my_style.css),并在 Calibre 中指向它:
ebook-convert input.mobi output.epub \
--extra-css="my_style.css" \
--embed-all-fonts
--embed-all-fonts 标志会将字体文件嵌入 EPUB 中,确保在任何设备上都有相同的排版。
2. 删除广告或模板代码
某些 MOBI 文件(尤其是来自免费分发站点的)在开头或结尾包含宣传页。使用 Calibre 的 “页面设置 → 删除前/后 N 页” 或相应的 CLI 标志:
ebook-convert input.mobi output.epub \
--remove-first-paragraphs=2 \
--remove-last-paragraphs=3
3. 转换为带固定布局支持的 EPUB 3
对于图像密集的书籍(漫画、教材、儿童绘本),可能需要固定布局的 EPUB。可在 GUI 中的 EPUB 输出 → “创建固定布局 EPUB” 中启用,或通过 CLI 实现:
ebook-convert input.mobi output.epub \
--epub-version=3 \
--fixed-layout=1 \
--page-breaks-before="img"
4. 基于元数据批量重命名文件
转换后,您可能希望使用类似 Author - Series #01 - Title.epub 的简洁文件名。Calibre 可以自动完成此操作:
calibre-debug -c "from calibre.ebooks.metadata import check_isbn; \
import os; \
for book in os.listdir('epub_folder'): \
if book.lower().endswith('.epub'): \
path = os.path.join('epub_folder', book); \
mi = check_isbn(path); \
new_name = f\"{mi.authors[0]} - {mi.title}.epub\"; \
os.rename(path, os.path.join('epub_folder', new_name))"
(将此代码段替换为适合您需求的元数据提取例程。)
常见问题 (FAQ)
**Q: 图片会自动缩小吗?
A: 是的,如果您启用 “Compress images” 选项或设置 --max-size。Calibre 会遵循目标设备配置文件,因此 Kindle Paperwhite 的图片会比平板电脑的更小。
**Q: 我的 EPUB 在 Kobo 上无法打开——显示“Invalid EPUB”。
A: Kobo 设备对 EPUB 版本和 toc.ncx 的存在非常挑剔。请使用 --epub-version=2 重新转换,并确保勾选 “Create a Table of Contents”。
**Q: 如何保持系列信息完整? A: Calibre 会读取 MOBI 内部元数据中的系列标签。如果缺失,请在转换前在 Edit metadata 窗口手动添加。系列名称和索引将写入 EPUB 的 OPF 文件。
**Q: 我可以在同一批次中将 MOBI 转换为其他格式(PDF、AZW3)吗?
A: 当然。ebook-convert 命令接受任何受支持的输出格式。例如,要一次性生成 EPUB 和 PDF,可以运行两个独立的命令,或使用一个小的 shell 循环遍历所需的扩展名。
**Q: 有没有办法直接从云存储服务(例如 Google Drive)进行转换,而无需本地下载? A: Calibre 的 “添加书籍” 对话框可以接受 URL。提供 MOBI 文件的直接下载链接,Calibre 将获取、转换并将结果存入您的库中。对于批量操作,可将云盘本地挂载(通过 rclone、Google Drive File Stream 等),并将 Calibre 指向挂载的文件夹。
结束语
从专有的、以 Amazon 为中心的格式迁移到开放且面向未来的 EPUB 生态系统是一项一次性的投资,每当您使用新的电子阅读器或切换平台时,都能带来回报。Calibre 将精致的图形界面与强大的命令行引擎相结合,意味着您可以从一次拖放开始,随后扩展为全自动的夜间任务,保持您的库始终整洁。
请记住:
- 先检查 DRM – Calibre 在这方面帮不了你。
- 先测试少量书籍 再进行大批量转换。
- 备份 源文件和输出文件。
- 微调设置(封面处理、图像压缩、EPUB 版本)以匹配目标设备的特殊需求。
一旦拥有干净的 EPUB 收藏,您就可以随时随地自由阅读,向朋友分享(在版权法范围内),甚至将内容重新用于个人项目,如笔记或文本转语音流水线。
祝转换愉快,愿您的电子阅读体验永恒且无 DRM!