事情是这样的。
前两天刷到条消息,微软 AutoGen 团队开源了个工具,上线一天涨了 3000 个 Star,你敢信???现在总数干到了 136,000 以上。
这工具叫 MarkItDown。
它干的事特别朴素,朴素到你会愣一下,这也要专门做个工具?把 PDF、Word、PPT、Excel、图片、音频、YouTube 视频,一共 15 种以上的文件,统一转成 Markdown。
但就是这么个朴素的东西,戳中了一个每个搞 LLM 应用的人都踩过的坑。
你给 Claude 丢一份 50 页的 PDF,让它帮你分析。结果表格变成乱码,多级标题丢了层级,图表变成一片空白,脚注还混进正文。不是 AI 不够聪明,是你喂给它的东西,质量太差了。
先说那个坑
你喂的不是饭,是残渣
很多人第一反应是,那我用 PyPDF2 把文字抽出来不就行了。
抽是能抽,但你拿到的是一串原始字符串。所有标题、列表、表格的结构全没了,就是一大坨堆在一起的字。LLM 拿到这坨东西,跟拿到一本被搅碎的书没区别。
问题不在模型,在输入端。你想想看,LLM 训练时见过的大量文本是 Markdown 格式,标题用 # 号,列表用减号,表格用竖线分隔。它对 Markdown 的理解,远比对 PDF 原生格式的理解好。
所以正确的做法是,把文档给 LLM 之前,先把它变成 Markdown。这一步简单,效果却立竿见影。

左边是被搅碎的 PDF,右边是结构清晰的 Markdown
MarkItDown 是啥定位
一句话说清它是什么。微软出的轻量 Python 工具,把 15 种以上格式统一转成结构化 Markdown,专为 LLM 和文本分析管道设计。
注意它要的是语义保真,不是视觉保真。
这点得讲清楚。Pandoc、LibreOffice 那些工具,目标是转出来接近原文件的排版,是给人看的。MarkItDown 的目标是去掉格式噪声,保留文档结构,是给 LLM 吃的。两条路,不是竞争对手。
它到底能转啥
15 种格式,一行命令
办公文档 PDF、Word、PPT、Excel 全包。图片能读 EXIF 元数据,接了 LLM 还能描述图里的内容。音频 WAV、MP3 能转录。HTML、YouTube 链接自动拿字幕。CSV、JSON、XML 这种结构化数据更不在话下。连 ZIP 包都能整个遍历转一遍。
装也简单,pip install 加个方括号 all,全家桶一步到位。想省依赖就按需装,pdf、docx、pptx、xlsx 自己挑。
用起来更简单。命令行敲一句 markitdown 你的文件,干净 Markdown 直接吐出来,想存盘加个参数就行。

各种文档格式,汇成一股干净的 Markdown
三个让它封神的点
结构保留,是核心价值
它不是简单抽文字,是把语义结构映射成 Markdown。Word 的多级标题变成一级级标题。表格变成标准 Markdown 表格。列表变成有序和无序列表。链接变成带地址的超链接。Excel 每个工作表变成以表名为标题的独立区块。
LLM 拿到这份 Markdown,知道哪些是标题、哪些是表格、哪些是列表,推理质量比一团文字高出一个档次。这点是它和 PyPDF2 最大的区别,也是它存在的理由。
图不再瞎,LLM 帮你看
含图的 PPT 或 PDF,接个 LLM 就能把图的内容描述出来。没接 LLM 的时候,图片只输出 EXIF 元数据。接了之后,每张图变成一段文字描述,AI 真正看见图表里写了啥。
代码也就几行。把 OpenAI 客户端传进去,convert 一下你的文件,图片就有了中文描述。你甚至能自定义提示词,让它用中文讲这张图。
插件和 Azure,往深了走
官方有个 markitdown-ocr 插件,给扫描版 PDF、Word 加 OCR 能力,用 LLM 视觉把图里文字抠出来,不用装 Tesseract 那类重依赖,一个 API Key 就够。
企业级还有两条 Azure 路。Azure Document Intelligence 适合高质量扫描 PDF 和复杂表格。Azure Content Understanding 是目前唯一能处理视频的路径,文档、视频、音频按类型自动选分析器,零配置。
说句实在的,本地转换本不支持视频,想转 MP4 得接 Azure CU,这是个计费服务,心里得有数。
三个真用得上的场景
企业知识库 RAG
这是最典型的使用场景。你用 Claude 或 GPT-4 搭公司内部知识库问答,文档来源乱七八糟,PDF 产品手册、Excel 价格表、PPT 培训材料。
传统方案每种格式一套解析库,输出结构还不一,向量库里存的是低质量文本,检索经常语义错乱。换成 MarkItDown,所有格式统一出口标准 Markdown,标题层级和表格结构都留着,向量索引质量明显上去,检索准确率和回答质量都跟着好。
一行 result 等于 md.convert 你的文件,就把解析层换了。
YouTube 视频分析
你要分析一批竞品发布视频、学术讲座,让 AI 提炼核心观点。直接把 YouTube 链接丢给 MarkItDown,它自动拿字幕,你不用写 YouTube API,也不用自己转录。
出来的 Markdown 喂给 Claude,一句「提炼这个视频的核心产品亮点」就完事。这条链路,以前得写一堆胶水代码,现在一行命令。
会议文档批量处理
团队每周一堆会议纪要 Word、数据报告 Excel,定期汇总喂给 Claude 做分析。把这周文件打个 ZIP 丢进去,一次转换,整周文档全变结构化 Markdown,直接问「总结本周最重要的三个决策和一个趋势」。
这活以前得写脚本逐个解析,现在一行命令,周报都能自动喂。

文档进,干净 Markdown 出,直接进向量库喂 LLM
为啥能涨到 136k
社区怎么看
说真的,136k Star 不是白来的。社区里几条评价我挺认同。
有博主说,MarkItDown 在「文档到 Markdown 再到 LLM」这条链路上做到了极致,它解决的是 AI 时代的数据入口问题。LLM 再强,喂进去一团没结构的文本,推理也大打折扣。
还有人说,它做的事情和它说要做的完全一样,不多也不少。这评价是对一个工具最高的赞美。136k Star 的底层,就是这种可预期性,你知道输入什么,就知道会得到什么。
最新的评测说,它把这条管线从某些人的专业技能,变成了一行代码。这就是优秀开发工具的本质,之前文档预处理要懂各种解析库、写胶水代码、处理奇怪的边缘情况,之后,一行安装加一行转换,搞定。
国内玩家的离线替代
有个细节对国内用户有用。MarkItDown 核心转换完全离线,只有图像描述和音频转录需要调 LLM API。
有开发者在 CSDN 分享,图片和 PDF 接本地 RapidOCR,音视频用 Whisper 离线转,在内网不能调境外 API 的环境里,实现完全离线的文档转换。这条路国内开发者认可。
值不值得用
适合谁
RAG 知识库开发者,它是格式覆盖最广、最简单的文档预处理库,替换解析层首选。
需要让 AI 分析文档的人,一行代码把任何格式变成 LLM 读得懂的 Markdown。
处理 YouTube、音视频的研究者,转录加分析几行代码。
企业文档管道搭建者,统一入口加可选 Azure 增强。
得说清的局限
图像内容要 LLM API 支持,PPT 关键信息都在图里,不接 LLM 或离线 OCR 就提不出来。
扫描版 PDF 基础转换效果有限,得靠 markitdown-ocr 或 Azure。视频只走 Azure CU,本地不支持。复杂排版的高保真不是它的目标,要精确复现排版用 Pandoc。
处理不可信文件,用 convert_local 或 convert_stream,防路径遍历和 SSRF。
我是真的觉得,这些不是缺点,是它把力气都用在了该用的地方。

文档和 LLM 之间的那道门,MarkItDown 帮你推开
一句话收尾
文档不是 LLM 的天生食物,Markdown 才是。MarkItDown 是那个把菜做熟、端上桌、让 LLM 真正能吃进去的工具。
136k Star 证明的不是它多聪明,是它解决的问题多刚需。
想上手,pip install 加方括号 all,一行命令开始喂。
开源地址,存好
项目仓库:https://github.com/microsoft/markitdown
PyPI pip install 'markitdown[all]'
维护方:Microsoft AutoGen 团队
协议:MIT
版本:v0.1.6
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标。谢谢你看我的文章,我们,下次再见。
夜雨聆风