乐于分享
好东西不私藏

PDF、Word、PPT、音频、图片……全都转成 Markdown:Markit

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 一个搞定——什么格式都能转,一条命令就行

支持的格式

格式
扩展名
转换方式
PDF
.pdf
文本提取(unpdf)
Word
.docx
保留标题/表格结构
PowerPoint
.pptx
幻灯片 + 备注 + 表格
Excel
.xlsx
每个 Sheet → Markdown 表格
HTML
.html .htm
自动去除脚本和样式
EPUB
.epub
按章节顺序转换,含元数据
Jupyter
.ipynb
Markdown 单元格 + 代码 + 输出
RSS/Atom
.rss .atom .xml
Feed 条目含日期和内容
CSV/TSV
.csv .tsv
Markdown 表格
JSON/YAML
.json .yaml
代码块
图片
.jpg .png .gif .webp
EXIF 元数据 + AI 描述(可选)
音频
.mp3 .wav .m4a .flac
元数据 + AI 转录(可选)
ZIP
.zip
递归转换压缩包内每个文件
URL
http:// https://
抓取网页转 Markdown
Wikipedia
*.wikipedia.org
提取正文内容
代码文件
.py .ts .go .rs 等
围栏代码块

核心特性

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

请在微信客户端打开