OCR, explained without the jargon

OCR turns a picture of text into text you can select, search and edit. That is the whole idea. The interesting part is where it works beautifully, where it quietly fails, and what you can do in the two seconds before you take the photo to swing the result.

What OCR actually does

Optical character recognition takes an image — a photo, a scan, a screenshot — and works out which shapes in it are characters. The output is a string of text. A photograph of a page is, to your phone, a grid of coloured dots; it has no idea that a particular arrangement of dark pixels is the letter g. OCR is the step that makes that leap.

Modern OCR does this in roughly three stages:

  1. Find the text. Detect which regions of the image contain writing at all, and work out the reading order — columns, headings, captions.
  2. Straighten and clean. Correct for the fact that you photographed the page at an angle, in uneven light, possibly slightly out of focus.
  3. Recognise. Turn the cleaned-up shapes into characters, then use a language model to fix the ambiguous ones. This is why a good engine reads rn as rn in “learn” but as m in “modern” — context decides.

Where it works well

OCR is close to solved for printed text in a well-known alphabet, photographed reasonably flat and in decent light. Book pages, printed reports, invoices, product labels, signage, slides on a projector, screenshots. On material like that a current engine will typically get to the high nineties for character accuracy, which in practice means a few small corrections per page rather than a retype.

Where it struggles

  • Handwriting. Neat, separated print handwriting often works. Joined-up cursive, personal shorthand and doctors’ notes are still genuinely hard.
  • Low contrast. Grey text on a grey background, faded thermal receipts, photocopies of photocopies.
  • Complex layout. Multi-column academic papers, newspapers, forms with boxes and rules. The characters may be read correctly while the order comes out scrambled.
  • Tables. Almost every engine flattens a table into a run of text. You get the numbers; you lose which column they were in.
  • Curved pages. A thick paperback held open in one hand curves away at the spine, and the letters distort with it.
  • Similar glyphs. 0/O, 1/l/I, 5/S. Context usually saves prose. It does not save serial numbers, licence keys or reference codes — check those by eye, every time.

Six things that improve the result before you press the shutter

  1. Flatten the page. Press the book open, or lay the sheet on a table. Curve is the single biggest cause of mangled lines.
  2. Get light from the side, not behind you. Your own shadow across the page costs more accuracy than a slightly dim room.
  3. Shoot square on. Hold the phone parallel to the page rather than leaning over it. Perspective correction is good, but it is repair, not magic.
  4. Fill the frame. More pixels per character is the cheapest accuracy you will ever buy. If a page has two columns, photograph them as two shots.
  5. Avoid glare. Glossy paper and laminated signs bounce light straight back. Move fifteen degrees and the hotspot disappears.
  6. Hold still. Motion blur destroys thin strokes first, which is exactly where the difference between e and c lives.

On-device OCR versus cloud OCR

Some apps run recognition on your phone. Others upload the image to a server, recognise it there and send the text back.

Cloud OCR can afford larger models, so at the difficult end — messy handwriting, unusual scripts — it often wins. On-device OCR works with no connection, returns a result in well under a second, and never puts the photographed document on someone else’s computer. For the everyday case — a printed page, a receipt, a whiteboard after a meeting — the on-device result is usually indistinguishable, and the privacy difference is not subtle: a payslip, a medical letter or a signed contract is exactly the sort of thing you would rather not upload to scan.

What to do with the text afterwards

Raw OCR output has a characteristic mess to it: a line break at the end of every visual line rather than every paragraph, hyphenated words split across lines, bullet characters that came out as e or *, and double spaces where the original had justified text. Cleaning that by hand is tedious and completely mechanical, which is the definition of a job for a tool.

Fix OCR output in one paste

The free Text Cleaner rejoins hyphenated words, removes the line break at the end of every line, collapses double spaces and tidies bullet characters. It runs in your browser — the text is not uploaded anywhere.

Then read it once. OCR errors are unusual in that they are almost always plausible — a real word in a sensible place, just not the one that was printed. A spellchecker will not catch them. Your eyes will.

Doing this on a phone

If the scanning and the editing happen in two different apps, you spend your time shuttling text between them. Wordpad Plus runs OCR on the device and drops the result straight into a document you can format, correct and export as a PDF, with no connection and no account. The photograph, the text and the finished file all stay on your phone.

Write it down before it goes.

Wordpad Plus is a free, offline word processor for Android — formatting, OCR, PDF export and read-aloud, with nothing sent to a server.

Free on Google Play In development Coming to iOS

Requires Android 7.0+. No account, no subscription, no ads in the editor.