Pull the text out of any picture โ a screenshot, a photographed document, a whiteboard, a
receipt. This tool runs the Tesseract OCR engine as WebAssembly inside your
browser: the engine and language model download to your device on first use, and
after that your image is processed locally and never uploaded.
Six languages are supported (English, Spanish, French, German, Portuguese, Italian), results
are fully editable before you copy or download them, and a per-run confidence score tells you
when to proofread. If your text comes out sideways, use the rotate buttons โ orientation is
the number-one accuracy killer in OCR.
Tips for better OCR results
OCR engines read pixels, so image quality is everything. Prefer screenshots over photos where
you can; if you must photograph a document, shoot straight-on in even light and crop to the
text. Aim for text that is at least ~20 pixels tall in the image. High-contrast black-on-white
text recognizes dramatically better than colored or textured backgrounds.
Working with scans or PDFs? Convert pages with the
PDF to Images tool first, then OCR each page here. To check
what other data your photos carry before sharing them, run them through the
Image Metadata Viewer.
Frequently asked questions
Does my image get uploaded to a server?
No. The OCR engine (Tesseract, compiled to WebAssembly) downloads INTO your browser and runs there โ the first run fetches the engine and the selected language model (a few megabytes) from a CDN, and after that your image is processed entirely on your device. The image itself is never sent anywhere. This is the honest trade-off: a one-time model download in exchange for your photos staying private.
How accurate is the text extraction?
For clean, well-lit photos or screenshots of printed text, Tesseract typically reaches 90%+ character accuracy. Accuracy drops with low resolution, skewed or rotated text, decorative fonts, and handwriting (which is largely unsupported). The tool shows a confidence score for each run and warns you when regions come back below 60% confidence, so you know when to proofread carefully. The result box is editable for exactly that reason.
Which languages are supported?
English, Spanish, French, German, Portuguese, and Italian in this version. Each language has its own trained model that downloads on first use โ switching languages triggers a new (cached) download. If you OCR a document with the wrong language selected, accuracy suffers badly, so pick the language that matches the text.
Why is the first run slow?
The first extraction downloads the WebAssembly OCR engine plus the language model into your browser โ several megabytes total. The staged progress bar shows exactly what is loading (engine, language model, then recognition). Subsequent runs in the same session reuse the loaded engine and are much faster.
Why is my extracted text garbled?
The most common causes are rotation (use the rotate buttons โ Tesseract expects upright text), low image resolution, poor contrast, or the wrong language selection. Screenshots OCR much better than photos taken at an angle. If your source is a PDF, convert its pages to images first with our PDF to Images tool, then OCR each page.
Can it extract text from a PDF?
Not directly in this version. The workflow that works today: use our PDF to Images converter to turn each page into a PNG, then drop those images here. Native PDF OCR is on the roadmap.