ScriptsSep 11, 2026·2 min read

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.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
AnyDoc Overview
Direct install command
npx -y tokrepo@latest install 8558c50f-adc1-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

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

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets