MarkItDown 是一款轻量级 Python 工具,用于将各类文件转换为 Markdown 格式,以供大语言模型(LLMs)及相关文本分析流水线使用。尽管其输出结果通常具备一定的可读性,对人类友好,但该工具的设计初衷是供文本分析工具处理 —— 因此若需高还原度地转换文档以满足人类阅读需求,它未必是最佳选择。
但是在当下,做个人知识库、AI办公、内容整理的朋友,我强烈推荐微软开源的MarkItDown,不管是 PDF、Word、PPT、Excel 这类办公文档,还是图片、音频、HTML、CSV、ZIP 压缩包,甚至是 YouTube 链接、EPub 电子书,它都能一键转换成结构完整的 Markdown。它最大的优势就是天生为LLM而生的,他能准确的保留标题、列表、链接这些对AI理解至关重要的内容。主流大模型本来就对 Markdown 支持最好、token 利用率更高,用 MarkItDown 预处理后的文档,喂给 GPT、Claude 这些模型时,信息提取更准、理解更稳、还省 token,比直接上传原格式效率高太多。
采用MIT开源协议
DocumentConverter 类接口基于文件流(file-like streams)读取数据,不再生成临时文件,提升了处理效率与安全性(插件/自定义转换器需适配此接口)。[all])或按需安装,避免冗余依赖冲突。前置要求
安装方式
1. PyPI 一键安装(含所有可选依赖):
pip install 'markitdown[all]'2. 源码安装(适合开发/定制):
git clone git@github.com:microsoft/markitdown.git
cd markitdown
pip install -e 'packages/markitdown[all]'使用方式 命令行(CLI) 支持多种调用形式,简单易用:
1. 直接转换并输出到终端/重定向:
markitdown path-to-file.pdf > document.md2. 指定输出文件:
markitdown path-to-file.pdf -o document.md3. 管道传参(支持标准输入):
cat path-to-file.pdf | markitdown扩展能力 仓库包含多个子包,扩展了核心功能:
markitdown-mcp:提供 MCP(Model Context Protocol)服务器,可集成到 Claude Desktop 等 LLM 应用;markitdown-ocr:聚焦图片 OCR 相关的转换能力;markitdown-sample-plugin:提供插件开发示例,支持自定义转换器扩展格式适配。Github开源地址:https://github.com/microsoft/markitdown
综上,MarkItDown 是面向 LLM 场景的通用文件转 Markdown 工具,兼顾易用性、扩展性与 LLM 适配性,适合需要将多格式文件转换为结构化、高效 Token 格式的文本分析/LLM 交互场景。