Anydoc
Fast Rust library by Firecrawl that converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into clean GitHub-Flavored Markdown with sub-5ms median conversion time.
Overview
Anydoc is Firecrawl's open-source Rust library for converting documents into consistent, GitHub-Flavored Markdown. It handles Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF through a unified document model, so output structure stays the same no matter which format goes in. It detects format from content rather than file extension, preserves headings with anchors, tables with merged cells, footnotes, and speaker notes, and supports mathematical equations (Word OMML, OpenDocument MathML, RTF to LaTeX). The core library runs with no ML models or external service dependencies; an optional hosted OCR service (via Firecrawl Parse) handles scanned PDFs.
The Verdict
Who Should Use Anydoc?
Best For
- Developers who need fast, dependency-free document-to-Markdown conversion embedded in a pipeline
- Teams already in the Firecrawl ecosystem wanting consistent output across mixed document formats
- Projects needing Node.js, Python, WebAssembly, or CLI bindings for a Rust-speed converter
Not Ideal For
- Scanned-document-heavy workloads without a hosted OCR key or self-hosted OCR endpoint
- Teams wanting a no-code, browser-based converter (it's a library/CLI, not a hosted app)
- Non-Latin script handling requiring guaranteed correct reading order — check output before trusting it for RTL languages
What's Great
- Pure Rust implementation, sub-5ms median conversion, no ML models required for core processing
- Unified document model gives consistent Markdown structure across all supported formats
- Broad format coverage: Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, PDF
- Multiple language bindings: Node.js, Python, WebAssembly, plus a Claude Agent Skill interface
- Strong adoption signal: 1,471 forks and active community engagement (see badge for current star count)
Watch Out For
- Scanned-PDF OCR depends on Firecrawl's hosted Parse service (free tier limits apply) or a self-hosted equivalent
- 111 open issues at time of review — check issue tracker for known format edge cases before relying on it in production
- No independent third-party review coverage found (Reddit/HN discussion not located)
Pricing
View all features & details
Supported Formats
- Word (DOCX), PowerPoint (PPTX), Excel (XLSX)
- OpenDocument (ODT, ODP, ODS)
- RTF, EPUB, CSV
- PDF (text-based; OCR for scanned pages)
Structure Preservation
- Headings with anchors
- Tables with merged cells
- Footnotes and speaker notes
- Embedded assets with alt text
- Mathematical equations (OMML, MathML, RTF→LaTeX)
Distribution
- npm (@firecrawl/anydoc)
- pip (firecrawl-anydoc)
- Cargo (Rust)
- WebAssembly build
- CLI binary
- Agent Skill interface
How It Compares
| Feature | Anydoc | Docling | MarkItDown.tech |
|---|---|---|---|
| Language | Rust | Python | Hosted (Python-based) |
| Conversion Speed | <5ms median | ~65s/50 pages (CPU) | Browser-dependent |
| Self-hosted | Yes | Yes | No |
| License | MIT | MIT | Commercial (freemium) |
| OCR | Hosted/optional | Built-in | Built-in |
| GitHub Stars | 22,878 | 68,861 | N/A |