How to use the Image to Text (OCR)
- Drop an image onto the box, choose a file, or paste a screenshot with Ctrl+V.
- Pick the language the text is written in. Tick Also read English words for mixed-language documents.
- Click Extract text. The first run for a language downloads the engine and language data, then recognition starts.
- Check and correct the result in the text box, then click Copy text or Download .txt.
Features
- OCR for 22 languages, including right-to-left scripts
- Mixed-language mode with English
- Automatic upscaling and contrast boost for small or dull images
- Progress bar and average confidence score
- Editable result with copy and .txt download
- Your image is processed locally, never uploaded
How OCR turns pixels into text
Optical character recognition looks at an image, finds the areas that contain text, splits them into lines and words, and works out which characters the shapes represent. This page uses Tesseract, a widely used open-source OCR engine originally developed at Hewlett-Packard and later maintained with Google's support. Since version 4, Tesseract recognizes whole lines with an LSTM neural network trained separately for each language, which is why choosing the right language matters so much.
Where the work happens
Tesseract runs inside your browser as WebAssembly. On first use, two things are downloaded from the jsDelivr content delivery network: the recognition engine and the trained data for the language you selected. They are cached by your browser, so later runs start faster. Your image is never part of those downloads. It is decoded, enhanced and recognized on your own device, which makes the tool suitable for receipts, letters and other private documents.
Getting the most accurate results
- Resolution. Text needs enough pixels. Scans at 300 DPI are a good target; for photos, get close enough that the letters fill a good part of the frame. Very small text in a large screenshot can be cropped first with the Image Cropper.
- Straight and flat. Hold the camera parallel to the page and avoid curved book spines. Small tilts are tolerated; large ones are not, so straighten the image if needed.
- Even light, good contrast. Shadows, glare and colored backgrounds confuse recognition. The Enhance option converts the image to grayscale, stretches the contrast and upscales small images, which helps with most photos and low-resolution screenshots.
- Right language. Each language model knows its alphabet and common letter patterns. Reading French text with the English model drops the accents, for example.
- One column at a time. Complex layouts with columns, tables and sidebars may come out in an unexpected order. Cropping to one block of text gives cleaner results.
Understanding the confidence score
For each word, Tesseract reports how sure it is, from 0 to 100. The average is shown after recognition. Above about 85, most words are usually right. Lower scores point to blur, unusual fonts, handwriting or the wrong language, so check the text more carefully before using it.
What OCR cannot do well
- Handwriting. Tesseract is trained on printed text. Neat block capitals may work; cursive handwriting usually will not.
- Stylized text in logos, memes with heavy outlines, or text over busy photos.
- Formatting. The output is plain text. Bold, colors, fonts and table borders are not kept.
Accuracy also varies between languages. Scripts with complex letter joining, such as Urdu's Nastaliq style, are harder than Latin text, so expect to correct more words. Right-to-left languages are shown right to left in the result box.
What to do with the text
Paste it into a document, translate it, or check its length with the Word Counter. For whole scanned PDFs, convert the pages to images with PDF to JPG first, then run each page here.
Frequently asked questions
Is my image uploaded for OCR?
No. The OCR engine runs in your browser and reads the image on your device. Only the engine and language data are downloaded from a public CDN the first time you use a language.
Why does the first run take longer?
Your browser has to download the recognition engine and the language data, a few megabytes in total. They are cached afterwards, so the next run starts much faster.
Which languages are supported?
English, Spanish, French, German, Portuguese, Italian, Dutch, Polish, Turkish, Russian, Ukrainian, Arabic, Urdu, Persian, Hindi, Bengali, Chinese (Simplified and Traditional), Japanese, Korean, Indonesian and Vietnamese.
Can it read handwriting?
Only very neat printed handwriting, and not reliably. The engine is trained on printed text, so typed documents, screenshots and signs work best.
Why is the extracted text full of mistakes?
Usually the image is blurry, small, tilted or low in contrast, or the wrong language is selected. Try a sharper image, crop to the text, keep Enhance on and pick the correct language.