一个 Python 库覆盖 14 种格式专为喂给大模型而生的轻量转换器。手头一堆 PDF 论文、Word 报告、Excel、PPT外加截图和录音想一次性喂给 LLM 做 RAG 或问答——市面上的工具要么只支持单一格式要么装一堆依赖报红字要么调云端 API 把敏感文件送出去。MarkItDown微软开源MIT就是为这一痛点准备的pip install markitdown[all]装好14 种格式md.convert(file.xxx)拿到 LLM 友好的 Markdown。GitHubGitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown. · GitHubMIT14.5k★微软维护作者Adam Fourney 等Microsoft ResearchPyPImarkitdown实测 0.1.8Python 3.10–3.14 均可装实测环境Python 3.14 / Windows 11 / PowerShell git-bash2026-09 全部命令实跑验证相关教程与核心文献资源链接与本文关系官方 READMEhttps://github.com/microsoft/markitdown能力清单 安装命令来源PyPI 包页markitdown · PyPI版本、依赖清单VS Code 扩展MarkItDown - Visual Studio Marketplace不写代码的可选入口三方横评Docling, MarkItDown and Textract: Understanding the New Document-Processing Landscape | Technology Tales本文横评骨架实战评测MarkItDown Review: Microsofts PDF-to-Markdown for LLMs — andrew.ooo6 工具数据源一、痛点LLM Pipeline 进的格式沼泽做 RAG 第一步永远是把乱七八糟的文件转成 LLM 吃得下的 Markdown。这步卡住后面 embedding、向量库、agent 全是空谈PDF扫描版要 OCR复杂版式表格一抽就乱Word / Excel / PPT不同版本 Office XML 命名空间差别大自写脚本维护成本高图片、录音传统 PDF 工具压根不覆盖敏感文件云端 APILlamaParse、Azure Document Intelligence合规不让出网。MarkItDown 的解法一个 Python 库、一套统一 API、14 格式一口气转。不是每种格式都做到极致但胜在覆盖面广、安装一次解决 80% 场景。二、MarkItDown 能转什么、不能转什么2.1 实测覆盖2026-09 README optional-depspip install markitdown[all]一次装齐后支持以下格式按 optional-deps 分组格式extra 依赖来源库PDF[pdf]pdfminer.sixpdfplumberWord (.docx)[docx]mammothlxmlPowerPoint (.pptx)[pptx]python-pptxExcel (.xlsx / .xls)[xlsx]/[xls]pandasopenpyxl/xlrd图片EXIF OCR[ocr]或markitdown-ocr插件exiftool可选音频转录[audio-transcription]pydubSpeechRecognitionHTML内置beautifulsoup4markdownifyCSV / JSON / XML内置内置解析YouTube 链接[youtube-transcription]youtube-transcript-apiEPUB内置直接解析ZIP迭代内部内置递归调用Outlook .msg[outlook]olefile2.2 不能做什么扫描 PDF 的 OCR默认不带——要装markitdown-ocr插件pip install markitdown-ocr复杂版式 PDF 的表格用启发式抽取遇到双栏、合并单元格、嵌套表容易错位——这是 MarkItDown 的明确弱点高保真排版还原项目自己承认may not be the best option for high-fidelity document conversions for human consumption目标是喂 LLM不是出印刷品视频目前只有音频转录视频转写得走 Azure Content Understanding 云端模式。三、Windows 上跑起来实测MarkItDown没有独立的 .exe 安装器但有几种 Windows 友好的入口3.1 方案 Apip 直接装最直接# 1. 准备 Python 3.10 环境conda 或 venv 都行 conda create -n markitdown python3.11 conda activate markitdown # 2. 装齐所有离线格式Azure / OCR 不装 pip install markitdown[pdf,docx,pptx,xlsx,html] # 3. CLI 验证 markitdown --version markitdown test.pdf -o test.md实测Python 3.14 venv Windows 112026-09markitdown --version输出markitdown 0.1.8命令直接进 PATH。7 种格式逐一实跑全通PDF文本抽取/ DOCX段落还原/ XLSX转 Markdown 表格/ PPTX!-- Slide number -- 标题 要点/ HTML标题 表格/ CSV表格/ JSON原样保留。3.2 方案 BVS Code 扩展不想敲命令时社区有封装好的 VS Code 扩展MarkItDown for VS Codemarketplace 链接见 〇节右键文件 → Convert with MarkItDown自动建独立 Python venv 隔离调 Microsoft 原版库输出.md到同目录。适合不写 Python 的同事。3.3 Python API 一行代码from markitdown import MarkItDown md MarkItDown() # 本地文件 / URL 一个入口字符串自动分流路径→convert_localURL→convert_uri result md.convert(proposal.docx) print(result.markdown) # 推荐写法 print(result.text_content) # 软废弃别名 # URL 也可显式调 convert_uri()convert_url() 是其旧别名 result md.convert_uri(https://example.com/paper.pdf) # 写文件 with open(proposal.md, w, encodingutf-8) as f: f.write(result.markdown)返回的对象是DocumentConverterResult核心字段.markdown旧名.text_content软废弃.title可选。完整 API 面板实测就 6 个方法convert/convert_local/convert_stream/convert_uri/convert_url别名/convert_response——没有convert_remote早期网传写法有误实测hasattr(md, convert_remote) False。import markitdown时 magika 嗅探模型一次性加载约 0.9 秒之后实例化 0.05 秒、单文件转换 0.1 秒。3.4 常见踩坑PDF 转出来空扫描版——装pip install markitdown-ocr或用--use-docintel需 Azure endpoint图片 base64 太长加--keep-data-uris保留否则默认截断。四、横评MarkItDown vs Docling / Unstructured / Pandoc四个工具都解决文件→结构化文本但设计目标完全不同工具主要维护方协议核心定位格式覆盖入门难度PDF 表格保真本地离线MarkItDownMicrosoftMITLLM 喂料轻量 Markdown14⭐⭐⭐✅DoclingIBM Research → LF AIMIT文档结构解析 JSON 输出6PDF 强⭐⭐⭐⭐⭐⭐✅Unstructured.ioUnstructured Inc.Apache 2.0企业 RAG 流水线chunking 内建20⭐⭐⭐⭐⭐⭐✅PandocJohn MacFarlaneGPL万能文档格式互转学术30⭐⭐⭐PDF 输出弱✅数据来源Andrew.ooo 2025 实测横评 technologytales 2025 三工具对比 各项目官方 README均于 2026-09 复核。4.1 三个问题的三种答法最关键的差异横评的核心不是哪个功能多而是你到底要问什么问题这个文件里有什么文字→ Pandoc / textract / MarkItPlainText 都行这个文件怎么变成 LLM 友好的 Markdown→ MarkItDown 最直接这个文档的结构章节层级、表格、图表位置我都要保留→ Docling 输出 JSON Markdown 双产物最强。4.2 选型决策树你的场景是什么 ├── 一次性把 50 份混杂格式PDF/Word/PPT/Excel喂给 LLM │ └── MarkItDown ✅pip 装一次全覆盖 ├── 处理大量复杂学术 PDF双栏、公式、嵌套表 │ └── Docling ✅布局分析 DocTags 输出代价是慢 重 ├── 企业 RAG 要 chunk metadata 多语言 │ └── Unstructured.io ✅商业版 API chunking └── 学术写作要把 Markdown 转成 Word/LaTeX/PDF └── Pandoc ✅转换之王但反向 PDF→MD 弱经验法则先 MarkItDown 起手PDF 表格不满意再补 Docling需要 chunking 上 Unstructured只转换不解析用 Pandoc。4.3 性能与体积工具pip 装好后体积单 PDF 处理速度中位数MarkItDown [pdf]~150 MB1-3 秒Docling 全部模型~2 GB含 ML 模型5-20 秒CPU/ 1-3 秒GPUUnstructured~300 MB2-5 秒Pandoc~50 MB LaTeX几乎瞬时非 PDF数据来源Andrew.ooo 2025 实测MarkItDown 体积仅算[pdf]必装依赖OCR/Azure 扩展另算。五、什么时候别用 MarkItDown学术 PDF 要保公式 双栏 图表 caption→ Docling 更稳企业级 chunking 多语种元数据→ Unstructured 商业版省事要 Word/LaTeX 输出不是输入→ Pandoc纯 OCR 任务→ Tesseract / PaddleOCR 直接做MarkItDown 只是封装。展望markitdown-ocr插件正在成熟可能升为默认离线多模态图像/音视频语义理解是社区主流方向PDF 表格保真README 已承认是 heuristic未来或集成 Docling 作为 fallbackMCP 集成已有markitdown-mcp包让 Claude/Cursor 等 agent 直接调用转换。系列导航专栏全集Agent智能体系列更多专栏蛋白 / 多肽分子模拟 / 动力学分子对接 / CADD / 工具其他开源蛋白结构推理预测分子模拟基础UCSF DOCK系列agent智能体系列开源蛋白生成方法实践分子动力学模拟-AmberrDock系列化学大模型介绍2025蛋白药物设计-原理与案例剖析分子动力学模拟-GromacsLeDock系列我胡师兄说药开源多肽设计模型和方法实践結合自由能CADD中的机器学习模型siRNA药物设计模型开源多肽性质预测高效计算基本配置小分子药物设计-原理与案例剖析ASO药物设计模型多肽药物设计-原理与案例剖析作用于DNA/RNA的药物设计实践开源小分子生成和设计实践开源药代动力学模拟软件