Why OCR gets text wrong

Short answer: a recogniser resolves ambiguous shapes by asking whether the result is a word. In a reference number, a postcode or an amount there is no word to ask about — so that is where the errors survive.

4 min read · last checked 2026-09-08

Advertisement

Short answer: optical character recognition does two things, and only the first one is about shapes. It finds the letterforms, and then it leans on language to decide between the ones it cannot tell apart. That second step is doing far more work than people realise — and it stops working completely in exactly the places you needed it most.

Nothing in English is spelled c0st, so a recogniser that read a zero there fixes it without telling you. An invoice number is not a word. Neither is a postcode, a serial number, a sort code or an amount. There is nothing to check against, so whatever the shapes suggested is what you get.

Six pairs of confusable characters — 0 and O, 1 and l and I, 5 and S, rn and m, 8 and B, cl and d — rendered at the small size text is scanned at and then magnified without smoothing, so the individual pixels are visible. Several of the pairs differ by only three or four pixels.
Rendered at the size a scanned line actually is, then magnified with no smoothing. At that size several of these differ by three or four pixels — and “rn” against “m” differ by whether one column of them is light or dark.
The tool Image to Text Pull the words out of a photo or screenshot. Six languages, and nothing is uploaded.

Where the errors actually land

This is the practical consequence, and it is worth internalising before you trust a scan: OCR is most accurate in prose and least accurate in data. Backwards from what you want.

A page of writing comes out very well, because every ambiguous letter sits inside a word that either exists or does not. A table of part numbers comes out worse, and nothing warns you, because the recogniser has no way to know it was wrong. So proofread the numbers and skim the sentences, not the other way round.

Two habits that cost nothing: check anything you are going to pay, post or type into a system, and be suspicious of any digit that is a 0, 1, 5 or 8.

What ruins a scan before recognition starts

  • Not enough resolution. The single biggest factor. Recognition wants a capital letter to be somewhere around twenty to thirty pixels tall; below that the distinguishing parts of a glyph stop existing. A page photographed to fill the frame is usually fine; a page photographed from across a desk is not.
  • Skew. A page held at an angle. Most engines straighten a small tilt, and most struggle past a few degrees. Square the camera to the page rather than the page to the room.
  • Uneven light. A shadow across half the sheet, or your own shadow leaning over it. Thresholding a page with a gradient across it eats the text on the dark side.
  • Glare. Glossy paper under a ceiling light. Move sideways rather than adding light.
  • Heavy JPEG compression. JPEG is at its worst on exactly this — hard black-on-white edges — and a screenshot re-saved a few times has smeared letterforms before OCR sees them. Our guide on JPG and PNG shows what that does to text.
  • Handwriting. A different problem, not a harder version of this one. Ordinary OCR is built for printed type and will make things up.

How to photograph a page so it works

The whole list, in order of how much it helps:

  • Fill the frame with the page. Resolution is everything, and this is free.
  • Shoot from directly above, square to the paper. Not at an angle from a seated position.
  • Use daylight, indirect. Next to a window, not under one lamp. Watch for your own shadow.
  • Flatten the page. A curled sheet bends the lines of text, which is worse than tilting them.
  • One page at a time. Two pages in one photograph halves the resolution of each.

If the photograph already exists, cropping to the block of text you actually need helps for the same reason cropping helps a cutout: fewer pixels wasted on the desk means more of them on the letters.

Columns, tables and receipts

Recognisers read in lines. A receipt with an item on the left and a price on the right may come back as one line containing both, or as two separate blocks, depending on how much space is between them — and a table with narrow gutters can come back with columns interleaved.

There is no setting that fixes this, because the layout is being inferred from spacing and the spacing is genuinely ambiguous. If you need a table, expect to fix the structure by hand, and treat the recognition as having saved you the typing rather than the formatting.

Languages and accents

A recogniser is trained on a language, and it uses that language's vocabulary in the second step. Run Spanish through an English model and the letters come out roughly right while every accented character becomes a guess — ó and o differ by a couple of pixels, and the dictionary check that would have caught it is looking up the wrong dictionary.

So pick the language before running it, if the tool lets you. It changes the answer more than any other setting.

Doing it without uploading the document

The documents people most want to convert are the ones they least want to send anywhere: payslips, contracts, medical letters, bank statements. Most OCR sites need the file on their server to do the work.

The tool here runs the recognition in your browser instead. The first use downloads the language model, which takes a moment; after that the page is read on your own machine and nothing about it is transmitted. Which also means you can photograph the same page three times and try all three.

Advertisement
Advertisement

Read the page without uploading it

The recognition runs in your browser, so a contract or a payslip is never sent anywhere to be read.

Common questions

Why does OCR get numbers wrong more often than words?

Because recognition resolves ambiguous shapes by asking whether the result is a real word. No dictionary contains “c0st”, so that mistake is corrected silently. An invoice number, a postcode or an amount has no word to check against, so whatever the shapes suggested is what you get — which is why the surviving errors concentrate in exactly the data you needed to be right.

How do I improve OCR accuracy?

Fill the frame with the page — resolution matters more than anything else. Shoot from directly above rather than at an angle, use indirect daylight so there is no shadow or glare across the sheet, flatten any curl, and photograph one page at a time. Choosing the right language, if the tool offers it, changes the answer more than any other setting.

Which characters does OCR confuse most?

Zero and capital O, the digit 1 against lowercase l and capital I, 5 against S, 8 against B, and the pairs that merge — “rn” read as “m”, “cl” read as “d”. At the size a scanned line actually is, several of these differ by three or four pixels.

Can OCR read handwriting?

Ordinary OCR is built for printed type and will produce confident nonsense from handwriting. Handwriting recognition is a separate problem with separate models, and even those want neat, well-separated writing. If the page is handwritten, expect to type it.

Why did my receipt come out with the prices in the wrong place?

Recognisers read in lines, and the column structure of a receipt or table is inferred from spacing alone. With narrow gutters an item and its price can come back as one line, or the columns can interleave. There is no setting for it — treat the recognition as having saved you the typing rather than the layout.

Does the document get uploaded?

Not here. The recognition runs in your own browser — the first use downloads the language model, and after that the page is read on your machine with nothing transmitted. That matters for the documents people most want to convert, which tend to be payslips, contracts and bank statements.

More guides

What is a HEIC file, and why will your PC not open it?

Half the size of a JPG, and a patent licence is why Windows refuses it.

How to get a PDF under an upload limit

Most PDFs cannot be compressed at all. Ten seconds tells you which kind you have.

Why WhatsApp ruins your photos, and how to send one properly

It re-compresses every picture you send. There is one way around it, and it is not the quality setting.

JPG or PNG: which should you use?

Photographs, JPG. Hard edges or transparency, PNG. The reason is worth two minutes.

How to get a photo under a KB limit

The quality slider is the wrong first move. Pixels are the lever that works.

Are QR codes safe? What is actually inside one

Nothing inside one can run. The risks are the destination, the sticker over the original, and who owns the code.

Why video files are so big, and what actually shrinks them

Bitrate times length is the file size. Everything else follows from that.

MP3, WAV or M4A: which audio format, and at what bitrate?

128 kbps is about a megabyte a minute. Everything else follows from that.

Percentages, and the four sums people actually get wrong

20% off then 10% off is not 30% off, and adding 20% then taking it back leaves you short.

How to take a passport photo at home that is not rejected

The rule is the height of your head, not the size of the photo — and the shadow behind you is geometry.

How to make a ringtone, and why the cutting is the easy part

Android takes an MP3 straight. An iPhone wants an M4R, which is an M4A with a different extension.

Compound interest, in both directions

Savings growing and a card balance running away are the same sum. Only the side you are standing on differs.

What actually happens when a password leaks

Why one company’s bad week becomes your problem at forty other sites — and the single habit that breaks the chain.

What you can change in a PDF without Acrobat

Moving pages and stamping them costs nothing. Changing the words is the one genuinely hard edit, and this is why.

Are electronic signatures legally binding?

Valid nearly everywhere — but a drawn signature proves the mark is there, not who put it there. What that changes, and when it is not enough.

Why background removal cuts off hair

Hair, glass and plants come out ragged for a reason that is not fixable by trying another site. What causes it, and what to photograph instead.

What the numbers on a barcode mean

Three fields and a checksum. Why “690 means made in China” is wrong, and how the last digit is worked out from the others.

Why date calculators disagree with each other

One month after 31 January is 28 February, 2 March or 3 March depending on the rule. Why the calendar refuses to be arithmetic.

What fitness numbers actually tell you

Why the level a fitness formula gives you is usually wrong, why the change usually is not, and which of the two is worth watching.

What has to be on an invoice

The blocks nearly every country expects, the two that people get wrong, and why “net 30” gets paid later than a date.

Subtitles: a separate file, or burned into the video?

A file the player draws, or pixels in the picture. What each costs, and why automatic captions get names wrong and sentences right.

Why your final grade is not the average of your grades

The same four marks give 82.5 averaged and 74.0 weighted. How weighting works, and what you really need on the final.

Advertisement