OCR PDF

Read the words in a document whose pages are pictures. The recognition runs on your device, and you can have the result as plain text, a searchable PDF, or both.

Runs entirely in your browser. Your files are never uploaded.

How to use OCR PDF

  1. 1Pick a scanned PDF, or drag it onto the box above.
  2. 2Choose the language. Getting this right matters more than any other setting.
  3. 3Decide whether you also want a searchable PDF.
  4. 4Press Read the text, then check the confidence score and correct anything wrong.

What gets downloaded, and what does not get uploaded

Your document never leaves the device. The pages are rendered in your browser and read by a recognition engine that also runs in your browser.

What does happen on first use is a download: the engine is around 3 MB and the English language model is 10.4 MB, or 1.9 MB if you pick the fast variant. They come from the Tesseract project's own distribution hosts, and your browser caches them, so the wait only happens once. Those requests carry no part of your file.

That is the only third-party request anything on this site makes, which is why it is written here rather than left to be discovered. Anyone self-hosting this can point it at their own copies with two environment variables.

Language is the setting that matters

Recognition works by matching shapes against a model trained on one language, so running an English model over a French document produces plausible-looking nonsense: accented characters become something else and the engine's confidence score stays misleadingly high.

If a document mixes languages, run it with the language most of the text is in and accept that the rest will be rough. Each language is a separate download the first time you select it.

The accurate model and the fast one

The accurate model is the default and the better choice for anything you intend to rely on. The fast model is roughly a fifth of the download and noticeably worse on small type, poor scans and anything unusual, but it is a reasonable trade when you are on a phone connection or just want to know roughly what a document says.

Neither is magic. Both read a clean 300 DPI scan of printed text well, and both struggle with handwriting, heavy fonts, stamps across text, and pages photographed at an angle.

The confidence score, and why you should still read it

Tesseract reports how sure it was, averaged across the pages. Above 80 is a clean read. Between 60 and 80 expect mistakes in names, numbers and small print. Below 60 the output needs checking line by line, and a better scan will beat any amount of correcting.

Even at high confidence, check names and figures. OCR mistakes are characteristically plausible: a 5 read as an S, rn read as m, a zero as a capital O. These survive a quick skim in a way that garbled text does not, which is exactly what makes them dangerous in an invoice or a reference number.

What a searchable PDF actually is

The page you see stays exactly as it was, a picture of the original. An invisible layer of text is positioned over it, so the document can be searched, selected and copied, and so indexing software can read it.

The text sits where the engine thought the words were, which means a crooked scan produces crooked selection boxes, and any recognition mistake is in the searchable layer too. It is the right format for an archive you need to find things in. It is not a substitute for retyping something that has to be exact.

Getting a better result

Almost all OCR quality is decided before the document reaches here. Scan at 300 DPI rather than 150. Scan straight; a few degrees of skew costs real accuracy. Use greyscale or colour rather than the black-and-white setting, which throws away the grey edges the engine uses to tell letters apart. Photograph pages flat and evenly lit rather than at an angle in a shadow.

If a document is already a bad scan and cannot be rescanned, running only the pages you need at the accurate setting and correcting by hand is usually faster than fighting the settings.

Limits

  • 100 MB per file.
  • Password-protected PDFs need unlocking first.
  • The engine and language model are downloaded on first use, from a third party.
  • Printed text only. Handwriting is not realistically supported.
  • One language per run.
  • Slow: expect a few seconds per page, more on a phone.
  • Table structure and layout are not preserved.

Frequently asked questions

Is my document uploaded to be read?
No. The recognition engine runs in your browser and reads pages rendered on your device. The only thing downloaded is the engine and the language model, and nothing of your file is sent with those requests.
Why is the first run so slow?
Because the engine and the language model are being downloaded, about 13 MB together with the accurate model. Your browser caches them, so later runs start straight away.
The text is full of mistakes. What now?
Check the confidence score. Below 60 the scan is the problem rather than the settings: rescan at 300 DPI, straight, in greyscale. Also make sure the language is right, since the wrong model produces confident nonsense.
Can it read handwriting?
Realistically, no. Tesseract is trained on printed text. Neat block capitals sometimes come through; ordinary handwriting does not.
Will the searchable PDF look different?
No. The visible page is the same picture it always was. The text layer added over it is invisible, and only shows up when you search or select.