# AnyDoc — Convert Any Document to Clean Markdown > AnyDoc converts Word, PowerPoint, Excel, PDF, EPUB, and other document formats into clean Markdown. Built in Rust with Node.js and Python bindings by the Firecrawl team. ## Install Save as a script file and run: # AnyDoc — Convert Any Document to Clean Markdown ## Quick Use ```bash npm install anydoc npx anydoc convert document.docx -o output.md ``` ## Introduction AnyDoc is a high-performance document conversion tool built in Rust by the Firecrawl team. It converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into clean Markdown, making document content accessible for LLMs and downstream processing pipelines. ## What AnyDoc Does - Converts Word (.docx), PowerPoint (.pptx), and Excel (.xlsx) to Markdown - Handles PDF, EPUB, RTF, OpenDocument, and CSV formats - Preserves document structure including headings, tables, and lists - Provides both Node.js and Python bindings for programmatic use - Outputs clean, well-formatted Markdown suitable for LLM consumption ## Architecture Overview AnyDoc is written in Rust for maximum performance and memory safety. The core library handles format-specific parsing and Markdown generation, while language bindings via Node.js (N-API) and Python (PyO3) expose the functionality to broader ecosystems. Each format has a dedicated parser that extracts structure and content. ## Self-Hosting & Configuration - Install via npm for Node.js or pip for Python projects - Use the CLI for one-off conversions from the terminal - Integrate programmatically through the Node.js or Python SDK - Configure output formatting options for different Markdown flavors - Process files locally with no external API calls required ## Key Features - Rust-based core for high throughput and low memory usage - Supports 8+ document formats in a single tool - Native Node.js and Python bindings for easy integration - LLM-optimized Markdown output - Open-source by the Firecrawl team ## Comparison with Similar Tools - **MarkItDown** — Python-only; AnyDoc is Rust-native with multi-language bindings - **Docling** — IBM research tool focused on PDF; AnyDoc covers more formats - **Pandoc** — Haskell-based universal converter; AnyDoc is Rust-native and LLM-focused - **Marker** — PDF-to-Markdown; AnyDoc handles Word, Excel, and PowerPoint too ## FAQ **Q: What file formats does AnyDoc support?** A: Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF. **Q: Does AnyDoc require an API key?** A: No, AnyDoc runs entirely locally with no external service dependencies. **Q: Can I use AnyDoc in a Python project?** A: Yes, AnyDoc provides official Python bindings via PyO3. **Q: How does AnyDoc compare to Pandoc?** A: AnyDoc is built in Rust for performance and optimized for producing LLM-friendly Markdown, while Pandoc is a general-purpose document converter supporting many output formats. ## Sources - https://github.com/firecrawl/anydoc --- Source: https://tokrepo.com/en/workflows/asset-8558c50f Author: Script Depot