Skip to content

anydoc

任意文档进,Markdown 出

把 Word、PPT、Excel、PDF 等 14 种办公文档,转成干净、结构完整的 GitHub Flavored Markdown。开源 Rust 库,纯本地转换,毫秒级完成,文件不出设备。

anydoc

在线转文件格式

由 @firecrawl/anydoc-wasm 驱动的本地转换器,拖入文档即出 Markdown,全程在你的浏览器里完成。

把文档拖到这里,或点击选择文件

转换在浏览器本地完成,文件不会上传到任何服务器

WordPPTExcelPDFEPUBRTFCSVODF

anydoc

anydoc 介绍

来自 Firecrawl 的开源文档转换引擎,也是 Firecrawl Parse 的底层实现

anydoc 是一个用 Rust 编写的开源库,使命只有一个:把杂七杂八的办公文档,变成适合阅读、更适合喂给大模型的干净 Markdown。Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV、PDF——14 种格式,一套输出标准。

它不依赖 LibreOffice,不调用 OCR 服务,也没有任何机器学习模型。纯 Rust 实现,单份文档的中位转换耗时不到 5 毫秒。在官方用 100 份真实文档、14 种格式做的基准测试里,anydoc 是唯一一个全部格式全支持的转换器,综合得分把 markitdown、pandoc、docling 一票老牌工具甩在后面。

不管格式怎么变,最后出来的都是同一套干净、一致、结构完整的 GitHub Flavored Markdown——因为所有格式先解析进同一个文档模型,再走同一条渲染管线。

针对 LLM 场景做了专门的取舍:页眉、页脚、页码这类噪音默认剔除,脚注、演讲者备注、合并单元格、嵌套列表这些结构信息尽力保留,图片和嵌入对象以 alt 文本形式呈现,原始字节保留在文档模型上随时可取。

查看完整介绍 →

anydoc

支持的文档格式

14 种常见办公与出版格式全覆盖,同类工具中覆盖最全

Word

文档处理

.doc · .docx · .docm——从 2003 年的老 .doc 到昨天的 .docx,标题层级、列表、表格、脚注都能还原。

PowerPoint

演示文稿

.ppt · .pptx · .pptm · .pps · .ppsx · .ppsm · .pot——幻灯片转 Markdown 时保留演讲者备注。

Excel / CSV / RTF

表格与文本

.xls · .xlsx · .xlsm · .xlsb · .csv · .rtf——合并单元格、表头、多工作表都能转成规整的 Markdown 表格。

PDF / EPUB / OpenDocument

出版与开放格式

.pdf · .epub · .odt · .ods · .odp——文本型 PDF 本地直转,无需 OCR 服务。

anydoc

核心能力

这个框架真正拿得出手的几件事

🧩 一个模型,全格式统一

所有格式先解析到同一个文档模型,再通过同一个 Markdown 序列化器输出。转义、表格、标题锚点、脚注行为跨格式完全一致,修一个 bug 全格式生效。

⚡ 毫秒级转换

纯 Rust 实现,无 ML 模型、无外部服务,单文档中位转换耗时小于 5ms——比次快的 markitdown 快一个数量级以上。

🕵️ 按字节识格式,不看扩展名

格式检测基于文件内容本身(PDF 头、RTF 起始组、OLE 流名、ZIP 包的 mimetype),就算扩展名标错了也能正确转换。

🛡️ 安全与鲁棒性

内置固定的解压、嵌套深度、节点数安全限制,防 zip 炸弹等恶意文件;配套快照测试、变异测试和逐格式模糊测试。

🔗 五端绑定,一个 API

Node.js、Python、Rust、浏览器(WebAssembly)、CLI——同一套 API:从路径或字节转换,或者停在文档模型层保留嵌入式资源。

🤖 Agent 就绪

以 Agent Skill 形式发布,一条命令即可让 Claude Code、Codex、Cursor 等 AI 编程代理直接读取你的办公文档。

anydoc

转换流程

从文件到 Markdown,四步走完

1

给入文档(路径或字节)

传入本地文件路径,或直接把内存里的字节丢进来。CLI 甚至支持从 stdin 读,方便接进管道。

2

按内容识别格式

从字节内容本身探测真实格式,不信任扩展名。识别失败会返回明确的 Unsupported 错误。

3

解析进统一文档模型

Word 还是 PDF,最后都落进同一个 Document 模型。图片等嵌入对象的原始字节保留在模型上,并标注媒体类型。

4

渲染成 Markdown

走同一个序列化器输出 GitHub Flavored Markdown:标题锚点、粗斜体删除线、嵌套与任务列表、表格、块引用、脚注,一次成型。

💡 需要保留嵌入资源?停在 toDocument 这一层,别直接转字符串。

anydoc

为什么选择 anydoc

跟 markitdown、pandoc、LibreOffice 们放一起比,差距是数量级的

📊 格式覆盖最全

14/14 格式全支持,是七个主流转换器里唯一全覆盖的。markitdown 只覆盖 6 种,pandoc 5 种,docling 4 种,mammoth 只有 1 种。

🚀 速度碾压同级

官方基准:中位转换 4.4ms,综合评分 81 分。第二快的 markitdown 是 134.8ms、33 分——一个数量级的差距。

🔒 纯本地、零依赖

不装 LibreOffice,不依赖 OCR 服务,不跑任何 ML 模型。WASM 版直接在浏览器里转,文件连设备都不出。

查看完整基准数据 →

anydoc

快速上手

从第一条命令到五端 API 全掌握

anydoc

常见问题解答

关于格式、隐私、性能与授权的常见疑问。

anydoc 是什么?

anydoc 是 Firecrawl 开发的开源 Rust 库,把 Word、PowerPoint、Excel、OpenDocument、RTF、EPUB、CSV、PDF 等 14 种办公文档转换成干净的 GitHub Flavored Markdown。它是 Firecrawl Parse 的底层转换引擎。

支持哪些文档格式?

一共 14 种:.doc/.docx/.docm(Word)、.ppt/.pptx/.pptm/.pps/.ppsx/.ppsm/.pot(PowerPoint)、.xls/.xlsx/.xlsm/.xlsb(Excel)、.odt/.ods/.odp(OpenDocument)、.rtf.epub.csv.pdf。格式按文件内容识别,扩展名写错也能转。

我的文件会被上传吗?

不会。anydoc 是纯本地转换:Rust/Python/Node 版在你的设备上运行;浏览器版通过 WebAssembly 在页面内完成转换,文件不会离开你的设备。本站首页的转换器就是这样的本地实现。

转换速度有多快?

官方基准测试中,单文档中位转换耗时 4.4ms。纯 Rust 实现,没有 ML 模型,没有外部服务调用,转换就是本地的一次解析。

跟 markitdown 相比怎么样?

在 Firecrawl 官方 100 份真实文档、14 种格式的基准里:anydoc 格式全覆盖(14/14 vs 6/14),中位耗时 4.4ms vs 134.8ms,综合评分 81 vs 33。差距是数量级的。详见性能基准页

支持扫描版 PDF 吗?

文本型 PDF 由内置的 pdf-inspector 本地转换。纯扫描/纯图片的 PDF 需要 OCR,anydoc 会返回 Unsupported 错误——Firecrawl Parse 在同一转换链路上补上了 OCR 能力。

开源吗?可以商用吗?

完全开源,MIT License。可以自由使用、修改、商用。仓库在 github.com/firecrawl/anydoc

可以在哪些语言里用?

Rust(anydoc)、Node.js(@firecrawl/anydoc)、Python(firecrawl-anydoc)、浏览器(@firecrawl/anydoc-wasm)、CLI(npx @firecrawl/anydoc),还能作为 Agent Skill 装进 Claude Code / Codex / Cursor。详见安装下载页

在线体验与安装

把文档拖进来,
Markdown 直接带走。

你可以在浏览器里先转一份试试,也可以装进你的项目或 Agent。
14 种格式、毫秒级转换、纯本地处理,

从今天起,让任何文档都变成 AI 读得懂的样子。