Image Text Extractor (OCR)
Convert images, scanned pages and screenshots into selectable text. The image is processed on your device and is not uploaded
Choose an Image
Click to browse or drag and drop
JPG, PNG or WebP, ideally at full quality
Extracted Text
How to use this tool
- Choose the document language (English, Spanish, French, German, Portuguese or Italian) so the right recognition data is used.
- Select a JPG, PNG or WEBP image, or drag it onto the upload area.
- Press “Extract Text” and wait: the first run downloads the OCR engine and language data once.
- Proofread the text, fix any misread characters and press “Copy Text”.
Worked example
Say you photographed a printed utility bill and want the account number in a spreadsheet. Pick the bill's language, upload a sharp, straight, well-lit photo and extract. Clean print usually comes out nearly right, but look-alike characters such as 0 and O, or 1 and l, are classic slips, so check every digit against the original before pasting. A blurry, skewed or low-contrast image gives much weaker results than a flat scan, so retaking the picture is often faster than correcting the text.
Methodology
The engine is Tesseract (Apache License 2.0), which began at HP Labs in the 1980s, was open-sourced in 2005 and has been developed with Google's sponsorship since. From version 4 its default recognizer is an LSTM neural network that reads whole text lines. This page runs Tesseract.js 5.1.0 (also Apache 2.0), a WebAssembly build of the engine for browsers.
What a photo needs before OCR can read it
Most bad results are decided before you press the button. These are the slips this page is built to catch or soften.
- Leaving the wrong language selected. The menu starts on your page language and offers six sets (English, Spanish, French, German, Portuguese, Italian). A German letter read with English data loses its ä, ö and ü. Pick the language of the document, not of your screen.
- Shooting the whole page from far away. Images are capped at 2,400 px on the long side. Crop an A4 page to its text block, say half the height (5.85 in), and the same 2,400 px give about 410 DPI instead of 205.
- Uploading light text on a transparent background. Transparent areas are painted white before recognition, so white or pale text on a transparent PNG disappears. Export it with a solid dark background first.
- Mixing two languages in one run. Only one language set is used per run. Run the page twice, once per language, and merge by hand.
- Expecting layout. Columns, tables and forms come back as plain lines of text. Treat the output as raw material to reformat, and proofread every digit.
OCR is an estimate, not a transcript.
Gear for Better Scans
A scanner, a phone stand and a document feeder scanner. Sharp, evenly lit images usually give better text recognition.
Ambir Ultra-Compact USB Document Scanner
A compact USB sheet-fed scanner for receipts, cards and documents, according to the listing. A clean scan usually gives better text recognition than a photo.
Overhead Gooseneck Phone Desk Mount
A gooseneck clamp that holds a phone above the desk, according to the listing, so you can photograph pages flat and steady.
High-Speed Color Duplex Document Scanner
A desktop duplex scanner with an automatic document feeder, according to the listing, for scanning stacks of pages in one go.
As an Amazon Associate we earn from qualifying purchases at no additional cost to you.
Frequently asked questions
Is my image uploaded anywhere? ▼
No. The image is decoded, resized and recognized inside your browser. What does go over the network is the tooling: the Tesseract.js script, the WebAssembly engine and the language file are downloaded from the jsDelivr CDN when you press Extract Text. That host sees your IP address and the names of those files, but not your image or the text found in it.
Why is the output full of typos or missing lines? ▼
Typical causes are blur, shadows across the page, low contrast, a phone photo taken at an angle, very small print and handwriting. Photograph the page from directly above in even light, crop to the text and avoid compressing the file again. Also check that the document language matches the one selected: with English selected, characters such as ä, é or ñ are often misread, and a page mixing two languages is best run twice.
How long does it take, and does it work offline? ▼
The first run needs an internet connection to fetch the engine and the language data, which takes noticeable time on a slow connection. The recognition itself runs on your own processor, so a large photo takes longer on an older phone than on a laptop. Once the files are cached by your browser, a repeat run may start faster, but offline use is not guaranteed because the cache can be cleared.
Can I rely on the result for contracts or invoices? ▼
Treat it as a first draft. OCR can swap look-alike characters (0 and O, 1 and l, 5 and S), which is risky in amounts, IBANs, dates and names. Compare the extracted text against the original before you use it for anything legal, medical or financial.