Anydoc iconAnydoc

open-source Open-source Star22k

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.

22.9K GitHub Stars
<5ms Median Conversion
Free MIT License

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

User Reviews

Loading reviews...