📄 文档处理 全难度 📦 community

markitdown

PDF/Word/Excel/图像/音频 → Markdown,专为 AI 分析设计。

📄 相关文章

📊 评分明细

📦 打包完整度
2.1 2.1 / 2.5
🎯 实用性
2.1 2.1 / 2.5
📖 文档清晰度
1.7 1.7 / 2
👥 社区影响力
1.3 1.3 / 1.5
🔗 集成度
1.3 1.3 / 1.5

🎯 适用场景

免费文档微软

markitdown 快速入门

一行命令把 PDF、Word、Excel、PPT、图片、音频全转 Markdown,直接喂给 AI 分析。

这是什么?解决什么问题?

markitdown 是 Microsoft 官方开源的格式转换工具,GitHub 上 84k+ Stars。它的核心能力极其简单:把各种”非 Markdown”格式的文件批量转成结构化 Markdown,直接喂给 LLM 做分析。 传统流程中,你想让 AI 帮你分析一份 PDF 合同、一份 Excel 报表、一份 Word 文档,通常要先手动复制粘贴,或者写复杂的解析脚本。markitdown 把这件事做成”一行命令”:

markitdown 合同.pdf > 合同.md

它支持 20+ 种格式:

  • 文档:PDF、Word(docx)、PowerPoint(pptx)、Excel(xlsx)、RTF、OpenDocument。
  • 图像:JPG、PNG、GIF(用 GPT-4V 提取文字和描述,可选)。
  • 音频:MP3、WAV(用 Whisper 转录,可选)。
  • 网页:HTML(保留结构)。
  • 数据:CSV、JSON、XML。
  • 电子书:EPUB。
  • 压缩包:ZIP(自动展开里面的文件)。 它解决的问题,和”AI 时代的文档工作流”直接相关:当你想让 AI 读 PDF 报告、对比 Excel 表格、转录会议录音时,markitdown 是最方便的”格式归一化”工具。 它适合的场景:把公司历史 PDF 文档喂给 RAG 系统、会议录音转写后让 AI 做总结、批量把 Excel 报表转 Markdown 入库、网页内容转 Markdown 永久存档。

准备工作

  1. Python 3.10+(markitdown 对 Python 版本有要求)。
  2. pip 安装:
pip install markitdown[all]

all 会装上所有可选依赖(PDF、Word、Excel、音频等)。 3. 验证安装:

markitdown --version

3 步快速上手

第 1 步:基本转换

把一份 PDF 转 Markdown:

markitdown 季度报告.pdf > 季度报告.md

或者直接管道喂给 LLM:

markitdown 季度报告.pdf | llm "请帮我总结这份报告的 3 个核心结论"

(假设你装了 LLM CLI 工具,比如 llm by Simon Willison。)

第 2 步:验证安装

markitdown README.md  # Markdown 转 Markdown,应该是 noop

正常返回 README 内容说明工具可用。

第 3 步:用 markitdown 跑第一个真实任务

任务 1:把整批 PDF 入库 RAG

# 批量转 docs/ 目录下所有 PDF 为 Markdown
for f in docs/*.pdf; do
markitdown "$f" > "markdown/${f%.pdf}.md"
done

任务 2:音频文件转录 + AI 总结

# 转录音频,需要先设置 OpenAI API Key
export OPENAI_API_KEY=sk-xxx
markitdown 会议录音.mp3 > 会议纪要.md

转出来的 Markdown 是带时间戳的对话文本,可以直接喂给 AI 做总结。 任务 3:Excel 转 Markdown 表格

markitdown 财务报表.xlsx > 财务报表.md

转出来是 Markdown 表格,结构保留得很好,直接喂 AI 就能让它做财务分析。 任务 4:批量压缩包处理

markitdown 项目文档.zip > 全部文档.md

ZIP 里的所有文件会被合并到一个 Markdown 里,每个文件用二级标题分隔。

常见踩坑

  1. PDF 扫描件识别失败。纯图片型 PDF 不会自动 OCR,需要 markitdown[pdf] 装上 PDF 文本提取依赖,或者先用其他工具 OCR。
  2. Excel 多 sheet 合并混乱。markitdown 默认把多 sheet 拼到一个表里,可能字段对不齐。Skill 建议用 --sheet 参数指定 sheet。
  3. 音频转录需要 API Keymarkitdown[audio] 默认用 OpenAI Whisper,需要 OPENAI_API_KEY 环境变量。
  4. 图像理解贵。用 GPT-4V 提取图片内容很贵,大量图片场景下成本高,Skill 建议设置预算限制。
  5. 中文 PDF 编码乱码。部分老旧 PDF 字体嵌入不规范,转出来是乱码,这种情况下用 pymupdf 替代 PDF 后端。
  6. 大文件内存爆掉。500MB 的 PDF 可能 OOM,Skill 建议分章节转换,或者先用流式处理。

初级用法

用法 1:RAG 文档入库。把公司所有 Word/PDF/PPT 批量转 Markdown,然后灌进向量数据库,做企业知识库问答。 用法 2:会议录音转写。把周会、月会、客户访谈的录音批量转录,再让 AI 自动生成会议纪要。 用法 3:网页存档。把博客、新闻、文档站批量下载转 Markdown,做长期存档,避免链接失效后内容丢失。

高级玩法

玩法 1:接 LLM Pipeline。把 markitdown 接进 LangChain / LlamaIndex 文档加载器,作为 RAG 的预处理步骤。 玩法 2:接 MCP Servermarkitdown 有官方的 MCP server,让 AI 编程助手直接在对话里调 markitdown 转换文件。 玩法 3:命令行批处理。写一个 convert.sh,把整个目录的文档批量转 Markdown,扔给 cron 定时跑,自动维护文档库。

小技巧

  1. --keep-data-uris 保留图片的 base64 编码,适合需要图片一起进 LLM 上下文的场景。
  2. --disable-tables 关闭表格识别,在某些 Excel 转换时表格识别反而破坏数据,关掉更稳。
  3. 音频转录用 -l zh 指定中文,Whisper 默认会”听”成英文,中文场景必须显式指定。
  4. PDF 转出来结构乱了,试试加 --pdf-backend=pymupdf,markitdown 内部支持切换 PDF 解析后端。
  5. 大批量转换用 GNU parallells *.pdf | parallel -j 4 'markitdown {} > {.}.md',4 核并行,4 倍速度。

参考链接

markitdown Skill 多维度简评

类别:文档处理 来源:microsoft/markitdown 定位:微软 markitdown —— PDF/Word/PPT/Excel/图片 → Markdown。


一、项目背景

MarkItDown 是微软发布的开源 Python 库,用于将各种文档格式转换为 Markdown。项目托管在 microsoft/markitdown,采用 MIT 许可证。其核心目标是将 Office 文档、PDF、图片等格式转换为 LLM 可直接消费的 Markdown 文本。

MarkItDown 发布后迅速获得关注,在 PyPI 上可通过 pip install markitdown 安装使用。


二、核心能力

能力说明
多格式支持PDF、Word (.docx)、PowerPoint (.pptx)、Excel (.xlsx)、图片(含 OCR)
结构保留转换时保留标题层级、列表、表格、链接等文档结构
MCP Server可作为 MCP(Model Context Protocol)服务器使用,供 AI Agent 调用
CLI 工具提供命令行接口:markitdown input.pdf > output.md
批量处理支持目录下多文件的批量转换
OCR 集成图片和 PDF 中的文字可通过 OCR 引擎提取

三、安装与使用

# Python 安装
pip install markitdown

# 命令行使用
markitdown document.pdf > output.md
markitdown presentation.pptx -o slides.md

# 作为 Python 库
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("document.docx")
print(result.text_content)

四、在 Agent 生态中的应用

MarkItDown 在 AI Agent 工作流中有以下典型应用:

  1. RAG 数据准备:将企业内部的 PDF/Word 文档批量转为 Markdown,导入向量数据库。
  2. 内容迁移:将旧文档系统内容转为 Markdown 格式,便于版本管理(Git)。
  3. LLM 上下文输入:转换后的 Markdown 直接作为 LLM 的上下文,比原始二进制格式更高效。

在 Claude Code 的 Skill 生态中,有社区开发者将 MarkItDown 封装为 Agent Skill,让 AI 可以直接调用转换功能。


五、与同类工具对比

工具特点
pandoc功能最全的文档转换器,但安装体积较大(依赖 Haskell)
docling (IBM)专注文档理解和结构化提取,侧重 AI pipeline
MarkItDown轻量、专为 Markdown 转换设计、MCP 原生支持

六、注意事项

  • OCR 功能依赖外部引擎(如 Tesseract),需要单独安装。
  • 复杂 PDF(多栏排版、扫描件)的转换效果取决于文档质量。
  • 本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。

参考资料

📊 评分与标签

评分说明

总分 8.5/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-07)

  • GitHub: microsoft/markitdown ★164k, 🔱11.6k, 380 Issues, 454 PRs, 309 Commits
  • PyPI: markitdown 12,697,712 次月下载(2026-07-07)
  • 许可证: MIT
  • 维护者: Adam Fourney(微软首席研究员)
  • 最新版本: 0.1.6(2026-05-27 发布)

📦 可安装性 2.3/2.5

  • 安装方式:pip install markitdown 一行命令完成安装,同时提供 CLI 和 Python API 两种使用方式
  • 纯 Python 库,核心依赖仅 beautifulsoup4、charset-normalizer、magika 等 6 个包,OCR/Excel/PPT 等高级功能通过 extras 按需安装
  • 对比 pandoc:pandoc 依赖 Haskell 运行时安装体积大,markitdown 纯 pip 安装更轻量
  • 对比 docling(IBM):docling 依赖较重含模型文件,markitdown 核心包仅几 MB

🎯 实用性 2.2/2.5

  • 核心能力:将 PDF、Word、PPT、Excel、图片、音频等 10+ 种格式转换为 Markdown,专为 LLM 上下文输入设计
  • MCP Server 模式可被 AI Agent 直接调用,CLI 模式 markitdown input.pdf > output.md 一行完成转换
  • 对比 pandoc:pandoc 支持更多格式(LaTeX/EPUB 等)但不支持 OCR 和 MCP,markitdown 更适合 AI 工作流
  • 对比 docling(IBM):docling 侧重文档结构化提取和表格理解,markitdown 侧重格式转换为 Markdown,定位互补

📖 文档质量 1.5/2.0

  • README 含安装方式、CLI 用法、Python API 示例、Docker 用法、MCP Server 集成方式,文档结构完整
  • PyPI 页面含完整依赖列表和 extras 说明(docx/pdf/pptx/xlsx/audio-transcription 等可选依赖)
  • 缺少复杂 PDF(多栏排版、扫描件)转换效果的详细对比基准,OCR 效果文档不足
  • 对比 pandoc:pandoc 有完整用户手册和格式对照表,markitdown 文档更精简
  • 对比 docling:docling 含学术论文和技术白皮书,markitdown 文档偏实用但深度不足

👥 社区活跃 1.3/1.5

  • GitHub microsoft/markitdown ★164k, 🔱11.6k,微软官方维护,月下载量 1,269 万次
  • 309 次提交、454 个 PR、380 个 Issues,社区贡献活跃,最近提交 2 个月前(版本 0.1.6 发布)
  • 对比 pandoc:pandoc(★35k+)Star 数远低于 markitdown(★164k),markitdown 社区关注度更高
  • 对比 docling:docling(★25k+)Star 数约为 markitdown 的 1/6,markitdown 社区规模远超

🔗 兼容性 1.2/1.5

  • 兼容 Python 3.10-3.13,支持 CPython 和 PyPy,可通过 MCP Server 被任何支持 MCP 的 AI Agent 调用
  • 作为 Python 库可集成到任何 Python 项目,CLI 模式可被 Shell 脚本调用,MCP 模式可被 Claude Code 等 Agent 调用
  • OCR 功能依赖外部引擎(如 Tesseract),需单独安装,跨平台兼容性受 OCR 引擎限制
  • 对比 pandoc:pandoc 支持 40+ 格式且跨平台,markitdown 格式覆盖较少但 AI 场景兼容性好
  • 对比 docling:docling 原生支持 Python 且含模型推理,markitdown 更轻量兼容性更好

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 免费: MIT 开源许可,完全免费。来源:LICENSE
  • 文档: 面向文档处理场景,PDF/Word/PPT/Excel/图片转 Markdown。来源:markitdown README
  • 微软: 微软官方发布的开源工具。来源:microsoft/markitdown

📋 来源与核验记录