牛逼!119K star,微软开源神器,一款功能超强大的markdown 文档转换工具!
不知道大家跟豆包、DeepSeek、ChatGPT这些AI对话的时候,有没有注意到——
AI返回给你的内容,复制到Word、PPT里,前面经常有一堆#、*、-这样的符号?
很多新手小白看到这些"乱码"就懵了,以为是复制出了问题。
其实不是,这其实就是 Markdown 格式。
现在,几乎所有主流的AI,都默认用 Markdown 格式返回结果。包括国外的 ChatGPT、Gemini,Claude也包括国内的豆包、DeepSeek 等等。
换句话说:Markdown,已经成为人和AI沟通的"共同语言"。
Markdown 到底是啥?
简单理解:Markdown 是一种「用纯文本写作、自动生成排版」的标记语言。
用大白话翻译一下:
常规写作:先写内容,写完再一个个调格式
Markdown 写作:边写边标记,格式自动生成
简单来说,Markdown 就是一套"符号语法"。
比如这样:
# 一级标题 ## 二级标题 ### 三级标题 **这是加粗文字** *这是斜体文字* - 无序列表项1 - 无序列表项2 1. 有序列表一 2. 有序列表二 [链接文字](https://xxx.com)  `行内代码`markdown现如今已成为程序员和学习AI必备的标记语言,它的核心优势主要体现在几个方面:
1、语法极简
就记几个符号#``*``-``[](),零基础 几分钟也能学会。比如:
我想做的事 | 怎么写 |
|---|---|
写一个标题 | # 标题内容 |
强调某个词 | **重要词汇** |
写一个列表 | - 第一条 |
写一个步骤 | 1. 第一步 |
引用别人的话 | > 引用内容 |
展示代码或提示词 | 用反引号包起来 |
做一个对比表格 | ` |
就这几个,基本也能覆盖90% 的日常笔记需求。
2、纯文本编写
用记事本、VSCode、Typora、公众号、GitHub、笔记软件都能写。
3、一次编写,到处渲染
写一份 Markdown,可转:网页、博客、文档、笔记、公众号、PDF、电子书,格式永远不乱。
4、专注内容,不用管排版
不用像 Word 那样调字体、调行距,只管写内容,符号搞定排版。
现实中的痛点
学会 Markdown 只是第一步,但日常工作中大量的 PDF、Word、PPT、图片、办公文档,没法直接变成规范的 Markdown,想要搭建知识库、RAG 应用、整理本地文档,
最大的难题是:各类异构文档无法批量转为标准 Markdown 格式,手动复制排版费时又费力。
今天,给大家分享一款软微开源神器:MarkItDown,这款工具正是为解决这一问题而生的神器。
MarkItDown介绍
MarkItDown是微软 AutoGen 团队开源的轻量级 Python 工具(MIT 协议),核心目标是将PDF、Word、PPT、Excel、图片、音频、HTML 等 20+ 异构格式,一键转换为结构完整、LLM 友好的 Markdown,解决 RAG / 知识库项目中 “文档预处理耗时、格式错乱、结构丢失” 的痛点。
功能特性
1. 多格式全覆盖,兼容主流与小众
支持办公文档、图片、音频、网页、电子书、压缩包六大类 20+ 格式,无需额外工具,一站式转换:
办公:PDF、DOCX、PPTX、XLSX/CSV
图片:JPG/PNG/GIF(OCR 文字提取)
音频:MP3/WAV(语音转文字)
网页:HTML、YouTube(字幕提取)
其他:JSON/XML、ZIP(解压遍历)、EPUB
2. 高级强增功能
Azure Document Intelligence 集成:可调用微软 Azure 文档智能服务进行高精度转换
LLM 图像描述:支持接入 OpenAI 等 LLM,为图片/PPT 中的图像生成文字描述
OCR 插件:通过
markitdown-ocr插件,利用 LLM Vision 提取 PDF/Word/PPT 中嵌入图片的文字流式处理:支持管道(pipe)输入输出,方便集成到自动化流程
音频转写:语音转文字,支持会议录音、播客
YouTube 字幕:提取视频字幕,生成 Markdown 文本
ZIP 解压遍历:自动解压 ZIP,转换内部所有文件
3. 灵活的集成方式
命令行(CLI):适合快速转换、脚本自动化
Python API:适合嵌入 Python 项目、自定义处理逻辑
MCP 服务器:支持 Claude Desktop 等 LLM 应用远程调用
适用场景
RAG 系统构建:将企业知识库文档转为 Markdown 供向量数据库存储
AI 对话助手:让用户上传 PDF/Word 后,提取内容供 LLM 分析回答
内容迁移:将旧格式文档批量转为 Markdown 用于静态网站生成(如 Hugo、MkDocs)
数据分析:提取 Excel/CSV 中的表格为 Markdown 表格,方便在 Notebook 中展示
音视频处理:提取 YouTube 视频字幕或会议录音文字,生成会议纪要
安装方式
环境要求
Python 3.10 或更高版本
建议使用虚拟环境
1. 创建虚拟环境(推荐)
# 标准 venv python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # 或使用 uv(更快) uv venv --python=3.12 .venv source .venv/bin/activate2. 安装 MarkItDown
# 仅支持 PDF、DOCX、HTML 等基础格式 pip install markitdown # 安装全部功能(推荐初次使用),包含 OCR、语音转写、Office 全格式等所有依赖: pip install 'markitdown[all]' # 或按需安装特定格式(更轻量) pip install 'markitdown[pdf,docx,pptx]' # 仅 PDF/Word/PPT pip install 'markitdown[xlsx]' # 仅 Excel pip install 'markitdown[audio-transcription]' # 仅音频转录 pip install 'markitdown[youtube-transcription]' # 仅 YouTube3. 从源码安装(开发者)
git clone https://github.com/microsoft/markitdown.git cd markitdown pip install -e "packages/markitdown[all]"4. Docker 方式
docker build -t markitdown:latest . docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md使用方式
安装好 MarkItDown 后,打开命令行窗口输入命令即可对文件进行转换,支持多种操作方式,
命令行(CLI)
# 基础转换 markitdown path-to-file.pdf > document.md # 指定输出文件 markitdown path-to-file.pdf -o document.md # 管道输入 cat path-to-file.pdf | markitdown # 启用插件 markitdown --use-plugins path-to-file.pdf # 使用 Azure Document Intelligence markitdown path-to-file.pdf -o doc.md -d -e "<endpoint>" # 查看已安装插件 markitdown --list-pluginsPython API
from markitdown import MarkItDown # 基础用法 md = MarkItDown() result = md.convert("test.xlsx") print(result.text_content) # 启用插件 md = MarkItDown(enable_plugins=True) result = md.convert("document.pdf") # 使用 Azure 文档智能 md = MarkItDown(docintel_endpoint="<your-endpoint>") result = md.convert("test.pdf") # 使用 LLM 进行图像描述(需要 OpenAI 等客户端) from openai import OpenAI client = OpenAI() md = MarkItDown( llm_client=client, llm_model="gpt-4o", llm_prompt="optional custom prompt" ) result = md.convert("example.jpg") print(result.text_content)以下为常用案例:
案例1:转换 Excel 文件
比如,将 Excel 文件 test.xlsx 转换为 Markdown 文件,两种常用命令:
# 方式1:输出到指定 Markdown 文件 markitdown test.xlsx > test.md # 方式2:使用 -o 参数指定输出文件(更规范,推荐) markitdown test.xlsx -o test.md案例2:管道输入方式转换
适用于批量处理或结合其他命令使用,例如转换 PDF 文件并直接查看结果:
cat 目标文件.pdf | markitdown案例3:支持批量转换
通过命令行实现 CI/CD 集成,批量处理文件夹内所有 PDF 文件,可直接复制使用的实操命令:
# 批量转换 ./docs 目录下所有 PDF 文件,输出为 原文件名.pdf.md find ./docs -name '*.pdf'; | xargs -I{} markitdown {} -o {}.md # 批量转换 ./docs 目录下所有 Word 文件,输出到指定文件夹 find ./docs -name '*.docx'; -exec markitdown {} -o ./output/{}.md # 批量转换(Shell 示例) for file in *.pdf; do markitdown "$file" -o "${file%.pdf}.md"; done案例4:支持OCR、音频、字幕等转换
# 图片 OCR 提取文字 markitdown screenshot.png --enable-ocr -o ocr_notes.md # 音频转文字 markitdown meeting.mp3 -o transcript.md # 提取 YouTube 字幕 markitdown https://www.youtube.com/watch?v=xxx -o subtitles.md案例5:转换 PDF 文件(含 OCR 识别)
若 PDF 包含嵌入式图片或扫描内容,可启用 markitdown-ocr 插件进行 OCR 识别,步骤如下:
# 先安装插件及 LLM 客户端 pip install markitdown-ocr pip install openai # 使用 Python API 转换(支持 OCR 识别) from markitdown import MarkItDown from openai import OpenAI md = MarkItDown( enable_plugins=True, llm_client=OpenAI(), llm_model="gpt-4o", # 需使用支持视觉能力的 LLM 模型 ) result = md.convert("包含图片的文档.pdf") # 保存转换结果 with open("输出文档.md", "w", encoding="utf-8") as f: f.write(result.text_content)写在最后
在 LLM 应用爆发式增长的今天,将非结构化文档转为 AI 可理解的结构化文本是刚需。MarkItDown 正是为此场景而生,从办公文档到音视频,从网页到压缩包,一个工具覆盖几乎所有常见格式,无需在多个工具间切换。相比传统工具,它更懂 AI 的需求。
作为微软开源项目,代码质量、维护活跃度和社区支持都有保障。如果你正在构建基于 LLM 的应用,或需要将大量文档转为 AI 友好的格式,MarkItDown 是目前最值得尝试的开源工具之一。
项目地址:https://github.com/microsoft/markitdown
如果这篇文章对你有帮助,不妨点个赞、转发、收藏三连支持!❤️想第一时间收到推送,记得加个星标 ⭐
往期推荐
5年陪跑,带你撸20个企业实战项目(附全景路线图)
我的小“破”站,花了3天,终于上线了!
最新AI+全栈测试开发技能实战指南(第6期)
AI 测试全体系详解:自动化测试框架 + 智能缺陷检测 + A/B 测试优化
Cursor 生成测试用例实战:一个 Skill,10 分钟产出可评审测试用例!
温馨提醒:「狂师・AI 进化社」,旨在帮助每一个人系统全面的学习 AI,哪怕你是纯 AI 小白,这里面的教程你从 0 开始看保证你一样能看懂,目标是让每一个人可以系统掌握 AI 赋能到工作中,
目前已更新到AI智能体、AI测试版块,建议立马去跟着学习,还是那句话,会用 AI 只是表面,能理解 AI 背后的逻辑,以及用 AI 解决一些你的问题,才会比人更进一步。
五一假期要是有空,可以顺手补补这块进度~
现在上车非常值得,早点跟上,后面在公司拿成果、面试都会轻松很多
👇 点击下方关注公众号《测试开发技术》,获取免费测开学习路线、简历模板、面试真题、AI测试、AI 编程、自动化测试、测试开发资料教程等。
END
添加个人微信,进交流群
后台回复【领资料包】试试
下一篇,更精彩,敬请期待~~
赞、转发和在看就是最大的支持❤️
