anydoc by Firecrawl

Any document in.
Markdown out.

Open source Rust library that converts Word, PowerPoint, Excel, PDF, and more to GitHub-Flavored Markdown. Node, Python, browser, and CLI bindings. It runs here in your browser: files never leave your machine.

Conversion queue

Add one or more files to begin.

    No document at hand? Try a sample:

    About

    One model
    Every format parses into the same document model and renders through the same Markdown serializer, so headings, nested lists, merged table cells, and footnotes come out the same from a .doc written in 2003 as from yesterday's .pptx.
    Detection
    The format is read from the bytes, not the extension, so mislabeled files still convert.
    Speed
    Pure Rust, no ML models, no services: median conversion is under 5 ms. Of seven converters benchmarked on 100 documents, anydoc was the only one to handle all fourteen formats.
    PDF
    Text-based PDFs convert locally through pdf-inspector. Scanned pages need OCR, which Firecrawl Parse adds on top of this same conversion.
    This page
    The converter above is @firecrawl/anydoc-wasm, anydoc compiled to WebAssembly. Drop it into your own app the same way.

    Install

    Rust
    $ cargo add anydoc
    Node.js
    $ npm install @firecrawl/anydoc
    Python
    $ pip install firecrawl-anydoc
    Browser
    $ npm install @firecrawl/anydoc-wasm
    CLI
    $ npx @firecrawl/anydoc report.docx
    Agent skill
    $ npx skills add firecrawl/anydoc

    The API is the same everywhere: convert from a path or from bytes, or stop at the document model and keep the embedded assets. See the README.