← PDF → Markdown (quality) libraries · Reader board

Kreuzberg 4.10.4 on PDF → Markdown (quality)

190 files: text from 136, empty 54, errors 0, hangs 0, crashes 0. 190 files give text to at least one library.

🔴 Fails where another library reads text: none

🟡 Empty where another library reads text: 54

pdfs/long_tiny_text/10c_pg1.pdfno text (0.003 s)
pdfs/long_tiny_text/14a_pg1.pdfno text (0.003 s)
pdfs/long_tiny_text/14b_pg1.pdfno text (0.003 s)
pdfs/long_tiny_text/14d_pg1.pdfno text (0.003 s)
pdfs/long_tiny_text/15b_pg1.pdfno text (0.002 s)
pdfs/long_tiny_text/15d_pg1.pdfno text (0.002 s)
pdfs/long_tiny_text/16a_pg1.pdfno text (0.002 s)
pdfs/long_tiny_text/17_pg17_pg1.pdfno text (0.005 s)
pdfs/long_tiny_text/17_pg34_pg1.pdfno text (0.004 s)
pdfs/long_tiny_text/17_pg4_pg1.pdfno text (0.004 s)
pdfs/long_tiny_text/17_pg86_pg1.pdfno text (0.004 s)
pdfs/multi_column/02a3e23da54b82c414d272051b0b5d8f44d8_page_17_pg1.pdfno text (0.002 s)
pdfs/multi_column/0d7f2cbc54e1b8e58b42a867c3f7620bcd29_page_8_pg1.pdfno text (0.003 s)
pdfs/old_scans/12.pdfno text (0.003 s)
pdfs/old_scans/14.pdfno text (0.003 s)
pdfs/old_scans/18.pdfno text (0.003 s)
pdfs/old_scans/20.pdfno text (0.003 s)
pdfs/old_scans/25.pdfno text (0.002 s)
pdfs/old_scans/26.pdfno text (0.003 s)
pdfs/old_scans/33.pdfno text (0.003 s)
pdfs/old_scans/34.pdfno text (0.003 s)
pdfs/old_scans/39.pdfno text (0.003 s)
pdfs/old_scans/4.pdfno text (0.003 s)
pdfs/old_scans/41.pdfno text (0.003 s)
pdfs/old_scans/42.pdfno text (0.004 s)
pdfs/old_scans/44.pdfno text (0.003 s)
pdfs/old_scans/45.pdfno text (0.003 s)
pdfs/old_scans/46.pdfno text (0.003 s)
pdfs/old_scans/48.pdfno text (0.004 s)
pdfs/old_scans/50.pdfno text (0.005 s)
pdfs/old_scans/54.pdfno text (0.003 s)
pdfs/old_scans/56.pdfno text (0.003 s)
pdfs/old_scans/58.pdfno text (0.003 s)
pdfs/old_scans/6.pdfno text (0.002 s)
pdfs/old_scans/60.pdfno text (0.003 s)
pdfs/old_scans/62.pdfno text (0.003 s)
pdfs/old_scans/64.pdfno text (0.003 s)
pdfs/old_scans/65.pdfno text (0.003 s)
pdfs/old_scans/67.pdfno text (0.003 s)
pdfs/old_scans/69.pdfno text (0.003 s)
pdfs/old_scans/7.pdfno text (0.002 s)
pdfs/old_scans/72.pdfno text (0.003 s)
pdfs/old_scans/75.pdfno text (0.003 s)
pdfs/old_scans/78.pdfno text (0.003 s)
pdfs/old_scans/80.pdfno text (0.004 s)
pdfs/old_scans/82.pdfno text (0.003 s)
pdfs/old_scans/84.pdfno text (0.003 s)
pdfs/old_scans/87.pdfno text (0.003 s)
pdfs/old_scans/9.pdfno text (0.003 s)
pdfs/old_scans/90.pdfno text (0.003 s)
pdfs/old_scans/91.pdfno text (0.003 s)
pdfs/old_scans/93.pdfno text (0.003 s)
pdfs/old_scans/96.pdfno text (0.003 s)
pdfs/tables/2e5fbee1a02ad5dde299c81b1c11c16ad8c9_pg5.pdfno text (0.003 s)

⚔️ Compare: Kreuzberg vs Docling

Changes between versions

Only one version tested so far. The next PyPI release is tested automatically.

Badge

For a README: badge

[![Reader board](https://img.shields.io/endpoint?url=https://prometheus-maker.github.io/reader-board/badges/pdfmd-kreuzberg.json)](https://prometheus-maker.github.io/reader-board/pdfmd-kreuzberg.html)

Slowest files

pdfs/headers_footers/06a6973243b924972db1acee857c1ce6a19c7844_page_6_processed.pdf0.662 s, 98 MB
pdfs/headers_footers/062cc165e270a165b0660ec26b2478ac7a3fdab6_page_3.pdf0.661 s, 99 MB
pdfs/headers_footers/5be349767dcbdc846508dfc2b18a93336485ba3c_page_1.pdf0.496 s, 104 MB
pdfs/long_tiny_text/13_pg556_pg1.pdf0.329 s, 106 MB
pdfs/multi_column/04e85af12e0a127ebe1a8875250b0f3ab052_page_2_pg1.pdf0.287 s, 127 MB
pdfs/long_tiny_text/20_pg39_pg1.pdf0.276 s, 127 MB
pdfs/long_tiny_text/13_pg475_pg1.pdf0.233 s, 105 MB
pdfs/tables/bb9fad9e75c312741367451678105682fa9b_pg1_pg1.pdf0.233 s, 127 MB
pdfs/long_tiny_text/13_pg531_pg1.pdf0.229 s, 127 MB
pdfs/long_tiny_text/13_pg566_pg1.pdf0.229 s, 127 MB

Recipe: board/targets.py. Run: 2026-11-06T20:23:56Z, Python 3.13.18, Linux x86_64, 4 CPUs (log). Installed: RapidFuzz==3.14.6, attrs==26.1.0, beautifulsoup4==4.15.0, fuzzysearch==0.8.1, kreuzberg==4.10.4, soupsieve==4.0.1, typing_extensions==4.16.0