Skip to content

Get the text out of a picture

Read the words out of a photograph, a scan or a screenshot and take them away as text you can edit, search and paste. The picture is read on your own device and never uploaded.

  • Processed on your device
  • No upload, no waiting
  • No signup, no watermark

How it works

1

Add your picture

JPG, PNG, WebP, GIF, BMP, an iPhone HEIC or a scanner's TIFF. A photo taken at an angle is straightened and its lighting levelled before it is read.

2

Check the language

The script is read from the picture and the language chosen for you. Over 120 are available if it guessed wrong, or if the picture holds more than one.

3

Copy or download

Keep the layout, with the lines and columns where they were, or join the lines into flowing paragraphs ready to paste somewhere else.

Frequently asked questions

How accurate is it?

On clear printed text, photographed square and in focus, very — a few characters in a thousand. Accuracy falls with blur, glare, low contrast and unusual typefaces, and the page shows you how sure the reader was rather than making you guess. If the number is low the picture is usually the problem: more light, less angle, and filling the frame with the text fix most of it.

Is my picture uploaded?

No. Recognition runs in your browser. The reader and the language pack come from this site the first time you use a language; the picture itself never leaves the device, so it works with the Wi-Fi off and nothing is stored anywhere.

Which languages can it read?

Over 120, including English, Bengali, Hindi, Urdu, Arabic, Spanish, French, German, Portuguese, Russian, Chinese, Japanese and Korean. The script is read from the picture itself; where several languages share a script — Latin, Cyrillic, Arabic, Devanagari — your browser's own language settles it, and you can always change it.

Will it keep the columns and the table?

Yes, if you ask it to. Ruled tables are found and read cell by cell, so a label does not run into its value, and they come back as tab-separated rows that paste straight into a spreadsheet. Columns of prose are read in reading order rather than straight across. Choosing to join the lines instead throws that structure away deliberately, which is what you want for a paragraph you are about to reflow.

Can it read handwriting?

Neat, separated printing — block capitals on a form — often comes out. Joined-up handwriting does not, here or in any other general OCR engine; the honest answer is that it is a different problem needing a different kind of model. There is a separate page for handwriting that says so plainly and shows you what it managed.

Which picture formats work?

JPG, PNG, WebP, GIF, BMP and SVG through the browser itself, plus HEIC from an iPhone and TIFF from a scanner through decoders that load only when one of those turns up. A photo taken on a phone in portrait comes out the right way up, because the orientation flag the camera wrote is applied first.

Why did it get some words wrong?

Almost always the picture rather than the text: a glare across the page, a shadow from your hand, camera shake, or text so small on screen that each letter is a handful of pixels. The reader is given the picture scaled to the size it reads best at, and the lighting is levelled first, but no amount of conditioning invents detail the camera did not capture.

Is there a size limit?

Only your device's own memory. Nothing is uploaded, so there is no server limit to hit. A very large photograph is scaled down to what the reader can use — beyond a point more pixels add cost and no accuracy.

Good to know: Joined-up handwriting is not reliably recognised by any general OCR engine, including this one. Text printed over a picture, heavily stylised lettering and very low contrast will come out patchy. The result is plain text: typefaces, colours, bold and italic are not carried over, and neither is the picture itself.