← Any document β†’ text: all libraries Β· Reader board

markitdown vs Unstructured: which one reads more real-world documents?

markitdown 0.1.9 and Unstructured 0.27.36 on the same 477 odd real-world files from Apache Tika test documents (bug reports, fuzzers, broken exporters). Measured, not opinion; re-tested by itself on every new PyPI release. Updated 06 November 2026.

More files readUnstructured370 vs 253
Faster on this setmarkitdown388.2 s vs 507.4 s total (about as fast)
Both read246only markitdown: 7 Β· only Unstructured: 124

Unstructured got text from more files: 370 vs 253 of 477. markitdown broke (error, hang or crash) on 2 files that Unstructured read; Unstructured broke on 6 files that markitdown read.

LibraryText fromπŸ”΄ Fails where
the other reads
🟑 Empty where
the other reads
⏱ Hangs or
crashes
Format not
supported
Median
ms/file
Total
seconds
markitdown 0.1.9253251149125388.2
Unstructured 0.27.363706101130507.4

By file type: files read with text

TypemarkitdownUnstructured
.docx 71 files57/71 10 empty 4 failed57/71 10 empty 3 failed 1 not supported
.pdf 71 files44/71 21 empty 6 failed50/71 16 empty 5 failed
.doc 49 filesnot supported37/49 9 empty 1 failed 2 not supported
.rtf 44 filesnot supported40/44 2 empty 2 failed
.html 38 files36/38 2 empty34/38 2 empty 2 failed
.xlsx 35 files20/35 9 empty 6 failed21/35 10 empty 4 failed
.txt 30 files30/3030/30
.xls 30 files20/30 8 empty 2 failed18/30 7 empty 5 failed
.pptx 29 files22/29 6 empty 1 failed21/29 7 empty 1 failed
.ppt 22 filesnot supported16/22 4 empty 2 failed
.odt 17 filesnot supported15/17 1 empty 1 failed
.msg 14 files14/1414/14
.eml 9 filesnot supported9/9
.odp 4 filesnot supportednot supported
.ods 4 filesnot supportednot supported
.csv 3 files3/33/3
.epub 3 files3/33/3
.json 2 files2/20/2 2 failed
.md 2 files2/22/2

Files only markitdown reads (7)

tika-encoding-detector-icu4j/test_ignore_IBM420.htmlUnstructured: UnprocessableEntityError: Unable to determine file encoding. Specify the source encoding with encoding=, or check whether the file is a supported text document.
tika-parser-microsoft-module/testEXCEL_4.xlsUnstructured: UnprocessableEntityError: Not a valid XLSX file.
tika-parser-microsoft-module/testEXCEL_5.xlsUnstructured: UnprocessableEntityError: Not a valid XLSX file.
tika-parser-microsoft-module/testPPT_charts.pptxUnstructured: no text
tika-parser-text-module/test_ignore_IBM420.htmlUnstructured: UnprocessableEntityError: Unable to determine file encoding. Specify the source encoding with encoding=, or check whether the file is a supported text document.
tika-pipes-json/test-with-unpack.jsonUnstructured: ValueError: Not a valid ndjson
tika-pipes-json/test.jsonUnstructured: ValueError: Not a valid ndjson

Files only Unstructured reads (124)

tika-parser-mail-module/testEmailWithPNGAtt.emlmarkitdown: format not supported
tika-parser-mail-module/testGroupWiseEml.emlmarkitdown: format not supported
tika-parser-mail-module/testRFC822_dkim.emlmarkitdown: format not supported
tika-parser-mail-module/testRFC822_multipart_attachments.emlmarkitdown: format not supported
tika-parser-mail-module/testRFC822_x-.emlmarkitdown: format not supported
tika-parser-microsoft-module/casing/simple_normal_case.docmarkitdown: format not supported
tika-parser-microsoft-module/test.docmarkitdown: format not supported
tika-parser-microsoft-module/testComment.docmarkitdown: format not supported
tika-parser-microsoft-module/testComment.pptmarkitdown: format not supported
tika-parser-microsoft-module/testComment.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testControlCharacters.docmarkitdown: format not supported
tika-parser-microsoft-module/testEML_embedded_xhtml_and_img.emlmarkitdown: format not supported
tika-parser-microsoft-module/testException1.docmarkitdown: format not supported
tika-parser-microsoft-module/testException2.docmarkitdown: format not supported
tika-parser-microsoft-module/testFontAfterBufferedText.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testMSChart-govdocs-428996.pptmarkitdown: format not supported
tika-parser-microsoft-module/testMSEquation-govdocs-863534.docmarkitdown: format not supported
tika-parser-microsoft-module/testPPT.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_2imgs.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_autodate.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_comment.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_custom_props.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_embedded2.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_embeded.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_groups.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_macros.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_masterFooter.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_oleWorkbook.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_skipBadCompressedObject.pptmarkitdown: format not supported
tika-parser-microsoft-module/testPPT_various.pptmarkitdown: format not supported
tika-parser-microsoft-module/testRTF-ms932.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTF.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFBoldItalic.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFControls.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFCorruptListOverride.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFEmbeddedFiles.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFEmbeddedLink.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFHexEscapeInsideWord.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFHyperlink.rtfmarkitdown: format not supported
tika-parser-microsoft-module/testRTFHyperlinkAndStyles.rtfmarkitdown: format not supported

…and 84 more: see each library's page.

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.

What this does not tell you

This compares not breaking: whether each library gets any text out of each file. It does not rank text quality (reading order, tables, headings), and speed is one GitHub-hosted runner, default settings, no OCR switched on. If you need structure for RAG, also look at the output on your own files.

How this is measured