# anydoc: Rust Document Converter That Outputs Markdown

> A Rust document converter that turns Word, PowerPoint, Excel, EPUB, and PDF files into Markdown, with Node and Python bindings.

Published: 2026-08-06
URL: https://daniliants.com/insights/anydoc-rust-document-converter-that-outputs-markdown/
Tags: rust, markdown, cli-tools, open-source

---

## Summary

anydoc (`firecrawl/anydoc`) is a Rust-based document converter that turns Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into Markdown, with Node and Python bindings. Its architecture parses every format into one shared internal document model and renders through a single serializer, so a fix in one format (for example table escaping in docx) propagates automatically to related formats such as RTF and ODT.

## Key Insight

- Format detection reads file bytes and magic numbers rather than trusting the file extension, so mislabeled or misnamed files still convert correctly. That is a common failure mode in ad-hoc document pipelines.
- The single shared document model plus single serializer design means bug fixes and feature additions (table handling, for instance) apply across all supported input formats at once, instead of needing per-format patches. A notable architectural choice for anyone building or evaluating document-conversion tooling.
- Positions as a Rust alternative in a space typically dominated by Pandoc, unoconv/LibreOffice headless, or per-format Python libraries (python-docx, openpyxl, python-pptx). Node and Python bindings mean it can slot into existing JS or Python pipelines without a Rust toolchain.
- Firecrawl publishes it, and markets it on speed: a claimed 4.4ms median conversion against 52.5ms for the next-fastest tool, roughly 12x, plus AI-judged quality wins in every format tested. No methodology or sample output was published alongside those numbers, so treat them as vendor claims until benchmarked locally.
- Offered both self-hosted and as an API, which matters when documents cannot leave your own infrastructure.