BenchfileYour files never leave the bench.

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.

The picture matters more than the software

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. 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.

What the engine expects to see

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.

How to photograph a document for recognition

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 — a wood-grain desk or a hand at the edge gives the engine shapes to misread as letters. Those four things matter more than anything a setting could do. Stylised fonts, handwriting and text on a photograph or a patterned background are the cases it handles worst; expect to correct those by hand.

What comes out, and what to check

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.

Read the result before you rely on it. The characters that get confused are predictable: the digit 1, lowercase l and capital I; the digit 0 and the letter O; rn read as m. Numbers deserve a second look in particular, because a wrong digit in an invoice total or a reference number looks perfectly plausible.

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.