← Reader board: all formats

Which Python PDF library breaks least?

PyMuPDF, pypdfium2, pypdf, pdfminer.six, pdfplumber, markitdown: each one tested on the same 1,077 odd real-world PDF files from bug reports and fuzzers. New PyPI releases are tested again by themselves. Updated 06 November 2026.

1,077 files from Mozilla pdf.js test PDFs; 724 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)
Median
ms/file
Total
seconds
1 PyMuPDF 2.167071114213.2
2 pypdfium2 5.15.0655066324110.0
3 pypdf 7.0.0
since 6.21.4: ▼ 1 newly failing
11490664344145.8
4 pdfminer.six 20260107
since 20251230: ▲ 2 fixed
11640649314179.5
5 pdfplumber 0.11.10
since 0.11.9: ▲ 1 fixed
11640649325227.6
6 markitdown 0.1.9
since 0.1.8: ▼ 1 newly failing
126416483194516.3

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