← Reader board: all formats

Which Python tool turns the most kinds of documents into text for AI (RAG)?

Kreuzberg, Unstructured, Docling, markitdown: each one tested on the same 477 odd real-world files from bug reports and fuzzers. New PyPI releases are tested again by themselves. Updated 06 November 2026.

477 files from Apache Tika test documents; 406 of them give text to at least one library.
Library🔴 Fails where
another reads
🟡 Empty where
another reads
⏱ Hangs or
crashes
Text from
(all files)
Errors
(all files)
Format not
supported
Median
ms/file
Total
seconds
1 Kreuzberg 4.10.411190374304<18.7
2 Unstructured 0.27.368220370281130507.4
3 Docling 2.148.01041266231507580.7
4 markitdown 0.1.9417125318149125388.2

By file type: files read with text

TypeKreuzbergUnstructuredDoclingmarkitdown
.docx 71 files60/71 7 empty 4 failed57/71 10 empty 3 failed 1 not supported59/71 6 empty 6 failed57/71 10 empty 4 failed
.pdf 71 files45/71 22 empty 4 failed50/71 16 empty 5 failed52/71 14 empty 5 failed44/71 21 empty 6 failed
.doc 49 files37/49 5 empty 7 failed37/49 9 empty 1 failed 2 not supportednot supportednot supported
.rtf 44 files41/44 3 empty40/44 2 empty 2 failednot supportednot supported
.html 38 files34/38 2 empty 2 failed34/38 2 empty 2 failed36/38 2 empty36/38 2 empty
.xlsx 35 files22/35 9 empty 4 failed21/35 10 empty 4 failed20/35 8 empty 7 failed20/35 9 empty 6 failed
.txt 30 files30/3030/3028/30 2 failed30/30
.xls 30 files18/30 8 empty 4 failed18/30 7 empty 5 failednot supported20/30 8 empty 2 failed
.pptx 29 files22/29 6 empty 1 failed21/29 7 empty 1 failed23/29 5 empty 1 failed22/29 6 empty 1 failed
.ppt 22 files16/22 6 empty16/22 4 empty 2 failednot supportednot supported
.odt 17 files15/17 2 failed15/17 1 empty 1 failed15/17 2 failednot supported
.msg 14 files14/1414/1413/14 1 failed14/14
.eml 9 files9/99/99/9not supported
.odp 4 filesnot supportednot supported2/4 2 emptynot supported
.ods 4 files3/4 1 emptynot supported4/4not supported
.csv 3 files3/33/33/33/3
.epub 3 files3/33/3not supported3/3
.json 2 files0/2 2 failed0/2 2 failednot supported2/2
.md 2 files2/22/22/22/2

Don't want to run it yourself? I also run PDF & Document to Markdown as a pay-per-use API on Apify (it uses pdfplumber and pypdfium2 for PDFs, markitdown for Office files). Disclosure: that tool is mine; the rankings above come only from the measurements.

How this is measured