能做什么
MarkItDown 是一个轻量级 Python 工具库,用于将各类文件转换为 Markdown,重点在于保留文档结构(标题、列表、表格、链接等),输出可供 LLM 和文本分析流水线消费。
支持转换的格式(按项目说明)包括:PDF、PowerPoint、Word、Excel、图片(EXIF 元数据与 OCR)、音频(EXIF 元数据与语音转写)、HTML、文本类格式(CSV、JSON、XML)、ZIP(遍历内部内容)、YouTube URL、EPub 等。
提供命令行与 Python API 两种使用方式,并支持 Docker 运行。
适用场景
- 为 LLM 或 RAG 类文本分析流程准备输入数据
- 将办公文档、网页、压缩包等异构格式统一转为 Markdown
- 通过插件或 Azure 服务扩展转换能力(OCR、结构化字段抽取、音视频处理)
使用条件与限制
- 需要 Python 3.10 至 3.14,建议使用虚拟环境。
- 通过 pip 安装,可用
[all]安装全部可选依赖,或按格式单独安装(如[pdf]、[docx]、[pptx]、[xlsx]、[xls]、[outlook]、[audio-transcription]、[youtube-transcription]等)。 - 输出面向文本分析工具,未必适合追求高保真的人类阅读文档转换。
- 插件默认禁用,需显式启用以列出或使用第三方插件。
- 部分能力依赖外部服务:Azure Document Intelligence、Azure Content Understanding(后者的音视频与结构化字段抽取为云服务,会产生计费 API 调用);图片描述与大模型相关能力需要自行提供
llm_client与llm_model。 - 安全方面:MarkItDown 以当前进程权限执行 I/O,可访问进程本身可访问的资源;在不可信环境中必须对输入做校验与限制,并优先调用最小范围的转换接口(如
convert_local()、convert_stream()、convert_response())。 - 仓库定位为可被集成的 Python 库,不接受 Web 服务、REST/HTTP API、前端或桌面/移动应用等额外应用形态的贡献。
来源与收录说明
AI 整理,已通过独立来源审核,收录于 2026-10-17。资料整理不代表运行实测,具体功能与使用条件以官方说明为准。
https://github.com/microsoft/markitdown ↗