乐于分享
好东西不私藏

125k Stars 的文档转换器,到底强在哪?

125k Stars 的文档转换器,到底强在哪?

文档格式乱到崩溃?一个工具全搞定

最近被各种文档格式搞得头大——Word、Excel、PPT、PDF,每个来源格式都不一样,处理起来特别麻烦。微软出的这个免费工具叫 MarkItDown,能把这些乱七八糟的文档全部转成干净的 Markdown。

它的核心功能就一个:把各种文档转成 Markdown。标题、表格、列表、链接,统统保留。不像那些半吊子方案,要么只能转 Word,要么转出来格式全乱。

格式
MarkItDown
常见方案
Word/Excel/PPT
✅
✅
PDF
✅
⚠️ 经常乱码
音频转文字
✅
❌
图片描述
✅
❌

GitHub 上 125k Stars,最近 7 小时前还有提交,维护得很活跃。


我用它处理过的几个场景

场景一:RAG 系统喂数据

之前做 RAG 管道,最烦的就是不同来源文档格式各异,Embedding 前得先清洗一遍。MarkItDown 的解法是统一输出 Markdown,LLM 原生"理解"这种格式,token 消耗还低。

我用它处理过几十份合同模板,一行命令搞定:

# 安装pip install markitdown[all]# 批量转 Markdownmarkitdown 合同模板.docx -o 合同模板.md

转完直接丢给 LLM,不用再手动清洗格式,省了不少功夫。

场景二:PDF 表格提取

很多库转 PDF 出来表格全散架,这个是我用下来体验最好的。之前用 Python-docx 处理过一份财报,表格转出来全是乱的;换成 MarkItDown,表格对齐好很多。

MarkItDown 在 2026 年 5 月刚优化过表格对齐,Markdown 输出更规整。

场景三:命令行批量处理

不用写 Python 代码,不用配复杂环境,管道符直接接:

cat 报告.pdf | markitdown > 报告.md

我平时用它批量处理整个文件夹的文档,管道符一接就完事,贼方便。


上手要避开的几个坑

Python 版本得够新

MarkItDown 要求 Python 3.12+,很多老项目跑不起来。我第一次用就踩过这个坑,查了半天版本才反应过来:

python --version

低于 3.12 的先升级 Python 再装。

扫描版 PDF 转不了

纯图片的 PDF 直接转出来是空的。之前处理过一批扫描的合同,全是图片,根本没法用。后来先用 OCR 预处理了一下才搞定。


实际用下来的感觉

短板:

  • 音频转文字依赖 Google API,隐私敏感场景不太适合
  • 图片转描述需要调 LLM API,有成本

适合用:

  • RAG 管道中文档预处理(这个我天天用)
  • AI 训练数据清洗
  • 批量文档格式统一

不适合用:

  • 实时聊天机器人(延迟太高)
  • 需要保留原始排版的场景(Markdown 会简化样式)

如果你主要的需求是让文档能被 AI 处理,这个工具值得试试。如果你的需求是保留原文档样式,可能还需要再等等——Markdown 输出会丢失部分格式信息。

GitHub 地址:https://github.com/microsoft/markitdown

相关学习资料