<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr" -->

---
title: A Faster Open-Source Alternative to MarkItDown, Pandoc,...
description: The Firecrawl team released anydoc, an open-source, cross-platform document converter built with Rust that converts Word, PowerPoint, Excel, OpenDocument, RTF,...
canonical: https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A Faster Open-Source Alternative to MarkItDown, Pandoc, and Docling | daily.dev
og:description: The Firecrawl team released anydoc, an open-source, cross-platform document converter built with Rust that converts Word, PowerPoint, Excel, OpenDocument, RTF,...
og:url: https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr
og:image: https://api.daily.dev/og/posts/NFkCqP6kr.png
og:image:alt: A Faster Open-Source Alternative to MarkItDown, Pandoc, and Docling
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A Faster Open-Source Alternative to MarkItDown, Pandoc, and Docling

**[bytefer](https://daily.dev/sources/fx5kjjichwjnx5totxmtp)** · [@bytefer](https://daily.dev/bytefer) · 3 min read · 60 upvotes · 2 comments

## Summary

The Firecrawl team released anydoc, an open-source, cross-platform document converter built with Rust that converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into clean Markdown. It offers Node.js and Python bindings, a CLI, browser support via WebAssembly, and built-in agent skills for platforms like Claude Code, Cursor, and Codex. Benchmarked against six mainstream converters across 100 real-world documents in 14 formats, anydoc claims superior performance. It detects document formats from binary data, supports local processing without OCR, and provides a unified document model for consistent Markdown output.

## Content

In recent years, with the rapid advancement of LLM capabilities, AI has become deeply integrated into office scenarios. These scenarios often involve handling a wide variety of document formats - such as Word, PowerPoint, Excel, and PDF - which are not inherently LLM-friendly. Consequently, the standard approach is to convert them into Markdown, making a high-quality document converter essential.

Recently, the Firecrawl team released **anydoc**, a powerful, open-source, cross-platform document converter. It enables the rapid conversion of formats like Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF into clean Markdown documents.

![anydoc.png](https://media.daily.dev/image/upload/s--7BtSqFDg--/f_auto/v1786327248/ugc/content_8eef178a-8886-4227-8fad-9c58f987b41a?_a=BAMAMicg0)

### Anydoc Features

- Built-in Agent Skills for rapid integration into various agent platforms

- Fast processing speed, cross-platform, built with Rust, and provides Node.js and Python bindings.

- Supports non-scanned PDF documents and runs locally, eliminating the need for OCR services.

- Identifies document formats based on binary data, ensuring accurate conversion even if file extensions are incorrect.

- Supports conversion across multiple document formats; features a unified document model and Markdown serializer to ensure consistent rendering.

Currently anydoc supports the following document types:

- Word : .doc, .docx, .docm

- PowerPoint : .ppt, .pps, .pot, .pptx, .pptm, .ppsx, .ppsm

- Excel :  .xls, .xlsx, .xlsm, .xlsb

- OpenDocument : .odt, .ods, .odp

- Rich Text Format :  .rtf

- EPUB :  .epub

- CSV : .csv

- PDF :  .pdf

### Anydoc Performance

Anydoc was compared against six mainstream converters, with testing covering 100 real-world documents across **14** formats; scores ranged from 0 to 100, with higher scores indicating better performance.

![anydoc-benchmark.png](https://media.daily.dev/image/upload/s--lm9HU518--/f_auto/v1786327276/ugc/content_48bedfe9-f98c-4e6f-9143-5f1978ce0594?_a=BAMAMicg0)

### Anydoc Online Demo

Open [https://batchtool.com/tools/docs-to-markdown](https://batchtool.com/tools/docs-to-markdown) in your browser, then drag the document you wish to process into the "Drop documents, or click to choose" area to convert it.

![batchtool-anydoc.png](https://media.daily.dev/image/upload/s--8iMWOd8D--/f_auto/v1786327321/ugc/content_3c62d86e-8316-4c69-b4f1-0a355f52d787?_a=BAMAMicg0)

### Local Deployment

**CLI**

```
npx @firecrawl/anydoc report.docx # Markdown to stdout

npx @firecrawl/anydoc slides.pptx -o slides.md # or to a file

npx @firecrawl/anydoc - --format csv < data.csv # read stdin
```

**Node.js**

1.Install **firecrawl/anydoc** module

```
npm install @firecrawl/anydoc

# Or

pnpm add @firecrawl/anydoc
```

2.Using the **@firecrawl/anydoc** module

```
import { toDocument, toMarkdown, toMarkdownBytes } from '@firecrawl/anydoc';

// From a file path:

const markdown = await toMarkdown('report.docx');

// From bytes, with the format detected from the content:

const fromBytes = await toMarkdownBytes(bytes);

// Or stop at the document model, which also carries embedded assets.

// Unsupported for `pdf`

const document = await toDocument(bytes);
```

In real-world document scenarios, you should use `try…catch` statements to catch errors during conversion. For example, when converting a PDF file that contains only images, an exception with the error code "unsupported" will be thrown.

![anydoc-tomarkdown-error-code.png](https://media.daily.dev/image/upload/s--BCPSVDQ8--/f_auto/v1786327340/ugc/content_9bc46b42-d7c2-40dc-8b42-6cf9ee36d919?_a=BAMAMicg0)

anydoc error codeIf you want to use anydoc in the browser, you need to use the `@firecrawl/anydoc-wasm` module.

**Agent Skill**

If you want to use anydoc with Claude Code, Codex, Cursor, or OpenCode, you first need to install the built-in anydoc Agent skill:

```
npx skills add firecrawl/anydoc
```

### Summary

With the anydoc library, we can easily implement document conversion functionality across various environments or platforms. If you only need to handle PDF documents, you can use the pdf-inspector library developed by the Firecrawl team; however, it does not support image-based PDFs, so you would still need to integrate an OCR service yourself.

## Community discussion

Top comments from developers on daily.dev.

**@agustinbarrientos** · 0 upvotes

> I don't think native documents, misleading file extensions, and image-only PDFs belong on one speed leaderboard.

**@cjbaccus** · 0 upvotes

> Cool.

## Similar posts on daily.dev

- [4 practical pandoc techniques for everyday document conversion](https://daily.dev/posts/4-practical-pandoc-techniques-for-everyday-document-conversion-wogzwon7g) · All Things Open · 0 upvotes · 0 comments
- [I write everything in Markdown and let a free converter produce Word documents instead](https://daily.dev/posts/i-write-everything-in-markdown-and-let-a-free-converter-produce-word-documents-instead-jdt7jqh90) · XDA Developers · 1 upvotes · 0 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#markdown](https://daily.dev/tags/markdown)

[View this post on daily.dev](https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr","headline":"A Faster Open-Source Alternative to MarkItDown, Pandoc, and Docling","text":"The Firecrawl team released anydoc, an open-source, cross-platform document converter built with Rust that converts Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, CSV, and PDF files into clean Markdown. It offers Node.js and Python bindings, a CLI, browser support via WebAssembly, and built-in agent skills for platforms like Claude Code, Cursor, and Codex. Benchmarked against six mainstream converters across 100 real-world documents in 14 formats, anydoc claims superior performance. It detects document formats from binary data, supports local processing without OCR, and provides a unified document model for consistent Markdown output.","url":"https://daily.dev/posts/a-faster-open-source-alternative-to-markitdown-pandoc-and-docling-nfkcqp6kr","datePublished":"2026-08-10T02:33:09.638Z","dateModified":"2026-09-13T21:16:39.970Z","author":{"@type":"Person","name":"bytefer","url":"https://daily.dev/bytefer","image":"https://lh3.googleusercontent.com/a-/AFdZucqlbOI8UzgORH9IT5mtLClCpRPYl-bBI9zaDVVd=s100","description":"Focus on AI Agent and AI Automation.","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":2170}},"image":"https://media.daily.dev/image/upload/s--3rV7N3AK--/f_auto/v1786329190/posts/NFkCqP6kr?_a=BAMAMicg0","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":60},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"comment":[{"@type":"Comment","text":"I don’t think native documents, misleading file extensions, and image-only PDFs belong on one speed leaderboard.","datePublished":"2026-08-11T01:26:55.418Z","url":"https://daily.dev/posts/NFkCqP6kr#c-bG1NJwT7q","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"}},{"@type":"Comment","text":"Cool.","datePublished":"2026-08-16T09:20:32.665Z","url":"https://daily.dev/posts/NFkCqP6kr#c-TiwJxNrKF","author":{"@type":"Person","name":"Carl Baccus","url":"https://daily.dev/cjbaccus","image":"https://avatars.githubusercontent.com/u/1283307?v=4"}}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/fx5kjjichwjnx5totxmtp","name":"bytefer"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"bytefer","item":"https://daily.dev/sources/fx5kjjichwjnx5totxmtp"},{"@type":"ListItem","position":3,"name":"A Faster Open-Source Alternative to MarkItDown, Pandoc, and Docling"}]}
```

