OCR quality checks: catch errors before you paste

OCR quality checks matter most when a mistake looks reasonable. “O” can pass for “0”, a price can lose its decimal mark and two table rows can swap places without breaking the layout. Check the characters first. Then check the structure and meaning. Each can fail in a different way. Use this method for one capture or a small tool trial. You can repeat the same checks next time. The error example shows a calculation. It is not a benchmark. Use the method to report what you saw in your own trial.
Begin with a reference you can read
Keep the source visible and make sure it is good enough for a person to inspect. Can you read the characters yourself? If not, you cannot fairly judge the output. Seek the original file, a closer photograph or a higher-quality scan. Do not use the recogniser's guess as the reference against which you judge that same recogniser.
For a repeatable trial, transcribe a short reference carefully and verify it against the source. Before counting errors, set the rules. Decide how to count spaces, symbols and line breaks. Use the same rules for all tools. Ignoring one tool's format errors would give it an unfair lead. Keep the rules with the test record so someone else can understand the result.
The Tesseract quality guide warns that “Noise is random variation”. Its discussion of skew, borders and resolution is useful when diagnosing a poor source. These are engine-specific recommendations and general imaging principles, not a guarantee that a particular enhancement will improve every screenshot. Test a change on the same input before adopting it.
Use three separate passes
First, inspect characters. Check names, dates, identifiers, punctuation and digits against the source. Second, inspect structure. Check reading order, paragraphs, list nesting, table headers and cells. Third, inspect interpretation. Confirm that units, conditions and context survived. The characters may be right. The structure or meaning can still be wrong.
This separation makes corrections more precise. If all words are correct but two columns are interleaved, a sharper image may not solve the problem. If the structure is sound but a postcode is wrong, changing from rich text to Markdown may not help. Find which part failed. Then retry the smallest step that could fix it.
For Lass0, compare the result before copying and the final paste afterwards. The format documentation explains the output choices. A destination app can strip formatting or infer cell types after extraction. Keep a plain-text intermediate copy during diagnosis so you can tell whether the error occurred before or after the clipboard handoff.
What should I check first?
Start with fields that change an action. Check amounts, account IDs and dates. Look closely at emails, paths and commands too. Ordinary prose deserves review too, but a wrong connective word and a wrong payment amount do not carry the same practical cost. Match the checks to the task. One casual spot check is not enough for every kind of text.
Table: review priorities for common OCR inputs. This is a suggested checklist, not an observed error-frequency table.
| Input | High-value check | Why it matters |
|---|---|---|
| Error dialogue | Code, path and exact message | Search and support depend on exact terms |
| Invoice table | Decimal marks, signs and row labels | A plausible amount may still be wrong |
| Contact card | Email, phone and name | One character can change the recipient |
| Code screenshot | Operators, quotes and indentation | Valid-looking code can behave differently |
| Policy extract | Exceptions and qualifiers | Meaning can change without a spelling error |
Include the beginning and end of the selection. Cropping errors often lose the first letter, last line or a footnote just outside the box. Check that the source region contains the whole statement you intend to reuse. The app may read every selected word correctly. If you selected too little, the record is still incomplete.
A small error-rate exercise
Suppose an illustrative reference contains exactly 100 characters under a stated counting rule. The recognised output has two substitutions and one deletion, with no insertions. A simple character error rate based on those edit operations is three divided by 100, or 3%. This is arithmetic on an example, not a measured score for Lass0 or any competitor.
Now consider what those three errors are. Three spaces in a paragraph may be a nuisance. Three digits in a bank reference may make the output unusable. The same error rate can hide very different results. Report whether the key fields were right. Add the effort needed to fix them if that better reflects the job.
Also record structural failures separately. A table can have every digit right but each value in the wrong row. Its character score may look great. The table is still wrong. The table-pasting guide shows why totals alone do not catch all such problems. A single percentage is not enough. Keep the checks that tell you whether the text is fit to use.
How do I improve a poor capture?
Change one factor at a time. Open the original at a clearer scale, remove unrelated content, straighten a photograph or select one column separately. Retry the same passage and compare the result with the reference. Record whether the error improved, moved or stayed the same. Change filters at random and you will not know which step helped.
Do not enlarge a blurred thumbnail and assume it now contains more information. Interpolation can smooth edges without recovering the missing strokes. A larger original or a new photograph may be the only useful fix. If the page has selectable text, use that rather than unnecessarily turning known characters into pixels.
For Windows, Microsoft's Text Extractor documentation explicitly calls for proofreading. That caution applies to the review habit, regardless of which utility you choose. A successful capture is the start of verification. It is not evidence that every number, symbol or word is correct.
Build a small comparison set that reflects your work
Choose representative examples: a clean dialogue, a low-quality image, a table, a two-column page and any language or script you need. Use material you are authorised to test. Keep the same source, scale and destination across tools. Record versions, settings, completion outcome and corrections required. Do not report a universal winner from a single easy sample.
An illustrative support team might care most about exact error codes and paths. An editor might care about paragraph order and heading recovery. A finance worker might care about row associations and decimal marks. Those jobs need different pass rules. Set your rules before the trial. That stops you picking a measure just because it favours your preferred tool.
The software selection guide turns this into a buying checklist. The image extraction guide covers the capture itself. Start small enough to check every result. Add more tests when a new source type or a failure gives you a reason.
Know when to stop and ask for a better source
If a critical value remains ambiguous, record it as unresolved. Do not pick the value that makes the sentence smoother or the total balance. Ask the document owner for a clearer source or an authorised export. An explicit gap is more useful than a confident error that travels into a report, ticket or prompt.
Before pasting, check the important fields, the structure and the destination. Save the source reference for substantial extracts. If you are trying Lass0, use a non-sensitive representative capture and write down the actual corrections. Use a simple standard. Check the text against its source. Make the limits clear to the next person who relies on it.
Questions, answered
Does a high OCR accuracy score mean I can skip review?
No. A small number of errors can affect critical fields, and character scores may not capture wrong reading order or table associations.
How should I compare two OCR tools fairly?
Use identical representative inputs, settings and destinations. Record versions, exact outcomes and corrections using acceptance rules chosen before the trial.
What should I do with an unreadable critical value?
Mark it unresolved and obtain a clearer source or authorised export. Do not infer it from context or force a total to balance.
Put it into practice.
Explore the related Lass0 workflow or download the app to try it with a non-sensitive example.