OCR — Image to Text icon

OCR — Image to Text

Extract text from photos, screenshots, and scanned pages. Runs in your browser where supported — your image is not uploaded.

Drag & drop an image with text
or click "Choose File"
Source
OCR source preview

What OCR — Image to Text is good for

The tool solves one specific problem: text that lives inside an image and can't be selected or copied. That covers a lot of everyday situations. You photograph a printed contract, a recipe card, or a page from a library book and want the words as editable text instead of retyping them. You have a screenshot of a chat, an error message, or a slide where the text isn't selectable, and you need to quote it. You scanned an old letter, an invoice, or a receipt and want a searchable copy.

It also helps with multilingual material. Because you choose the language before running, you can pull Spanish, French, German, Italian, Portuguese, Russian, Simplified Chinese, Japanese, Korean, Arabic, or Hindi text — not only English. Students digitise handw/printed notes and textbook pages, translators get a rough text layer to work from, and developers grab the wording of an on-screen message to search a codebase or log a bug. Anywhere you'd otherwise squint and type by hand, this gives you a draft to clean up instead.

How to use it

Getting text out takes a few clicks. Load an image, pick the matching language, run recognition, then copy or download the result. The steps below mirror the buttons on the page, and the howToSteps list captures the same flow.

One thing worth knowing up front: the very first time you use a given language, the tool downloads that language's recognition model (a few megabytes). After that it is cached in your browser, so subsequent runs in the same language start instantly with no further download.

A real example, start to finish

Say you photographed a one-page printed flyer for an event and you want the date, address, and contact details as text you can paste into a calendar invite. Open the OCR tool and drag the photo onto the drop area — the source preview appears on the right. Leave the language on English, since the flyer is in English.

Click Extract Text and wait while the recognition model loads and processes the page. Compare the editable result with the image, paying special attention to phone numbers, dates, names, and punctuation where one wrong character matters. Correct any mistakes in the box, then copy the text or download the cleaned version. The selected image is processed by the recognition code in your browser and is not uploaded to the site server; the page still makes ordinary requests for site resources and the listed OCR model or library.

Supported input and output

Input is any image your browser can decode that contains text — JPG, PNG, WebP, GIF, BMP, and similar are all fine, whether it's a camera photo, a screenshot, or a scan saved as an image. You add it by dragging it onto the drop zone or using the Choose File button; the file picker is filtered to image types.

Output is plain text. It shows in the editable text box where you can correct it, and from there you have two ways to keep it: Copy puts the text on your clipboard, and Download .txt saves a UTF-8 text file (named after your source image, so flyer.jpg becomes flyer.txt). The status line also reports word count, character count, and a confidence percentage so you can judge how trustworthy the read is before you rely on it.

How your file is processed

This OCR tool runs in your browser using the Tesseract recognition engine, which loads from a CDN on first use. The image is read and the text is recognized on your device, and the image is not uploaded to a server.

Quality and honest limitations

OCR is recognition, not magic, and accuracy depends heavily on the input. Sharp, high-contrast, upright text on a plain background reads best — think a clean screenshot or a flat, well-lit scan. The confidence percentage in the status line is a useful gauge: a high number usually means a clean read, while a lower one is a hint to proofread carefully.

Several things reliably hurt accuracy. Blur and low resolution make characters mushy. Skew and rotation (a page photographed at an angle) confuse line detection. Low contrast — grey text on a grey background, or a photo with glare and shadows — drops letters. Decorative or unusual fonts, dense tables, multi-column layouts, and handwriting are all harder than plain printed paragraphs. The engine also recognises one language per run, so a page mixing two scripts will only resolve cleanly in the language you selected. Treat the output as a strong first draft you skim and fix, not a guaranteed perfect transcription.

Common problems and fixes

'The first run is slow or seems stuck.' That's the one-time language model download (a few MB) plus the initial recognition. Let the progress bar finish; the next run in the same language is much faster because the model is cached.

'The text is full of garbled characters or the confidence is low.' The input is probably blurry, skewed, low-contrast, or low-resolution. Retake or rescan it straighter, closer, and in better light, then run again — small improvements in the image produce large improvements in the text.

'I got mostly nonsense even though the image is clear.' Check the language selector. If the text is Spanish but English is selected, recognition will struggle; pick the matching language and re-run (this loads that language's model the first time).

'The OCR engine failed to load.' This needs the Tesseract script and model from the network, so a blocked connection, an aggressive content blocker, or going offline before the model is cached can stop it. Reconnect, disable the blocker for this page, and reload.

'Copy didn't work.' Some browser settings restrict clipboard access. The text box is editable and selectable, so you can select all and copy manually, or use Download .txt instead.

Tips for the best results

Feed the engine the cleanest image you can. If only part of the picture has the text you need, crop to that region first so the engine isn't distracted by background or photos. If the page was shot at an angle, straighten it so the lines are horizontal before running — upright text is far more reliable.

Set the language to match the text before clicking Extract Text, especially for non-Latin scripts such as Chinese, Japanese, Korean, Arabic, and Hindi. Treat the confidence figure as a relative warning signal, not a calibrated promise: even a high score can hide a wrong digit or name. Compare the whole result with the source when accuracy matters, then edit the box before copying or downloading.

Frequently asked questions

Which languages can it recognise, and do I have to choose one?

It supports 12 languages — English, Spanish, French, German, Italian, Portuguese, Russian, Simplified Chinese, Japanese, Korean, Arabic, and Hindi — and you select the right one before clicking Extract Text. English is the default. Recognition processes one language per run, so for non-English text, switch the selector first; a mismatched language is the most common cause of garbled output.

Why is the first run slower than later ones?

The first time you use a particular language, the tool downloads that language's recognition model, which is a few megabytes. Your browser then caches it, so every later run in the same language starts instantly with no download. Switching to a new language triggers a one-time download for that language too.

What do the word count, character count, and confidence percentage mean?

After recognition, the status line reports how many words and characters were extracted and a confidence percentage from the engine. Confidence is a quality gauge for the read as a whole: a high figure usually means a clean result, while a lower one is a signal to proofread the text against the image because some characters were likely guessed.

Related tools and guides

Crop the image to the text region first · Rotate or straighten a tilted scan · Compress the screenshot afterwards · Turn a PDF page into an image to OCR · How to remove photo metadata before sharing · Reduce image size without losing quality

Last updated: June 2026