markitdown
150K+ Stars · 将任意文档一键转换为 Markdown
MIT 开源
LLM 友好
markitdown 是微软出品的一款轻量级 Python 工具,支持将 PDF、PowerPoint、Word、Excel、HTML、CSV、JSON、音频、视频等 数十种文件格式 统一转换为 Markdown 格式,是大模型文档处理管道中的核心基础设施。
⚙ 安装要求与过程
- Python 3.10 及以上版本
- 推荐使用虚拟环境(venv / uv / conda)
- pip 21.0+(用于安装可选依赖组)
# 全量安装(推荐)
pip install 'markitdown[all]'
# 命令行直接使用
markitdown document.pdf > output.md
# Python API 使用
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("document.pdf")
print(result.text_content)
pip install 'markitdown[pdf, docx, pptx]' # 仅 PDF/Word/PPT
pip install 'markitdown[youtube-transcription]' # 仅 YouTube 字幕
★ 核心功能
▶ 典型使用场景
在构建 RAG(检索增强生成)应用时,需要将企业内部的 PDF 手册、Word 文档、PowerPoint 课件统一转换为 Markdown,再切片嵌入向量数据库。markitdown 一条命令批量处理,保留标题层级和表格结构,大幅提升检索精度。
for f in docs/*.pdf; do
markitdown "$f" -o "md/${f%.pdf}.md"
done
将用户上传的任意格式文档(简历、合同、报告)转换为 Markdown 后传给 LLM 进行分析、摘要或信息提取。markitdown 的 Markdown 输出对 Token 消耗远低于原始二进制格式,降低成本。
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("contract.docx")
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role":"user","content":f"摘要:{result.text_content}"}]
)
💡 推荐理由
作为一名经常和 LLM 打交道的开发者,markitdown 已经成为我工具箱里的常驻成员。它的价值在于把”任意文档”变成”LLM 能理解的文本”,这在大模型应用开发中是一个高频且痛点的需求。
最让我惊喜的是它的格式保留能力——转换后的 Markdown 仍然保留表格结构、标题层级和链接,这直接决定了 RAG 检索的质量。相比之下,很多同类工具转换后就只剩纯文本了。
来自微软 AutoGen 团队的维护保证,加上 150K+ Stars 的社区验证,这款工具的可靠性和迭代速度都非常值得信赖。如果你正在做任何涉及文档处理的大模型应用,markitdown 绝对是不二之选。
由 AI 自动整理,更多开源项目介绍持续更新中 🚀









