你手头有一堆 PDF、Word、PPT,想喂给大模型做 RAG 或者知识库,结果发现:
PDF 复制出来格式全乱,Word 里的表格提取出来对不齐,PPT 的文本散落在各个文本框里。
你想把它们变成 Markdown——LLM 读得最舒服的格式——但一个个手动转,费时费力。
微软开源了一个工具叫 MarkItDown,GitHub 上 125K Star,专门解决这个问题。
GitHub:https://github.com/microsoft/markitdown

它能转什么
MarkItDown 支持的格式,基本覆盖了日常遇到的所有文件类型:
• PDF → Markdown • Word(.docx) → Markdown • PowerPoint(.pptx) → Markdown • Excel(.xlsx) → Markdown • 图片(JPEG/PNG,支持 OCR 提取文字)→ Markdown • HTML → Markdown • 音频(自动语音转文字)→ Markdown • Outlook 邮件 → Markdown • CSV / JSON / XML → Markdown • ZIP 压缩包(批量处理)→ Markdown
并且会保留原文档的结构——标题层级、列表、表格、链接,都不会丢。
为什么是 Markdown
LLM 对 Markdown 的"理解力"远超纯文本。
OpenAI 的 GPT-4o 等主流模型,在训练时就接触了大量 Markdown 格式的数据,它们"天生"就懂 Markdown。你给模型喂一份排版清晰的 Markdown,比喂一份纯文本,它能提取的信息量差很多。
而且 Markdown 的 token 效率也更高——同样的内容,Markdown 占的 token 比 HTML 少得多。
怎么用
安装一行命令:
pip install 'markitdown[all]'命令行直接转:
markitdown example.pdf > output.mdPython 里调用:
from markitdown import MarkItDownmd = MarkItDown()result = md.convert("example.pptx")print(result.text_content)如果你需要更高质量的结果,还可以接入 Azure Document Intelligence 或 Azure Content Understanding,用云端 API 做更深度的文档解析。
来自微软 AutoGen 团队
MarkItDown 由微软的 AutoGen 团队开发(就是那个做多 Agent 框架的团队)。
从 2024 年底发布到现在,一年多时间拿到了 125K Star,8K+ Fork。社区还贡献了 OCR 插件、各种格式扩展,生态一直在长。
对于做 RAG、知识库、AI 应用的人来说,这可能就是那个"每天都要用"的工具。
GitHub:https://github.com/microsoft/markitdown
写在最后
在 AI 应用开发里,有一个常被低估的环节:数据准备。
模型越来越强,但如果喂给模型的数据格式乱、内容残缺,再强的模型也发挥不出来。
MarkItDown 做的就是:把各种乱七八糟的文档,变成 LLM 最能吸收的格式。
微软做这种"不起眼但天天用"的工具,确实有一手。
夜雨聆风