Before you upload: a 30-second checklist
Run through this before hitting the OCR button โ it saves more time than re-running a bad scan:- [ ] Crop to just the text area โ extra whitespace confuses layout analysis
- [ ] Check rotation โ text should be within ~15ยฐ of horizontal
- [ ] Verify contrast โ dark text on light background works best
- [ ] Zoom in on small text โ characters should be at least 20 pixels tall
- [ ] Skip handwriting โ Tesseract is trained on printed fonts only
How Tesseract.js works in your browser
The Text Extractor runs Tesseract.js v4 โ a full WebAssembly port of Google's Tesseract OCR engine. Tesseract was originally developed at HP Labs in the 1980s, open-sourced in 2005, and maintained by Google since 2006. Version 4 introduced an LSTM (Long Short-Term Memory) neural network recognition layer on top of the classic character classifier, dramatically improving accuracy on real-world documents.The WASM binary (~12 MB) downloads and caches on your first visit. All recognition runs in a Web Worker โ a background thread โ so it does not freeze the UI while processing. The image data and extracted text never leave your device.
What Determines Accuracy
High accuracy (98-99%+):- Screenshots of digital documents, PDFs, e-books
- Printed text on white paper photographed under good light
- High-DPI scans (300 DPI+) of typed documents
- Phone photos of documents with slight angle or shadow
- Lower-contrast text (grey text on light background)
- Mixed layouts with tables and columns
- Severely rotated text (more than ~20 degrees)
- Decorative or unusual fonts
- Handwriting
Tips to Improve Your Results
Crop before uploading. Tesseract segments the image into text regions before recognition. Extra whitespace or non-text areas add processing time and can confuse the layout analysis.Resolution matters. The LSTM model was trained on images where text is at least 20 pixels tall. If your source image has tiny text, scale it up before running OCR.
High contrast helps. Dark text on light background is what the model was trained on. If your image has inverted colors (light text on dark), invert it before uploading.