anydoc is a document conversion library that transforms Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into clean GitHub-Flavored Markdown.
The tool solves the problem of preparing office documents for consumption by language models and other text-processing systems. It converts diverse document formats into a consistent Markdown output in single-digit milliseconds, eliminating the need to handle multiple format parsers. The library is built in Rust for performance and provides bindings for Node.js, Python, and the browser via WebAssembly, so developers can integrate it into their preferred environment. For PDFs containing scanned or image-only pages that require OCR, the tool can optionally delegate to a hosted service, with only documents needing OCR leaving the user's machine.
Developers should choose this tool if they need to ingest office documents as part of a pipeline feeding language models or other text systems. It suits projects that process diverse document types and require predictable, clean output regardless of input format. The tool includes an Agent Skill integration, allowing AI agents to read documents directly. A browser-based demo lets you test conversions locally before committing to integration. For teams that prefer not to run the library themselves, the creators offer a hosted API version with additional OCR capabilities for scanned documents.
The project maintains active development across multiple language bindings with regular updates to support new document formats and improve conversion quality. The codebase includes comprehensive documentation for each binding and clear examples for common use cases. The team provides a command-line interface that downloads prebuilt binaries automatically, lowering the barrier to trying the tool. The project demonstrates responsiveness to user needs through its optional hosted OCR fallback, which gracefully handles documents the local library cannot process.