What OCR does
OCR converts pictures of characters into character codes. The engine locates lines of text in the image, isolates each glyph, compares its shape against a trained model of the selected language, and outputs the most probable character. The result is real text: selectable, searchable and editable.
This tool uses Tesseract, the long-established open-source OCR engine, compiled to WebAssembly so it runs at native-like speed inside the browser rather than on a server.
How to extract text from an image
- Choose your image. Drag a PNG, JPG, WebP or BMP onto the box above, or click to browse. Screenshots, phone photos and flatbed scans all work.
- Select the language. Pick the language of the text in the picture. The correct language materially improves accuracy, because each model knows that language's character shapes and letter combinations.
- Click Extract text. The OCR engine downloads once, then recognises the image. Progress is shown as a percentage.
- Edit, copy or download. The result appears in an editable box. Fix any stray characters, then copy it or download it as a .txt file.
What the output looks like
The output is plain text with line breaks preserved roughly as they appear in the image. It lands in an
editable text box rather than a read-only panel, because OCR output almost always benefits from a quick
human pass — most often for a mistaken 0 against O, or 1 against
l.
Copy the text to the clipboard or download it as a .txt file. There is no watermark and no
character cap.
Supported images and languages
Accepted formats are PNG, JPEG, WebP, BMP and GIF — any raster image your browser decodes. Eleven languages are available: English, Spanish, French, German, Portuguese, Italian, Hindi, Arabic, Russian, Simplified Chinese and Japanese.
Accuracy tracks image quality closely. Text at least 20 pixels tall, in focus, and roughly horizontal reads reliably. A 300 DPI scan outperforms a phone photo of the same page by a wide margin.
Why the image is never uploaded
The OCR engine itself is downloaded to your browser and runs there, so the image stays in local memory. Only the engine and its language model come over the network — never your file.
Most free OCR sites work the other way round, uploading your image for server-side processing. For a photographed passport, a signed contract or a medical letter, keeping the file on your own machine is the difference that matters.
Where OCR gets things wrong
Four conditions reliably degrade accuracy:
- Low resolution. Text below roughly 20 pixels tall lacks the detail needed to distinguish similar glyphs.
- Handwriting. This engine is trained on printed type. Cursive and handwritten notes are largely unreadable to it.
- Skew and curvature. Rotated pages and photos of curved book spines break line detection. Straighten the image first.
- Low contrast and busy backgrounds. Pale grey text, watermarks behind words and text over photographs all confuse glyph isolation.
OCR also does not preserve layout. Columns, tables and headers arrive as running text.
Common reasons to run OCR
- Copying text from a screenshot — recovering an error message, a receipt or a chat extract that cannot be selected.
- Digitising paper — turning scanned letters, forms and notes into searchable text.
- Quoting from a book or slide — capturing a passage from a photograph of a page.
- Reading a non-selectable PDF — exporting the page as an image, then recognising it.
- Accessibility — producing text a screen reader can voice.
OCR compared with reading a PDF's text layer
Use OCR only when there is no text layer to read. A digitally created PDF already contains real text, and the PDF text extractor returns it perfectly — OCR on the same file would be slower and less accurate. A scan is the opposite case: nothing but pixels, so OCR is the only route.
Once you have the text, feed it into the email and URL extractor or the phone number extractor to pull out the values you actually need. To read a photo's camera and GPS data instead of its text, use the EXIF metadata extractor.
For a detailed breakdown of when to use each approach, read OCR vs text extraction and how accurate OCR actually is.
OCR engine standards and accuracy edge cases
The tool uses Tesseract.js, running the Tesseract 4 LSTM engine via WebAssembly entirely in the browser. The LSTM engine was trained on synthetic font data at 300 DPI and is more accurate on natural text than the legacy word-based engine it replaced. The English model (eng.traineddata) covers Latin-script text.
Three variables most affect accuracy: (a) resolution — the model was trained at 300 DPI; a phone screenshot captured at 96 screen PPI is effectively lower resolution, and scaling the image to 150% before dropping it here improves results on small text; (b) the engine uses PSM 3 (fully automatic page segmentation), which handles mixed-column layouts and single-column text accurately but struggles with very short text or single words — crop tightly to the text area for best results; (c) digit confusion — 0/O and 1/l/I are frequently misread in sans-serif fonts at small sizes; verify any extracted numbers against the original image before using them in calculations.
Frequently asked questions
How do I extract text from an image for free?
Drop the image above, choose its language and click Extract text. There is no signup, no watermark and no daily limit.
Is my image uploaded anywhere?
No. The OCR engine runs inside your browser. Your image stays in local memory and is never transmitted.
Why is the first run slower?
The OCR engine and the language model download once, which takes a few seconds. They are then cached, so later images process immediately.
Which languages are supported?
Eleven: English, Spanish, French, German, Portuguese, Italian, Hindi, Arabic, Russian Simplified Chinese and Japanese. Select the language before extracting.
Can it read handwriting?
No. The engine is trained on printed text. Handwritten and cursive writing produce unreliable results.
Why is the recognised text full of mistakes?
Almost always image quality. Rescan or rephotograph so the text is in focus, roughly horizontal, high contrast and at least 20 pixels tall, then try again.
Does OCR keep my table layout?
No. OCR returns running text. For tables inside a PDF, use the PDF table extractor instead.