explaingit

firecrawl/anydoc

Analysis updated 2026-08-13

15,518RustAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A fast Rust library, with Node.js, Python, and browser bindings, that converts Word, Excel, PowerPoint, PDF, and other office files into clean Markdown.

Mindmap

mindmap
  root((repo))
    What it does
      Converts office files to Markdown
      Detects format from bytes
      Keeps embedded assets
    Tech stack
      Rust
      Node.js bindings
      Python bindings
      WebAssembly
    Use cases
      Prep documents for an LLM
      Convert PDFs and Word docs
      Read office files in an AI agent
    Audience
      Developers
      Vibe coders
    Setup
      npx CLI or package install
      No external services needed

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Convert Word, Excel, PowerPoint, or PDF files into clean Markdown for an LLM to read

USE CASE 2

Add an Agent Skill so your AI coding agent can read office documents it encounters

USE CASE 3

Batch convert a folder of mixed document formats into one consistent Markdown output

USE CASE 4

Extract structured document content, including embedded images, from a file in your app

What is it built with?

RustNode.jsPythonWebAssembly

How does it compare?

firecrawl/anydocmemvid/memvidiii-hq/iii
Stars15,51815,48615,623
LanguageRustRustRust
Setup difficultyeasymoderatemoderate
Complexity2/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice, under the MIT license.

In plain English

anydoc is a document conversion library built by Firecrawl that turns office style files into clean Markdown text. It reads Word, PowerPoint, Excel, OpenDocument files, RTF, EPUB, CSV, and PDF, and converts any of them into the same consistent Markdown output, no matter which format went in. The core is written in Rust, and the project ships bindings so the same conversion works from Node.js, Python, the browser through WebAssembly, or Rust itself. The simplest way to try it is a command line tool you run through npx, pointing it at a file and getting Markdown printed to your screen or saved to a file. There is also a hosted demo page that runs the whole thing as WebAssembly in your browser, so files never actually leave your machine during the demo. For developers who want to call it from code, each language binding exposes functions to convert a file path or raw bytes straight to Markdown, or to stop one step earlier at a structured document object that also keeps embedded images and other assets available. The README highlights several design choices: every format is parsed into one shared internal document model before being turned into Markdown, so headings, tables, lists, footnotes, and similar structure behave the same way regardless of source format. The format itself is detected by looking at the actual file bytes rather than trusting the file extension, so mislabeled files still convert correctly. Because it is pure Rust with no machine learning models or external services involved, conversion is reported as very fast, with a median time under five milliseconds per document, and PDF text extraction works locally without needing a separate OCR service. The library is also packaged as an Agent Skill, so an AI coding agent can install it and gain the ability to read office documents on its own. The README includes a benchmark comparing anydoc against six other conversion tools across 100 real documents in fourteen formats, where anydoc reports the widest format coverage and the fastest median conversion time among the tools tested. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Install the anydoc Agent Skill so I can convert office documents while working with you
Prompt 2
Show me how to use anydoc from Node.js to convert a docx file to Markdown
Prompt 3
Convert this PDF and this Excel file into Markdown using the anydoc CLI
Prompt 4
Explain how anydoc detects file format from the bytes instead of the file extension

Frequently asked questions

What is anydoc?

A fast Rust library, with Node.js, Python, and browser bindings, that converts Word, Excel, PowerPoint, PDF, and other office files into clean Markdown.

What language is anydoc written in?

Mainly Rust. The stack also includes Rust, Node.js, Python.

What license does anydoc use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice, under the MIT license.

How hard is anydoc to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is anydoc for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.