markitdown

把各种文档一键转成 Markdown,喂给 AI 直接吃

markitdown 是微软开源的一个 Python 工具,用于将各种文件和办公文档转换为 Markdown 格式。它支持 PDF、Word、Excel、PowerPoint、图片(通过 OCR)、音频(通过语音转文字)、HTML 等常见格式,并能够调用 OpenAI 等大模型进行内容理解与摘要。该工具旨在解决非结构化文档难以被大语言模型直接消费的问题,通过统一转换为 Markdown,使得文档能够无缝接入 LangChain、AutoGen 等 AI 应用框架,作为数据预处理管道的一部分。其核心能力包括:多格式解析、OCR 识别、语音转写、以及可扩展的插件机制(如 autogen-extension),方便开发者定制转换逻辑。markitdown 特别适合需要将大量办公文档快速转换为结构化文本,以用于 RAG(检索增强生成)、知识库构建、模型微调数据准备等场景,显著提升了文档处理的自动化程度和 AI 应用的兼容性。

开源 free 办公效率
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 186415
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类办公效率
开发团队microsoft
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型autogen,autogen-extension,langchain,markdown,microsoft-office,openai,pdf
GitHub 星标★ 186415
30天Star增速
HF 下载量
上线时间2024-11-13 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数18

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 3.12(README 示例使用 python=3.12 创建环境)
  • pip(用于安装 markitdown 包)
  • 可选:Docker(使用容器方式构建/运行镜像)
  • 可选:hatch(运行测试时需要)

安装与启动步骤

  1. 1用 pip 安装

    直接通过 pip 安装 MarkItDown,方括号中的 all 表示安装全部可选依赖(PDF、OCR、音频等)。

    pip install 'markitdown[all]'
  2. 2创建虚拟环境

    可选。README 提示在虚拟环境中应使用 uv pip install 而非 pip install;Anaconda 用户可按下方命令建环境。

    conda create -n markitdown python=3.12
    conda activate markitdown
  3. 3从源码安装

    可选。克隆官方仓库后在本地以可编辑模式安装 markitdown 包,注意路径是 packages/markitdown。

    git clone git@github.com:microsoft/markitdown.git
    cd markitdown
    pip install -e 'packages/markitdown[all]'
  4. 4构建 Docker 镜像

    可选。在仓库根目录(含 Dockerfile 的位置)构建名为 markitdown:latest 的镜像。

    docker build -t markitdown:latest .
  5. 5转换文件为 Markdown

    用 Docker 镜像把本地 PDF 转成 Markdown:输入重定向进容器,输出重定向写入 output.md。把 ~/your-file.pdf 换成你自己的文件路径。

    docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md
  6. 6运行测试与检查

    可选。进入 markitdown 包目录,安装 hatch 后进入其 shell 执行测试;提交 PR 前可运行 pre-commit 检查。

    cd packages/markitdown
    pip install hatch
    hatch shell
    hatch test
    pre-commit run --all-files

如何确认成功

执行转换命令后,当前目录下的 output.md 中能看到原文档转换出的 Markdown 内容(标题、列表、表格等),即表示安装与运行成功。

常见问题

Q:安装时报缺少依赖或某些格式不支持怎么办?

A:使用 pip install 'markitdown[all]' 安装全部可选依赖;只装基础包则 PDF、OCR、音频转写等能力可能不可用。

Q:可以用 Anaconda 管理环境吗?

A:可以。README 给出 conda create -n markitdown python=3.12 与 conda activate markitdown 两条命令创建并激活环境。

Q:不想装 Python 环境,能直接用吗?

A:可以走 Docker:先在仓库根目录 docker build -t markitdown:latest .,再用 docker run --rm -i 重定向输入输出转换文件。

Q:转换结果适合直接给人看吗?

A:README 说明输出主要用于文本分析工具消费,虽通常可读,但并非面向人工阅读的高保真文档转换方案。

注意事项

  • MarkItDown 以当前进程的权限执行 I/O,会访问该进程本身可访问的资源;在不可信环境中务必清理输入,并调用最小范围的 convert_* 函数(如 convert_stream()、convert_local())。
  • 在虚拟环境中安装时,README 强调使用 uv pip install 而不是 pip install。
  • README 未给出 Python API 的完整调用样例和 CLI 参数,实际编码请以官方文档与仓库说明为准。

核心亮点

  • 支持 PDF、Office、图片、音频等 10+ 种格式,覆盖日常办公文档
  • 可调用 OpenAI 等大模型,对图片和音频进行智能内容提取
  • 与 LangChain、AutoGen 等主流 AI 框架无缝集成,即插即用

不足之处

  • 转换复杂排版(如表格嵌套、多栏)时可能丢失部分格式细节
  • 对非英文文档的 OCR 和语音识别效果依赖底层模型,可能不稳定
  • 文档/社区待观察:部分高级功能(如自定义模型接入)需查看源码

适用场景

  • 将企业知识库中的 PDF/Word 文档批量转为 Markdown,供 RAG 检索
  • 在 AI 应用中预处理用户上传的附件,提取文本用于摘要或问答
  • 将演示文稿或电子表格内容快速整理为结构化笔记,供 LLM 分析

替代项目

pandoc、MinerU、docx2txt

项目介绍

markitdown 是办公效率领域的开源项目,由 microsoft 开发,2024 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(186,415)位列前 1%,在办公效率分类的 142 个项目里位列前 1%。

近 44 天,它的 GitHub 星标从 172,812 增加到 186,415,净增 13,603。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:将企业知识库中的PDF/Word文档批量转为Markdown,供RAG检索。同类可对比的替代方案包括 pandoc、MinerU、docx2txt。

上一篇:vexa

下一篇:PyMuPDF

同类项目推荐

sunshine-control-panel 开源

一站式管理游戏库、监控内存,AI 助手加持,让大屏启动更高效。

Sunshine Foundation 大屏桌面管理器 | Tauri + Vue 3,游戏库管理、米塔AI助手、内存监控···

★ 444 2026-08-09
Stirling PDF 开源

本地部署 PDF 工具箱

#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

★ 92816 2026-08-19
obsidian-md2wechat 开源

一键将 Obsidian 笔记排版成公众号文章,告别手动调格式

Obsidian → WeChat | Obsidian 插件一键排版发布到微信公众号,键排版发布到微信公众号:···

★ 318 2026-08-09
pdf2md 开源

浏览器里直接把 PDF 变成 Markdown,不用上传,隐私安全。

Browser based tool to convert PDFs to Markdown

★ 381 2026-08-09