How to extract text from an image
- Choose the language of the text in the picture. This matters: the engine uses it to recognise accents and words, so picking the right one makes the result much more accurate.
- Drop one or more images on the box, paste a screenshot, or click Choose images. Photos, screenshots and scans in JPG, PNG, WebP or BMP work.
- Wait while the text is read. A progress bar shows each stage. The first run also loads the engine and the language data, a few megabytes from this site; later runs are quicker.
- Read the result in the box, copy it or download it as a .txt file. With several images you can copy or download everything at once. If you chose the wrong language, change it and press Read again.
The recognition runs entirely in your browser. Your pictures and the extracted text are never uploaded, so it is suitable for ID cards, invoices, contracts and screenshots of private chats. There is no sign-up, watermark or limit on the number of images.
How OCR works
OCR, optical character recognition, turns the pixels of a picture into characters. The engine used here is the open-source Tesseract, compiled to run in the browser. It first finds blocks of text and lines, then reads each line with a neural network trained on many fonts and languages, and finally checks the words against the language's dictionary. The confidence figure is the engine's own estimate, from 0 to 100, of how sure it is about what it read. Below about 70 it is worth checking the text carefully.
Large pictures are scaled so that the longer side is at most 3200 pixels. That is plenty for normal text and keeps the reading fast and the memory use reasonable.
Getting the best results
- Straight and flat. Photograph a page from directly above, with the text horizontal. Tilted or curved lines are read much worse.
- Good light and contrast. Dark text on a plain light background is ideal. Avoid shadows, glare and photos of screens.
- Enough resolution. Letters should be at least about 20 pixels tall. For small print, move closer or use a scan at 300 DPI.
- Crop to the text. Pictures, logos and decorations around the text can confuse the layout analysis.
- Pick the language. For a Vietnamese document choose Tiếng Việt, or Tiếng Việt + English when product names and numbers are in English. Accented letters depend on it.
Worked example
You photograph a printed receipt with your phone and want the lines in a spreadsheet. Choose the language of the receipt, drop the photo and wait a few seconds. The result might read "Cà phê sữa đá 2 × 29.000", with a confidence of 88%. Check the numbers against the photo, since digits on thermal paper are easily misread, then copy the text. For a long contract with ten pages of scans, add all ten pictures at once: the tool reads them one after another and can give you a single .txt file with a heading for each page.
Limits to keep in mind
- Handwriting is generally not recognised reliably.
- Tables and columns come out as lines of text; the layout is not rebuilt, so you may need to tidy it in a spreadsheet.
- Always proofread. Look especially at numbers, names and accents before using the text in anything important.
- Phones may take longer and use a lot of memory on very large photos. Crop or resize them first if the page stalls.
Frequently asked questions
Are my pictures uploaded to a server?
No. The text recognition engine runs inside your browser, using files served from this site. Your images and the text never leave your device, which makes it safe for documents with personal data.
Which languages are supported?
English, Vietnamese (alone or together with English), Spanish, French, German and Portuguese. Choose the language that is written in the picture before you start; for mixed Vietnamese and English text use the combined option.
How accurate is it?
On clear, straight, high-contrast printed text it is usually very accurate, often above 95%. Blurry photos, low light, handwriting, curved pages, small print and decorative fonts reduce accuracy, so always proofread the result. The confidence figure shows how sure the engine is.
Why is the first run slow?
The first time, the engine and the language data, a few megabytes, are downloaded from this site. After that they are cached by your browser and the recognition itself takes a few seconds per image.
Can it read handwriting or PDFs?
Neatly printed text works best; handwriting is generally not recognised well. For a scanned PDF, convert its pages to images with the PDF to JPG tool and then read them here. For a PDF that already contains real text, use a PDF to text tool instead.