What this covers

  • Printed OCR works because the shapes are machine-made and consistent
  • Handwriting varies within a single page, let alone between people
  • A misread digit looks like data rather than like a guess
  • This site does not offer OCR rather than offering a bad one

Optical character recognition on printed text is one of the genuine successes of the field. Given a clean scan of a typeset page, a modern engine will read it with very few errors, and those it makes are usually obvious.

Handwriting is a different problem, and the difference is not one of degree.

Why printed text is easy

A printed character was produced by a machine from an outline. Every lower-case <em>a</em> on the page is identical to every other, and near-identical to every lower-case <em>a</em> in that typeface anywhere. The shapes are drawn from a small, finite, well-behaved set.

Spacing is regular, baselines are straight, and the contrast between ink and paper is uniform. The recognition problem is close to a lookup, and the remaining difficulty is mostly in handling poor scans rather than in reading the shapes.

Why handwriting is not

Handwriting varies between writers, between documents by the same writer, between the start and end of a page as the hand tires, and between an unhurried answer and one written in the last four minutes of an exam.

Characters join, overlap, and are abbreviated. Baselines drift. Letters are genuinely ambiguous in isolation - a hurried <em>a</em> and a hurried <em>o</em>, a 1 and a 7, a 5 and an S - and readable only from context. A human reader uses an enormous amount of contextual knowledge to disambiguate, and does it without noticing.

The problem is not the error rate. It is the failure mode.

A recognition engine that cannot read a character does not leave a gap. It produces its best guess, formatted identically to the characters it read correctly. The output looks like text throughout, and there is no marker distinguishing the confident readings from the guesses.

What that means for a mathematical answer

Consider a line of working that reads <em>v = 12.4 m/s</em>. A recognition engine uncertain about the 4 might produce 12.1. The output is a perfectly well-formed number in a perfectly well-formed line. Nothing about it signals uncertainty.

If that text layer is then searched, extracted, marked automatically or used to check an answer, the error propagates silently. For continuous prose a misread word is usually obvious from context; for a number it is not obvious at all, which is precisely why numbers are where this matters most and where handwriting recognition is weakest.

Where recognition stands

Approximate, and the categories differ more than the numbers suggest.

MaterialAccuracyFailure mode
Clean typeset printVery highOccasional obvious errors
Poor scan of printHighErrors clustered where the scan is bad
Neat, isolated handwritingModeratePlausible substitutions
Continuous cursiveLow to moderateWhole words wrong, fluently
Hurried exam handwritingLowConfident, unmarked guesses
Handwritten mathematicsLowestDigits and symbols silently wrong

Why this site does not offer it

We could offer recognition on printed text without much difficulty, and it would work. The difficulty is that this site is about exam and study documents, so the requests would overwhelmingly be for handwriting - and a feature that works on the thing people are not asking about and fails on the thing they are is worse than no feature.

It would also invite a use we would rather not encourage: treating a recognised version of a script as though it were the script. The image is the record. A machine reading of it is a convenience with an error rate, and conflating the two is how a misread digit becomes a mark lost.

What to do instead

Accept that a scanned script is an image, and design around that. Photograph well enough that a person can read it easily, because a person is who will read it. Keep the file small enough to submit. Name and order the pages so nothing has to be searched for.

If you need your own handwritten notes to be searchable, the reliable answer is to type them - which has the side effect of requiring you to reread and rephrase them, and is therefore better revision than scanning them ever was.

Working with a scan as an image

Assumptions to drop about scanned handwriting

  • It will not be searchable, by any tool
  • It cannot be redacted - crop or cover instead
  • Text cannot be extracted from it
  • It can still be read, printed, cropped, ordered and compressed
  • The quality of the photograph is the whole of its quality

Questions and answers

Does any software read handwriting well?

Some read neat, isolated handwriting reasonably. None reads hurried exam handwriting reliably, and handwritten mathematics is the hardest case of all. The output never distinguishes confident readings from guesses.

Why not offer OCR for printed documents at least?

Because on a site about exam material, the requests would be for handwriting, and a tool that silently underperforms on the main use case is worse than not having it. It may be worth revisiting; today it is not there.

How do I make my handwritten notes searchable?

Type them. Beyond the searchability, retyping forces you to reread and rephrase, which does more for recall than the scan ever would.

Will recognition get good enough?

It has improved substantially and continues to. The obstacle for exam work is not average accuracy but the absence of a reliable signal for uncertainty, and that is a harder problem than raw recognition.

Sources

How this was checked. Claims about printed-text accuracy reflect published benchmark results cited below. The judgement about exam scripts is ours, and it is a judgement rather than a measurement.