imissfiles56 tools
  1. Home
  2. What OCR can and cannot do.

What OCR can and cannot do.

Where it is nearly perfect, where it quietly fails, and how to tell which one you got.

Optical character recognition is the technology that looks at a picture of text and works out what the letters are. It is old, well understood, and in the right conditions close to perfect. It is also routinely oversold, because most people describing it are selling it. This is the version without the sales pitch.

What it actually does

OCR does not read. It matches shapes. An engine like Tesseract — the open-source one behind most free OCR, including the tools here — has been trained on enormous quantities of printed text, and it compares the shapes in your image against what it learned. When the shapes are clean and familiar, the match is confident. When they are not, it guesses, and it reports how sure it was.

That last part matters more than anything else in this guide. OCR is not a lookup that either works or fails. It is a series of guesses, each with a confidence, and a good result is one where most guesses were confident. A bad result can look identical at a glance.

Where it is nearly perfect

InputTypical resultWhy
Flatbed scan of printed text, 300 DPI99% or betterFlat, even, high resolution, familiar typefaces
Screenshot of a web page or documentExcellentMachine-rendered, perfectly aligned, no lens distortion
Phone photo taken square-on in good lightVery goodClose to a scan if the page fills the frame
Printed table with clear column alignmentGoodWords recognise well; column detection depends on alignment

Where it quietly fails

These are the cases that produce output that looks plausible and is wrong.

Angle. A page photographed from anywhere other than directly above has lines that converge. Individual words may still recognise, but position-based features — table columns, reading order — break down. This is the single most common cause of a bad result from a phone.

Low resolution. Below roughly 20 pixels of height per line of text, the letterforms lose the detail that distinguishes them. An e becomes a c, an l becomes a 1. Enlarging a small image does not help: upscaling invents no detail, it just gives the engine a blurrier version of the same shapes.

Shadows and uneven light. The engine separates ink from paper by contrast. A shadow across half the page makes that half darker than the ink on the other half, and recognition falls apart along the boundary.

JPEG compression. Text is made of hard edges, and JPEG softens hard edges. A heavily compressed screenshot recognises noticeably worse than the same screenshot as a PNG. If you control the capture, save lossless.

Unusual typefaces. Decorative fonts, very light weights, and stylised numerals were not in the training data. Expect errors.

What it cannot do

Handwriting. This is the honest hard limit. Tesseract was trained on printed type, and handwriting is not printed type — it varies per person, per day, and per letter. Neat block capitals occasionally work. Cursive does not, and no amount of image quality changes that. Recognising handwriting is a different problem, solved by different models, and any free browser OCR tool claiming to do it well is overstating.

Understanding. OCR recovers characters, not meaning. It does not know that a column is a date, that a line is a total, or that two words belong to the same field. Everything downstream — table structure, form fields, reading order across columns — is inference layered on top, and it is where most of the remaining errors live.

Certainty. Every result is a guess with a confidence. There is no setting that removes the guessing.

Reading a confidence score

Good OCR tools report confidence, and it is the most useful number they produce. Here is how to read it:

  • Above 90 — reliable. Spot-check, do not proofread.
  • 70 to 90 — mostly right. Read it through once.
  • 50 to 70 — expect errors, especially in numbers. Check anything that matters.
  • Below 50 — the image is the problem. Recapture rather than correct.

Numbers deserve particular suspicion. A misread letter produces a nonsense word you will notice; a misread digit produces a plausible amount you will not. If the result is going into a spreadsheet, check the figures against the original before anything else.

Getting a better result

  1. Shoot square-on. Hold the phone flat above the page, parallel to it.
  2. Fill the frame. More pixels per letter is the single biggest lever.
  3. Avoid your own shadow. Light from the side, not from behind you.
  4. Crop to the text before recognising, so the engine is not guessing at the desk.
  5. Prefer PNG for screenshots, and 300 DPI for scans.

Two minutes spent recapturing beats twenty minutes correcting.

Before reaching for OCR at all

If you can select text in your PDF viewer, you do not need OCR. The file already has a text layer, and reading it directly is exact where OCR is a guess. OCR is only for when the words exist as pixels — a scan, a photograph, a screenshot.

The tools here — Image to Text, OCR a PDF, Image to Excel — run Tesseract in your browser, so the document never leaves your device. That changes nothing about accuracy. What it changes is that a medical letter or a bank statement does not have to be uploaded to find out what it says.

Common questions

How accurate is OCR?

On a clean 300 DPI scan of printed text, 99 percent or better. On an angled, shadowed phone photo, far worse. Accuracy is mostly a property of the image, not the engine.

Can OCR read handwriting?

Not reliably. Tesseract and most free OCR engines are trained on printed type. Neat block capitals sometimes work; cursive does not. Handwriting recognition is a different technology.

Why did OCR produce nonsense?

Usually low resolution, a steep angle, or poor contrast. Recapture the image flat, well lit, and filling the frame. Enlarging the existing image will not help.

What does the confidence score mean?

How sure the engine was about each word. Above 90 is reliable; below 60 means check everything. Treat numbers with extra suspicion, since a misread digit looks plausible.

Does browser OCR work as well as a server?

Yes, it is the same class of engine. Where it runs affects speed and privacy, not accuracy.

When do I not need OCR?

When you can select text in the document already. That means it has a text layer, and reading it directly is exact where OCR is a guess.

Tools on this page