What the PDF OCR Quality Checker does
This checker tells you, page by page, whether a PDF has real text, a hidden OCR text layer, or only a picture of the page. It then rates the text on each page with three clear indicators: how many words are real dictionary words, how many garbage symbols there are, and how many words mix letters and digits the way OCR confuses l, I and 1 or O and 0.
Use it before you rely on a scanned archive for search, copy and paste, screen readers or text extraction. It also gives you the list of pages to run OCR on again. The file is read in your browser and never uploaded.
How to use it
- Drop a PDF, or load an example. The council papers example has one typed page, one scanned page with no text and one scanned page with a poor OCR layer.
- Choose the language. The dictionary test uses an English word list. For other languages, turn it off and only the language-independent checks will run.
- Read the findings. Pages that are only images need OCR. Pages rated poor need OCR again, ideally from a 300 dpi scan with the right language set.
- Use the table to see each page's word count, dictionary share and letter/digit mixes. Download the CSV, or copy the list of pages to re-OCR into your OCR software.
Reading the results
Born-digital text was drawn with fonts by the program that made the PDF, so it is exact. OCR text layer means the page is an image with invisible text placed over it, which is what OCR software writes. That text is only as good as the recognition. Image only means there is nothing to search or copy.
The dictionary share counts words made only of letters that appear in a 38,930-word English list, or in the list once a plural s is removed. Capitalised words that are not in the list are treated as names and not counted, because the list has no proper nouns. Short passages under 20 words are not given a dictionary verdict.
Letter/digit mixes such as vi11age, c1erk or 0ffice are the most common OCR fault on older scans. Ordinals (3rd), years, paper sizes (A4) and codes such as COVID-19 are excluded, so ordinary numbers are not flagged. Garbage symbols are replacement characters, private-use and control characters and box-drawing shapes, which OCR engines output when they fail.
Each page takes its worst rating. These are indicators, not an accuracy percentage: measuring true character accuracy needs the correct text to compare against, which a PDF does not contain.
Worked example: three pages of parish council papers
Page 1 is an agenda typed straight into the PDF. It has 32 words, all of them dictionary words, and no symbols or letter/digit mixes, so it is rated good. Page 2 is a scanned page image with no text layer. It is reported as image only and added to the pages to re-OCR.
Page 3 is the same kind of scan with an OCR layer, and the OCR misread the letter l as the digit 1 throughout: "Counci1", "vi11age", "counci11ors", "c1erk", "Apo1ogies", "Cl1r", "p1ayground", "wi11" and "Apri1". That is 9 of its 45 words, or 20 %, well above the 5 % threshold for poor, so page 3 is also on the list. Its dictionary share is still 100 %, because the misread words contain digits and are not counted as letter-only words. Only the letter/digit check catches this fault.
Limitations: what the result does not prove
- The ratings are indicators from visible rules, not a measured accuracy. A page can pass every check and still contain real words in the wrong place, such as "form" read as "from".
- The dictionary test is English only. Technical, medical or legal vocabulary and uncommon words lower the share even when the OCR is correct. Check the unrecognised words column before re-scanning.
- Text is read in the order pdf.js extracts it. A born-digital page with a font that has no Unicode map can look garbled here. That is a font problem, not an OCR problem, and the findings say so.
- Handwriting, tables and multi-column layouts are not assessed for reading order or structure. Up to 1,000 pages can be checked, and encrypted PDFs cannot be opened.
Privacy: where your data goes
Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.
Standards and sources
- ISO 32000-2:2020 PDF 2.0, section 9.3.6 Text rendering mode (invisible text)
- W3C - PDF7: Performing OCR on a scanned PDF document to provide actual text
- SCOWL - Spell Checker Oriented Word Lists (source of the English word list)
- Tesseract OCR documentation - Improving the quality of the output
Frequently asked questions
How can I tell if a PDF is searchable?
Drop it here. Every page is marked as born-digital text, an OCR text layer, or image only. Pages that are image only cannot be searched. You can also try selecting text in a PDF viewer, but that does not show you how good the hidden OCR text is.
What is an OCR text layer?
When OCR software processes a scan, it keeps the page image and places the recognised text over it invisibly (PDF text render mode 3). You see the scan, but search and copy use the hidden text, so errors in it stay invisible until you search or paste.
Why are my OCR words full of 1s and 0s?
Low-resolution or low-contrast scans make the letter l, capital I and the digit 1 look alike, and the same happens with O and 0. Scanning at 300 dpi, using greyscale rather than black and white, and setting the OCR language usually fixes it.
Does a 100 % dictionary score mean the OCR is perfect?
No. It means every letter-only word is a real word, but a real word can still be the wrong one, and words with digits in them are checked separately. It also cannot find missing lines. Read a sample page against the scan to be sure.
Can it check OCR in other languages?
Partly. Choose Another language and the garbage-symbol and letter/digit checks still run, because they do not depend on the language. The dictionary test is English only.
Does this tool perform OCR?
No. It checks the text layer that is already there and tells you which pages need OCR, or OCR again. Use OCR software, or an OCR to PDF tool, on those pages, then check the result here.
Last reviewed by the A2Z.Tools team against the sources listed above.