markitdown

Python tool for converting files and office documents to Markdown.

Visit WebsiteView on GitHub
92.7k
Stars
+7724
Stars/month
3
Releases (6m)

Overview

markitdown 是一个轻量级 Python 工具,专门将各种文件格式转换为 Markdown,为 LLM 和文本分析管道优化。由 Microsoft AutoGen 团队开发,这个工具支持广泛的文件格式,包括 PDF、PowerPoint、Word、Excel、图像(带 OCR)、音频(带语音转录)、HTML、CSV、JSON、XML、ZIP 文件、YouTube URL 和 EPub 等。与传统的文本提取工具不同,markitdown 专注于保留重要的文档结构元素,如标题、列表、表格和链接,同时输出高度兼容 LLM 的 Markdown 格式。该工具的设计理念是 Markdown 格式对主流 LLM(如 GPT-4)极其友好,因为这些模型在训练中接触了大量 Markdown 文本,能够原生理解和生成 Markdown。此外,Markdown 格式在 token 使用上也很高效。markitdown 还提供 MCP(Model Context Protocol)服务器集成,可与 Claude Desktop 等 LLM 应用无缝协作。该工具采用流式处理,不创建临时文件,提高了性能和安全性。

Pros

  • + 支持超过 10 种文件格式,包括办公文档、图像 OCR 和音频转录,覆盖面极广
  • + 专为 LLM 优化的 Markdown 输出,保留文档结构的同时确保 AI 模型兼容性
  • + 提供 MCP 服务器集成,可直接与 Claude Desktop 等 AI 应用协作

Cons

  • - 版本间有重大变更,从 0.0.1 到 0.1.0 的 API 变化可能影响现有代码
  • - 需要 Python 3.10 或更高版本,对旧环境支持有限
  • - 主要面向机器分析而非人类阅读,可能不适合高保真度的文档转换需求

Use Cases

Getting Started

1. 安装:pip install 'markitdown[all]' 获取完整功能;2. 导入并创建转换器:from markitdown import MarkItDown, md = MarkItDown();3. 转换文件:result = md.convert('document.pdf') 并访问 result.text_content 获取 Markdown 文本