Extract Text from Images

Your files stay on this device. Nothing is uploaded, nothing is stored on a server.

Drop your files here

or pick them from your device

English only for now. Other languages need their own data file.

How it works

  1. Drop your images onto the bench — screenshots, scans, or photos of a page.
  2. Press Extract text. The recognition engine is downloaded to your browser each time — about seven megabytes — and runs there.
  3. Download the recognised text as a .txt file, one per image.

Optical character recognition looks at a picture of writing and works out which letters it is looking at. Done properly it feels like magic; done on the wrong picture it produces confident nonsense. The single biggest factor is not the software — it is the image you give it. So before the details of the tool, the honest advice: a screenshot or a flatbed scan will come out nearly perfect, and a photo taken with a phone at an angle under a desk lamp will not.

Why the difference? The engine expects black letters on a white background, upright, sharp and reasonably large. A screenshot has all of that by nature. A phone photo has none of it: the page is tilted, the light is uneven so one corner is grey, the focus is soft. This tool does what it can — it converts the image to black and white with a threshold that adapts to the lighting, and enlarges small images so the letters are big enough — but it cannot straighten a crooked page or sharpen a blurred one.

If you are photographing a document, fill the frame with the page, hold the phone flat above it, and use daylight or a bright even light. Crop away anything that is not the page. Those four things matter more than anything a setting could do.

The engine runs entirely in your browser and is downloaded from this site on first use — around seven megabytes of code and English data. Recognition currently covers English only. Output is plain text with line breaks roughly where the image had them; tables come out as words in order, without the columns.

Questions people ask

Why is the text full of mistakes?
Almost always because of the image: a tilted photo, uneven light, soft focus or small text. Screenshots and scanner output recognise very well; phone photos vary. Retake the photo flat, well lit and filling the frame, and the result usually improves dramatically.
Which languages are supported?
English, for now. The engine can handle many languages, but each needs its own data file, and only English is shipped so far. Text in other scripts will come out as garbage rather than being detected.
Why does the first run take a while?
The recognition engine and its English data — about seven megabytes — are downloaded to your browser the first time you use the tool. They are not stored afterwards, so a later visit downloads them again.
Are my scans uploaded somewhere to be read?
No. The recognition engine is downloaded to your browser and runs there. The image never leaves your device, which is the whole point of this site.
Does it keep the formatting?
Only roughly. You get plain text with line breaks where the image had lines. Bold, headings, columns and tables are lost — the words come out in reading order, nothing more.
Can it read handwriting?
Not reliably. The engine is trained on printed text. Neat block capitals sometimes work; ordinary handwriting mostly does not.