Repolode
firecrawl

firecrawl/anydoc

Converts Office documents, PDFs, EPUB and CSV into clean GitHub-flavored Markdown via Rust, Node.js, Python and WASM bindings.

Open-source alternative to:PandocAdobe Acrobat

Stars
22,938
Forks
1,478
Open issues
113
Last commit
12 hours ago

What is it?

anydoc is a Rust library that converts Word (.doc, .docx), PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV and PDF files into GitHub-flavored Markdown. Every format is parsed into a shared document model and rendered by one Markdown serializer, so escaping, tables, headings and footnotes come out the same regardless of the input format.

Output preserves headings, inline formatting, nested lists, tables with merged cells, footnotes, speaker notes and equations, which are rendered as LaTeX. Formats are detected from the file contents rather than the extension. Text-based PDFs are converted locally, while scanned pages can be sent to hosted OCR through Firecrawl Parse.

Bindings are available for Node.js, Python, the browser via WebAssembly, and a command-line tool that can be run with npx. The project is MIT licensed.

Key features

  • 01Converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV and PDF to Markdown.
  • 02Parses all formats into one shared model with a single Markdown serializer.
  • 03Preserves tables with merged cells, nested lists, footnotes and speaker notes.
  • 04Renders equations as LaTeX math blocks and inline expressions.
  • 05Detects formats from file contents, so mislabeled files still convert.
  • 06Runs text-based PDF conversion locally, with optional hosted OCR for scanned pages.

Use cases

  • Feeding mixed office documents into an LLM or RAG pipeline as Markdown.
  • Converting documents in a Node.js or Python backend without external services.
  • Adding document reading to AI agents through the bundled Agent Skill.
  • Running document-to-Markdown conversion in the browser without uploading files.

Topics

FAQ

What is anydoc?
Converts Office documents, PDFs, EPUB and CSV into clean GitHub-flavored Markdown via Rust, Node.js, Python and WASM bindings. anydoc is a Rust library that converts Word (.doc, .docx), PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV and PDF files into GitHub-flavored Markdown. Every format is parsed into a shared document model and rendered by one Markdown serializer, so escaping, tables, headings and footnotes come out the same regardless of the input format.
Is anydoc free to use? What license does it have?
anydoc is open source under the MIT license. Check the license terms before using it in commercial products.
Is anydoc still maintained?
Actively maintained. The last commit to anydoc was on Oct 18, 2026.
What can I use anydoc for?
Feeding mixed office documents into an LLM or RAG pipeline as Markdown. Converting documents in a Node.js or Python backend without external services. Adding document reading to AI agents through the bundled Agent Skill. Running document-to-Markdown conversion in the browser without uploading files.
Where can I get anydoc?
The source code and installation instructions are on GitHub: https://github.com/firecrawl/anydoc

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects