OCR that actually works: extract text from images and scans
Optical Character Recognition turns pictures of text into text you can select, search and edit. The engine matters less than most people expect — input quality decides the result.
Do this before you run OCR
- Deskew. Even 3–4° of rotation measurably hurts line detection. Straighten the page first.
- Crop tight. Remove desk, fingers and page edges so the engine only sees text.
- Raise contrast. Dark text on a light, even background wins; use Image filters to push brightness and contrast, or convert to grayscale.
- Aim for ~300 DPI. Roughly 25–30 px of height per line of text. Below that, characters blur together.
- Avoid shadows and glare. Flat, diffuse light beats a bright lamp at an angle.
- Don't over-shrink. Resizing a scan down before OCR throws away the detail the engine needs.
What to expect from each engine
| Engine | Strength | Trade-off |
|---|---|---|
| Tesseract in your browser (what Toolsii uses) | Free, private, reliable on clean printed text | Struggles with handwriting and complex tables; first run downloads a language model |
| Cloud OCR (Vision, Textract) | Best on handwriting, receipts, low-light photos | Costs money per page and uploads your document |
| Text already inside a PDF | Perfect accuracy — it is real text, not a picture | Only works if the PDF was generated digitally, not scanned |
Try Extract PDF text first on any PDF. If it returns nothing, the pages are images — export them with PDF to images and OCR each page.
Fixing the output
Raw OCR nearly always contains hyphen artefacts, broken line wraps, and confusions like l/1, O/0 and rn/m. Paste the result into AI OCR cleanup to rejoin words and restore paragraphs, then proofread numbers by hand — those are the errors a language model cannot detect.
FAQ
Is the OCR free and private?
Yes. Recognition runs as WebAssembly inside your tab — the image is never uploaded, and there is no page limit or signup.
Which languages work?
Ten languages ship with the tool, including English, Arabic, French, German, Spanish and Portuguese. Choosing the right one matters more than any other setting.
Can it read handwriting?
Not reliably. Tesseract is trained on printed type; neat block capitals sometimes work, cursive rarely does.
Why is the first run slow?
The language model downloads once and is then cached, so subsequent pages are much faster.
Tools: Image to text (OCR) · AI OCR cleanup · Extract PDF text