PDF、Word、PPT、音频、图片……全都转成 Markdown:Markit
Markit 是一个开源的万能 Markdown 转换工具,支持将 PDF、Word、PPT、Excel、HTML、EPUB、Jupyter、RSS、图片、音频、ZIP、URL 等 20+ 种格式一键转为 Markdown,还能用 AI 自动描述图片和转录音频。CLI 和 SDK 双模式,开发者友好。
给 AI 喂数据、整理知识库、写文档,第一步往往是把各种格式转成 Markdown。以前每种格式要找一个工具,现在 Markit 一个搞定——什么格式都能转,一条命令就行。

支持的格式
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
核心特性
1. AI 增强:图片描述 + 音频转录
# 设置 API Key 即可启用export OPENAI_API_KEY=sk-xxx# 图片自动生成 AI 描述markit image.png# 音频自动转录为文字markit recording.mp3# 聚焦 AI 关注点markit photo.jpg --focus "提取图中的文字和数字"
-
• 支持 OpenAI(gpt-4.1-nano)和 Anthropic(claude-haiku-4-5) -
• SDK 模式下可混合使用不同 Provider:Claude 看图,OpenAI 转录音频
2. 插件系统
export default function myPlugin(api) { api.register(".custom", async (input) => { return { markdown: "# Custom\n" + input.toString() }; });}
-
• 自定义新格式的转换逻辑 -
• 插件优先级高于内置转换器,可覆盖任意格式 -
• 还能注册自定义 LLM Provider
3. Agent 友好
# JSON 输出,方便程序解析markit document.pdf --json# 纯 Markdown 输出,无额外信息markit document.pdf -q
4. SDK 模式
import { Markit } from "markit-ai";const markit = new Markit({ describe: async (image, mime) => { // 你的图片描述逻辑 }, transcribe: async (audio, mime) => { // 你的音频转录逻辑 },});const result = await markit.convert("document.pdf");console.log(result.markdown);
-
• 作为库集成到你的项目中 -
• AI 功能通过纯函数注入,不绑定任何特定 SDK -
• 可接入 Whisper、Deepgram、AssemblyAI 等任意转录服务
安装方法
# CLI 全局安装npm i -g markit-ai# 项目依赖npm i markit-ai
使用示例
CLI 基础用法
# 转换 PDFmarkit report.pdf# 转换 Wordmarkit document.docx# 转换 PPTmarkit slides.pptx# 转换网页markit https://example.com# 转换 Wikipedia 页面markit https://en.wikipedia.org/wiki/Markdown# 递归转换 ZIP 内所有文件markit archive.zip# 输出到文件markit report.pdf -o report.md
带 AI 的高级用法
# 图片 + AI 描述markit photo.jpg --focus "描述图中的建筑风格"# 音频 + AI 转录markit meeting.mp3# 指定 Providermarkit photo.jpg --provider anthropic
应用场景
场景 1:给 AI/RAG 准备数据
传统痛点:知识库里有 PDF、Word、PPT 各种格式,需要逐个转换才能喂给 AI
解决方案:Markit 一条命令批量转换,ZIP 包直接递归处理,统一输出 Markdown
场景 2:知识库整理
传统痛点:Obsidian/Notion 知识库想导入旧文档,格式转换麻烦
解决方案:Word、EPUB、HTML、Jupyter 全部转 Markdown,保留结构和表格
场景 3:会议记录
传统痛点:会议录音需要手动转文字,再整理成文档
解决方案:音频文件直接转 Markdown,AI 自动转录,一步到位
场景 4:网页内容存档
传统痛点:想保存网页内容,复制粘贴格式乱
解决方案:markit https://url 直接抓取并转为干净的 Markdown
常见问题
Q1:和 Pandoc 有什么区别?
Pandoc 专注文档格式互转,Markit 专注”一切转 Markdown”,额外支持图片 AI 描述、音频转录、URL 抓取、ZIP 递归等 Pandoc 不覆盖的场景。
Q2:AI 功能必须用吗?
不必须。不设置 API Key 时,图片只提取 EXIF 元数据,音频只提取文件信息,其他格式完全不需要 AI。
Q3:支持中文吗?
支持。PDF、Word 等格式的中文内容正常提取,AI 描述和转录的语言取决于所用模型。
Q4:可以批量转换吗?
可以。传入 ZIP 文件会递归转换内部所有文件,也可以在脚本中循环调用 CLI。
资源链接
-
• GitHub 仓库: https://github.com/Michaelliv/markit
请在微信客户端打开
夜雨聆风