Webfold
Menu

Benchmark · Measured

Document conversion

Webfold converts an office document in a median 27.7 µs. Anydoc takes 155.5 µs. That is 5.6 times faster in process. Cold, the gap is only 1.1 times.

Office files or ebooks to Markdown. Webfold against anydoc, Pandoc or MarkItDown.

Last updated , the newest measurement or check on record for this page.

Run: Measured September 2026

What question does this benchmark ask?

How fast does each tool convert the same office documents? Alone. Under load. As a command-line call.

How was it run?

  • Single-document track: 45 public fixtures from the comparison converter (anydoc), both tools linked into one binary and given identical bytes. Hot is in process after warm-up; cold is a fresh process per fixture.
  • Load track: a 17-fixture pool of small CSV, XLSX and DOCX files, 4,000 documents per worker, 1 to 64 workers, per-worker state, no shared cache.
  • Command-line track: Webfold's CLI, Pandoc 3.1.11.1 and MarkItDown 0.1.8, one process per call, 16 workers.

What are the results?

Median time to convert one document, hotShorter is better
Webfold
27.7 µs
anydoc
155.5 µs
Documents per second, 1 workerLonger is better
Webfold
17,670
anydoc
2,093
Documents per second, 64 workersLonger is better
Webfold
203,854
anydoc
23,948
Peak memory at 64 workers, MiBShorter is better
Webfold
21.0 MiB
anydoc
76.4 MiB
Command-line calls per second, 16 workersLonger is better
Webfold CLI
2,173
Pandoc
329
MarkItDown
2.8
MeasurementWebfoldComparison
Median per document, hot, 45 fixtures27.7 µsanydoc 155.5 µs (5.6 times)
Fixtures where Webfold is faster, hot45 of 45per-fixture median 5.9 times, range 2.2 to 98
Median per document, cold (fresh process)2.77 msanydoc 3.17 ms (1.1 times)
Throughput, 1 worker17,670 per secondanydoc 2,093 (8.4 times)
Throughput, 4 workers66,928 per secondanydoc 7,484 (8.9 times)
Throughput, 16 workers143,013 per secondanydoc 18,262 (7.8 times)
Throughput, 64 workers203,854 per secondanydoc 23,948 (8.5 times)
Peak memory, 64 workers21.0 MiBanydoc 76.4 MiB (3.6 times)
CLI calls per second, 16 workers2,172.8Pandoc 329.0 (6.6 times); MarkItDown 2.80 (777 times)
The same document again, cache hit against converting again13.98 µs to 2.69 µs5.2 times at the median, up to 11.5 times

Warm, Webfold converts a document about 5.6 times faster than anydoc and is faster on every one of the 45 fixtures. Under load it does about 8 to 9 times the throughput at every worker count tried, in about a quarter of the memory.

As a command-line call it does 6.6 times the calls per second of Pandoc and about 777 times those of MarkItDown, which starts a Python interpreter and its libraries for each document (2.28 seconds per document in this run).

Documents you read again are cheaper still: a cache hit is about 5.2 times faster than converting again.

What does this not show?

Know the limits

  • Cold, a fresh process per document, the gap with anydoc is 1.1 times: process start-up dominates. The 5.6 times is the in-process figure.
  • This is conversion success, not a fidelity score. Math, embedded objects, merged cells, display formats and ebook reading order are unscored, and Webfold wrote nothing for one PPTX fixture where anydoc wrote 24 bytes.
  • Small public fixtures. The load track uses CSV, XLSX and DOCX only. The cache figure is a lookup, not a conversion, and the cached path is slower than plain conversion on the first read for 16 of 17 fixtures.
  • Peak memory for the command-line tools includes the child process. MarkItDown's per-document time in the data (2.28 s) is lower than the 50 s quoted in earlier prose.
  • Corrected on 2026-11-08: this page earlier showed 24,302 and 169,282 documents per second and 20 against 78 MiB. Those did not match the retained results and have been replaced with the retained figures above. Webfold's 1-worker rate is lower than the old figure and its 64-worker rate is higher.
  • Pandoc 3.1.11.1 has no xlsx reader: the XLSX files in the command-line pool failed for it, and those failed calls are inside its calls per second (80 of its 288 calls at 16 workers).
  • No PDF files are in this benchmark. The PDF extraction benchmark has its own page.

Source: webfold-bench: bench/results/document-rust-cold-hot-2026-09-24.json, document-throughput-2026-09-25.json, document-vs-incumbents-2026-09-25.json, document-cache-cold-hot-2026-09-25.json

Which other benchmarks are there?

Check it on your own pages.

Run the command-line tool on your content.