
anydoc
Converts Word, PowerPoint, Excel, PDF and other documents into clean Markdown, built in Rust.
- Stars
- 23.3k
- Forks
- 1.5k
- Licence
- MIT
- Language
- Rust
- Last update
- 13 days ago
- Type
- Library
What it is
anydoc is a library that reads office and document files such as Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV and PDF and turns them into GitHub-flavored Markdown. The README says it is written in Rust with bindings for Node.js, Python and the browser via WebAssembly, and it can also be used as a command-line tool. It is built by Firecrawl, and the README describes its output as LLM-ready Markdown.
- Convert a .docx report to Markdown from the command line with npx @firecrawl/anydoc report.docx
- Turn an Excel or CSV file into Markdown inside a Node.js or Python script
- Give an AI agent the ability to read office documents using the included Agent Skill
- Convert a PDF with a text layer locally without an OCR service
- Convert documents in the browser using the WebAssembly demo
Great for
- Developers who need document text in Markdown for an app or pipeline
- People building AI agents that must read office files
- Teams converting many Word or PowerPoint files into one consistent format
- Anyone who wants to convert files locally in the browser without uploading them
Not ideal for
- Scanned or image-only PDFs without OCR, since the README says anydoc does no OCR itself and such pages fail with NeedsOcr unless you opt into the hosted Parse service
- People who need pixel-perfect layout preservation, which the README does not claim
- Users who want a point-and-click desktop app; the README focuses on CLI and code bindings
How to get it
- 1
Install with a package manager
You'll need: Node.js (for npx or the Node.js package) · Python (for the pip package)
Node.js package
npm install @firecrawl/anydocPython package
pip install firecrawl-anydocRust crate
cargo add anydoc - 2
Run it
- Install the package for your language, or run npx @firecrawl/anydoc report.docx for the CLI
- Run npx @firecrawl/anydoc report.docx to print Markdown to stdout
- Add -o output.md to write the result to a file instead
- For scanned PDFs, add --ocr hosted and set FIRECRAWL_API_KEY if you have one
- 3
Get the most out of it
- Use the --parse-mode option to choose between automatic, text-only, or OCR-for-every-page PDF handling
- Use toDocument or to_document to access embedded image bytes and the document model
- Install the Agent Skill with npx skills add firecrawl/anydoc so an agent can convert documents
- Pass a format name such as csv when the file has no signature, as the README advises
Downloads
Strengths
- The README says one shared document model and serializer give the same Markdown style across formats
- Content-based format detection reads the file bytes, so mislabeled files can still convert
- Runs locally for text-based files, with no ML models or external services needed for that path
Trade-offs
- Scanned pages need the hosted Parse service for OCR, which sends the whole document off the machine and may need an API key for higher limits
- The README reports performance numbers and a benchmark against other converters, but the benchmark table is cut off in the provided text, so comparisons cannot be verified here
- Output is Markdown, so complex layouts and formatting may be simplified
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| anydoc (this) | 23.3k | Library | beginner | 13 days ago | Developers who need document text in Markdown for an app or pipeline |
| markitdown | 193k | Library | beginner | 9 days ago | Developers building LLM or text analysis pipelines that need document text |
| docling | 70k | Library | beginner | 5 days ago | Python developers building retrieval or RAG pipelines over PDFs and office files |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.