Image Compressor
Shrink JPG, PNG and WebP with a quality slider and live size readout.
Image & Photo
Pull text out of screenshots and scans in around 100 languages.
OCR accuracy is dominated by input quality, not by the engine. The same document scanned well and scanned badly can differ by forty percentage points.
| Input | Typical accuracy | Main failure mode |
|---|---|---|
| Screenshot of on-screen text | 98–99% | Almost none — pixels are already crisp |
| 300 DPI flatbed scan | 96–99% | Occasional confusion of l / I / 1 |
| Phone photo of a printed page | 88–95% | Perspective skew and uneven lighting |
| 150 DPI scan | 80–90% | Characters below the resolution threshold |
| Photo of a screen | 70–85% | Moiré patterns from pixel grids |
| Handwriting | 20–50% | Tesseract is trained on print, not script |
| Stylized or display fonts | 40–70% | Glyph shapes outside the training set |
Five changes account for nearly all of the achievable improvement.
Not directly — this tool takes images. There are two kinds of PDF, and only one of them needs OCR.
A digital PDF, exported from Word or a design tool, already contains selectable text. Open it and copy the text out; running OCR on it would only introduce errors into something already perfect.
A scanned PDF is a container holding page images, with no text layer at all. That is the case OCR is for. Use the PDF to JPG tool to render each page to an image, then bring the images here.
Around 100, including all Western European languages, Cyrillic scripts, Greek, Arabic, Hebrew, Devanagari, Chinese (simplified and traditional), Japanese and Korean.
Each language is a separate trained model of roughly 2–15 MB, downloaded on demand and then cached. Selecting English downloads only English.
For documents mixing scripts — an English paper with Greek mathematical notation, or a bilingual form — you can select multiple languages and the engine will consider all of them. This costs accuracy on each individual language, so select only the ones actually present.
Poorly. Tesseract is trained on printed type; handwriting recognition needs a different class of model. Expect 20–50% on neat printing and effectively nothing on cursive.
Reading order and line breaks are preserved. Columns, tables and text boxes are flattened into a single stream, because layout analysis is a separate problem from character recognition.
Two to ten seconds per page on a modern laptop after the language model has downloaded. The first run of any language includes a one-time model download of a few megabytes.
No. Tesseract is compiled to WebAssembly and runs in a Web Worker in this tab. The only network traffic is the language model download, which is cached afterwards.
If the handwriting is neat block capitals, sometimes. Crop tightly, increase contrast first, and expect to correct the output.
Usually the wrong language selection, or an image below about 200 DPI. Check the language first, then the resolution.
No. Process as many images as you like — there is no per-page cost, unlike commercial OCR APIs that bill per thousand pages.