Mindket

MarkItDown 文件转 Markdown 工具

新上架第 2 版 · 更新于
星标194k

概览

微软出品的免费开源 Python 工具,把 PDF、Word、Excel、PowerPoint 等文件转成适合大模型读取的 Markdown。安装说明覆盖命令行、Python API、MCP 服务器、Docker 和 Azure 选项。

MarkItDown 文件转 Markdown 工具 是一款 GitHub 上的开源项目,属于开发类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • 命令行:用 pip 安装的 markitdown 命令
  • Python:MarkItDown 类,带 convert()、convert_local() 和 convert_stream()
  • MCP 服务器:markitdown-mcp,支持 STDIO、Streamable HTTP 或 SSE,文档给了 Claude Desktop 的步骤
  • Docker:用仓库里的 Dockerfile 构建镜像,通过标准输入喂文件
先运行
python -m venv .venv
source .venv/bin/activate
pip install 'markitdown[all]'

平台

Claude Desktop桌面应用
Docker容器

关于

它是什么

MarkItDown 是微软出品的轻量级 Python 工具,把各种文件转成 Markdown,供大模型和文本分析流程使用。它的 README 说,它会尽量保留重要的结构,包括标题、列表、表格和链接。输出是给文本分析工具读的。README 提醒,如果需要给人看的高保真副本,它可能不是最好的选择。你可以在命令行里运行它,在 Python 里调用它,也可以把它当作 MCP 服务器,让智能体来调用。

  1. 你把一个文件、一个网址或一个数据流交给它
  2. 对应这种格式的转换器读取内容
  3. 标题、列表、表格和链接变成 Markdown
  4. 你保存文本,或者交给你的大模型

适合谁

做大模型应用或搜索索引、需要把文档喂进去的开发者,以及想拿到 Office 文件里的文字、又不想给每种格式各写一个解析器的人,适合用它。如果你需要给人看的、忠实还原版面的副本,可以不用它。

谁在用,怎么用
行业谁在用怎么用例子
AI 和数据团队搭建大模型流程的开发者在建索引或写提示词之前,先把报告和演示文稿转成 Markdown一位开发者把一个文件夹里的 Word 文件和幻灯片转好,再给文字建搜索索引。
分析和研究用表格和 PDF 做分析的分析师把工作簿或 PDF 转成 Markdown 文字和表格,交给大模型一位分析师转好一个工作簿,然后向大模型提问,问的是其中的表格。
媒体和内容手上有音频、图片和视频链接的团队从图片、音频文件和 YouTube 网址里取出文字一位制作人把一个 YouTube 链接转成文字,再搜索说话人说过的话。
智能体开发要让智能体读文件的开发者运行 markitdown-mcp,让智能体调用 convert_to_markdown一位开发者把服务器加进 Claude Desktop,让它读挂载文件夹里的一个 PDF。

用在哪里

制作方的文档写了下面这些途径,工具包里每一种都有一页说明。

  • 命令行:用 pip 安装的 markitdown 命令
  • Python:MarkItDown 类,带 convert()、convert_local() 和 convert_stream()
  • MCP 服务器:markitdown-mcp,支持 STDIO、Streamable HTTP 或 SSE,文档给了 Claude Desktop 的步骤
  • Docker:用仓库里的 Dockerfile 构建镜像,通过标准输入喂文件
  • Azure:用 Document Intelligence 或 Content Understanding 做云端转换
  • 插件:第三方转换器,以及一个用大模型读取图片里文字的插件

README 列出的输入有 PDF、PowerPoint、Word、Excel、图片、音频、HTML、CSV、JSON、XML、ZIP 文件、YouTube 网址和 EPub,后面还写了“等等”。

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹,上面每条途径都有一页。主要途径是在虚拟环境里用 pip 安装。

先准备好这些
需要说明
Python3.10 到 3.14。README 建议用 venv、uv 或 conda 建一个虚拟环境
可选的扩展[all] 装上所有格式。也可以只选几个,比如 [pdf, docx, pptx]
大模型客户端只有图片描述和 OCR 插件需要:一个兼容 OpenAI 的客户端,和一个能读图片的模型
Azure 资源只有 Document Intelligence 或 Content Understanding 需要:它的端点。Document Intelligence 在设置了 AZURE_API_KEY 时用它,否则用 DefaultAzureCredential。README 没有写 Content Understanding 用什么凭据
Docker只有 Docker 镜像和 MCP 服务器的 Docker 途径需要
  1. 建一个虚拟环境并激活它。
  2. 安装这个包,带上所有可选格式。
  3. 对一个文件运行它,看结果。
python -m venv .venv
source .venv/bin/activate
pip install 'markitdown[all]'

如果只想装部分格式,就把它们写出来。下面这行只装 PDF、Word 和 PowerPoint 的依赖。

pip install 'markitdown[pdf, docx, pptx]'

如何使用

把一个文件交给这个命令。它把 Markdown 写到标准输出,或者写到你用 -o 指定的文件里。它也能从管道读取。

markitdown path-to-file.pdf > document.md
markitdown path-to-file.pdf -o document.md
cat path-to-file.pdf | markitdown

在 Python 里,同样的转换只要四行。

from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.markdown)

示例

你有一份幻灯片 deck.pptx,想让大模型回答跟它有关的问题。装好包之后,运行:

markitdown deck.pptx -o deck.md

打开 deck.md。README 说 MarkItDown 力求保留标题、列表、表格和链接这类结构,所以这些文字可以直接粘进聊天或索引。想要幻灯片里图片的描述,README 的图片示例会传入一个大模型客户端和一个模型名。

新手与专家

新手:Markdown 是只带少量标记的纯文本,标记用来表示标题、列表和表格。README 说,主流大模型天生就“会说” Markdown,而且 Markdown 的写法很省 token。Office 文件和 PDF 不是纯文本。MarkItDown 读取它们,把文字连同结构写出来。先在命令行里一次转一个文件,看过结果再往上搭东西。

专家:convert() 能接收本地文件、远程 URI 和字节流,所以 README 要你用最窄的那个调用:本地文件用 convert_local(),自己先 requests.get() 之后用 convert_response(),要完全控制就用 convert_stream()。插件通过 markitdown.plugin 入口点和一个 register_converters() 函数来注册转换器。OCR 插件把它的转换器注册在优先级 -1.0,排在优先级 0.0 的内置转换器前面。

Document Intelligence 接受模型 ID、分析附加功能和查询字段。返回结构化字段的模型,会把这些字段放进 YAML 前置内容。Content Understanding 按文件类型选分析器,也可以用 cu_analyzer_id 指定一个。它的 cu_file_types 选项限制哪些格式走云端。

注意事项

README 的对照表把内置转换器的文档转换列为离线,成本列为“Local compute only”。远程 URI 和 YouTube 网址要通过网络获取,README 也没有说音频转录是否离线运行。下面这些选项会扩大它能碰到的范围。

  • 你的权限:README 说,MarkItDown 以当前进程的权限做 I/O,就像 open() 或 requests.get()。在不可信的环境里要清理输入。在托管或服务端应用里,要限制文件路径、URI 协议和网络目的地
  • MCP 服务器:它没有身份验证,以启动它的用户身份运行。它的工具能读那个用户能读的任何文件,也能从网络取数据。它默认绑定到 localhost,README 说不要把它绑到其他接口上
  • 云端和大模型调用:Document Intelligence 和 Content Understanding 是计费的 Azure 调用,会把你的文件发给 Azure。大模型客户端会把图片发给你设置的模型。OCR 插件会发送每一张嵌入的图片,扫描版 PDF 的每一页也会以 300 DPI 渲染成整页图片发送
  • 适用范围:输出是给文本分析工具用的。README 说,需要给人看的高保真转换时,它可能不是最好的选择
  • 插件:插件默认关闭。MCP 服务器的 Dockerfile 把 MARKITDOWN_ENABLE_PLUGINS 设为 True
  • 版本:README 描述的是 main 分支。2026 年 11 月 3 日,MCP 包在 PyPI 上的页面只列出 alpha 版本
  • 使用数据:README 没有提到,制作方的 Dockerfile 里设置了 ORT_DISABLE_TELEMETRY=1
  • 卸载:README 没有给出卸载步骤。可以删掉你专门为它建的虚拟环境,或者对每个包用 pip 自己的卸载
  • 许可证:MIT。LICENSE 文件写的是“Copyright (c) Microsoft Corporation.”微软的商标条款适用于它的名称和标志

README 和文件

README

MarkItDown:安装说明

这个工具包里只有安装说明,由 Mindket 编写。MarkItDown 本身用 pip 从 PyPI 安装,也可以从微软仓库的源码安装:https://github.com/microsoft/markitdown

这些说明不是微软写的,也没有得到微软的认可。README 把 MarkItDown 描述为“a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.”,意思是:一个轻量级的 Python 工具,把各种文件转成 Markdown,供大模型和相关的文本分析流程使用。仓库是 https://github.com/microsoft/markitdown ,它的 README 是 https://github.com/microsoft/markitdown/blob/main/README.md

许可证:MIT。LICENSE 文件是 MIT 许可证的文本,写着“Copyright (c) Microsoft Corporation.”,见 https://github.com/microsoft/markitdown/blob/main/LICENSE

README 描述的是仓库 main 分支的内容,不是某个 PyPI 发布版本。装好之后,先确认你要用的选项在你装的版本里确实有。

会安装什么

事先需要准备

  • Python 3.10 到 3.14。README 建议用虚拟环境,可以用 python -m venv、uv 或 conda 来建。包的 pyproject.toml 写的是 >=3.10,<3.15。来源见 https://github.com/microsoft/markitdown/blob/main/packages/markitdown/pyproject.toml
  • 走 Docker 途径的话,要有 Docker。
  • 用 Azure Document Intelligence 或 Azure Content Understanding,要有一个 Azure 资源和它的端点。Document Intelligence 在设置了 AZURE_API_KEY 时用它,否则用 DefaultAzureCredential。README 没有写 Content Understanding 用什么凭据。见 setup/azure.md。
  • 要图片描述或 OCR 插件,要有一个兼容 OpenAI 的客户端和一个能读图片的模型。见 setup/python-api.md 和 setup/plugins-and-ocr.md。

主安装命令

pip install 'markitdown[all]'

来源见 https://github.com/microsoft/markitdown/blob/main/README.md

各平台的说明

  • setup/command-line.md:安装、markitdown 命令、可选扩展和插件
  • setup/python-api.md:MarkItDown 类、用大模型描述图片,以及该用哪个 convert_* 调用
  • setup/mcp-server.md:markitdown-mcp 的 STDIO、Streamable HTTP 和 SSE 方式,在 Docker 里运行,以及在 Claude Desktop 里使用
  • setup/docker.md:命令行用的 Docker 镜像
  • setup/azure.md:Azure Document Intelligence 和 Azure Content Understanding
  • setup/plugins-and-ocr.md:第三方插件、OCR 插件和示例插件

制作方没有给 Claude Code、Codex 或 Cursor 写步骤。能运行 shell 命令的编程智能体,可以运行 setup/command-line.md 里的命令。这一句是 Mindket 的说明,不是制作方的。

更新或卸载

README 没有给出更新或卸载的步骤。用 pip 安装的包,可以对每个包名使用 pip 自带的更新和卸载。如果你专门为 MarkItDown 建了一个虚拟环境,删掉它的文件夹就会移除里面的所有东西。这两句是 Mindket 的说明。

使用数据和对外连接

README 没有提到使用数据。仓库里的两个 Dockerfile,主镜像的和 MCP 服务器的,都设置了 ORT_DISABLE_TELEMETRY=1。来源见 https://github.com/microsoft/markitdown/blob/main/Dockerfile 和 https://github.com/microsoft/markitdown/blob/main/packages/markitdown-mcp/Dockerfile

以下是文档写明 MarkItDown 会联网的情况:convert() 接受远程 URI,YouTube 转录扩展会取视频的字幕文字,Azure 转换会把文件发到你的 Azure 端点,大模型客户端会把图片发给你配置的模型。README 没有说音频转录([audio-transcription] 扩展)是在本机运行还是调用在线服务。README 的“Security Considerations”一节讲了其中的第一种。来源见 https://github.com/microsoft/markitdown/blob/main/README.md

来源

文件
README.md  5 KB
setup/azure.md  6 KB
setup/command-line.md  3 KB
setup/docker.md  2 KB
setup/mcp-server.md  5 KB
setup/plugins-and-ocr.md  5 KB
setup/python-api.md  3 KB

7 个文件,共 30 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

kianworkkShow HN:Free Online Tool to Experience Microsoft's MarkItdown15 分 · 8 条回复Fernando FreireSerendipitously saw this last week, tried it, and it got me most of the way there. For our workload it made more sense to use markitdown[0] -> Luna and we still realized the cost savings. [0]: github.com/microsoft/ma...2 赞@liu_zhuo86823GitHub find: Microsoft's MarkItDown. It turns PDFs and Office files into Markdown for LLM and text-analysis workflows. Useful when your input is a document, not plain text. Check conversion quality on your own files. https://t.co/jWbAVE4SqtrluciaMicrosoft Markitdown jumped on the MCP bandwagonThis is quite cool https://github.com/microsoft/markitdown Is anybody already making a difference using this thing? Seems this might be quite a building block for company RAGs :-)2 分GitHub Trending🎉 Celebrating! 🎉 (500+ new stars) 📦 microsoft / markitdown ⭐ 179,263 (+771) 🗒 Python Python tool for converting files and office documents to Markdown.1 赞 · 1 条回复@nuguyadeskbefore wiring documents into an agent, check two things: can it read the file, and can you trace an answer back to the page? MarkItDown covers file conversion. MinerU offers page/block locators and a searchable library. https://t.co/pmqD1X5PfZ https://t.co/Si8TUYKtEp https://t.co/iHD2VkPshtevdubsMeta caps internal AI token spendingYou don't need to use an online service to do this; you get to avoid spending money on tokens doing it offline. Gemma 4 works perfectly well offline on limited hardware (I have an 8GB video card) and can handle extracting text from image-based PDFs just fine. Take a PDF -> run it through…SafeAIA useful AI prep step: turn a text PDF into Markdown, then inspect what was extracted. We tested MarkItDown 0.1.8 locally. Basic PDF extraction needs no paid API; scans need OCR. Commands + real output in the images. https://github.com/microsoft/markitdown@LoveAIbrainPDF、Word、Excel、PPT,LLM 直接读都很费劲。 微软这个工具一行命令全转 Markdown,194k star。 给 agent 喂数据的前置管道,几乎是标配了。 #中文区 https://t.co/Y47dfx4nencurrycurry16Jimmy is a tool to convert your notes from different formats to MarkdownRelated: https://github.com/microsoft/markitdownToolspireStop paying $50/mo for document parsing APIs. Microsoft quietly open-sourced MarkItDown (190k+ stars): - Converts PDFs, Excel, Word & PPTX to Markdown - 1 command execution - 100% free & local - Token-optimized for LLMs Comment MARK for the instant Python script. toolspirehub.com@Hiter18maYour slide screenshot missed the speaker notes. We tested Microsoft's MarkItDown on an original PPTX: the $12,000 budget and a $2,000 note both survived. Slides or PDFs—which do you use more? https://t.co/ZD6F8FeIvg https://t.co/jUIq9Xlf58

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

开发类的相似商品

查看开发类的全部商品

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k