← Reader board: all formats

Which Python OCR engine reads the most words correctly?

PaddleOCR, docTR, RapidOCR, EasyOCR, Tesseract: each one tested on the same 190 real-world images with known text: 80 receipt photos, 50 document pages and 60 app screenshots. New PyPI releases are tested again by themselves. Updated 06 November 2026.

190 files from OCR test set (CORD receipts, DocLayNet pages, app screenshots); 190 of them give text to at least one library.
Library🔴 Fails where
another reads
🟡 Empty where
another reads
⏱ Hangs or
crashes
✅ Words
found
Median
ms/file
Total
seconds
1 PaddleOCR 3.7.0
Note: With paddlepaddle 3.2.2, as its maintainers advise: with 3.3.1 (the default install) every image fails on CPU (PaddleOCR issue #18162). why
00095.1%30701,527.6
2 docTR 1.1.000095.0%2286864.8
3 RapidOCR 3.10.000092.4%372136.6
4 EasyOCR 1.7.200075.2%3736620.5
5 Tesseract 0.3.13 (tesseract 5.5.0)024067.5%13253.8

By kind of image: words found

ImagesPaddleOCRdocTRRapidOCREasyOCRTesseract
documents 50 images91.6%92.0%90.2%71.5%88.2%
receipts 80 images94.8%95.5%89.4%67.7%37.6%
screenshots 60 images98.5%96.9%98.4%88.2%90.0%

Don't want to run it yourself? I also run Image & Scanned PDF to Text OCR as a pay-per-use API on Apify (it uses RapidOCR for photos and Tesseract for scans, the split this table supports). Disclosure: that tool is mine; the rankings above come only from the measurements.

How this is measured