# Does OCR Use a Dictionary? Why Names Get Corrected

- Author: Schema Law (https://www.schemalaw.com/)
- Published: 2026-08-15T10:07:07Z
- Updated: 2026-10-11T19:22:20Z
- Category: OCR basics
- Canonical: https://www.schemalaw.com/blog/does-ocr-use-a-dictionary

> Does OCR use a dictionary? Many engines do, and it is one reason a surname or legal term comes back as a common word. See how it works and what to test.

Yes, OCR can use a dictionary. Some recognition engines, by their own documentation, check their reading of each word against a word list or a language model, and prefer a known word when the letters are in doubt. That helps with ordinary prose, and it is one reason an unusual surname or term comes back as a common word.

The dictionary does not announce itself. Nothing in the output says "this word was adjusted", so the effect shows only when you compare a name on the scan with the name in the text.

## Does OCR use a dictionary?

OCR does use a dictionary in engines that say so in their own documentation, and you should assume yours may until you have checked. The dictionary is a list of valid words for the chosen language. Some engines replace or add to it with a language model that scores how likely a sequence of letters or words is.

Two products' own documentation shows the idea. The documentation for the open-source engine Tesseract, on [improving the quality of its output](https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html), states: "By default Tesseract is optimized to recognize sentences of words." It goes on to describe "the dictionaries Tesseract uses". ABBYY's user guide for FineReader PDF says, on its page about [documents with many specialized terms](https://help.abbyy.com/en-us/finereader/16/user_guide/addwordtodictionary/): "ABBYY FineReader PDF checks recognized words against its internal dictionary."

Those statements cover two products. Other tools may work differently, and a hosted service may not publish how its recognition treats vocabulary at all. If the documentation is silent, a short test will tell you more than a guess.

The language setting matters for the same reason. A dictionary belongs to a language, so a page read with the wrong language selected is checked against the wrong word list.

## How a word list or language model settles a doubtful letter

A word list settles a doubtful letter by breaking a tie. The engine's reading of the shapes yields several candidate spellings with similar scores, and the candidate that is a real word wins. A language model does the same job with probabilities, favoring the letter or word that fits what came before.

Picture a fictional word on a third-generation photocopy. The first letter is clear, the fourth and fifth strokes have run together, and the engine cannot tell "rn" from "m". Its two candidates are "modern" and "modem". Shape alone cannot choose. A word list contains both, so a simple list does not help either, but a model that has seen the words around it, "a modern office building", can.

Now change the word to one the list has never seen:

| On the page | Candidates from the shapes | In the word list? | Likely output |
| --- | --- | --- | --- |
| modern | modern, modem | Both | Decided by context, if the engine uses any |
| Barnes | Barnes, Bames | Possibly neither, possibly the first | Decided by shape alone |
| Thorne | Thorne, Thome, Theme | Only "Theme" | The dictionary pulls toward "Theme" |

The third row is the mechanism in one line. The dictionary did not misread anything. It was asked which candidate is a word, and it answered correctly.

How strongly a dictionary pulls is a setting inside the engine. The Tesseract project's FAQ for older versions names two such settings, penalties for words outside its word lists, and notes the trade: "any changes that up the power of the dictionary also up the ability to hallucinate dictionary words." That sentence is from the [Tesseract FAQ for older versions](https://tesseract-ocr.github.io/tessdoc/tess3/FAQ-Old.html) and describes that engine. The principle is general: a stronger preference for known words fixes more real typos and overrides more real names.

Sometimes the shapes themselves give the dictionary its opening. A typeface in which "rn" and "m" are nearly the same offers two candidates where a clearer face would offer one. The post on [the best font for OCR](https://www.schemalaw.com/blog/best-font-for-ocr) covers which letterforms cause that.

## Why does OCR turn a surname into an ordinary word?

OCR turns a surname into an ordinary word when the name is not in its vocabulary, an ordinary word is, and the scan leaves the letters open to doubt. The engine is choosing the likelier reading, and for a system trained on general text a common word is likelier than a rare name.

Proper names are exposed for three reasons that compound.

- **They are missing from the list.** No general dictionary holds every surname, company name or street name.
- **They sit where context is thin.** A caption, a signature block or a service list gives a model few surrounding words to reason from.
- **A near-miss is a real word.** "Thorne" is one stroke from "Theme". "Marsh" survives because it is itself a word, which shows that the luck runs both ways.

A fictional caption shows the cost. The scan reads *Okonkwo-Hale v. Thorne Freight Systems*. The output reads *Okonkwo-Hale v. Theme Freight Systems*. A search of the converted file for "Thorne" now finds nothing on that page, the document is missed in a review for the defendant's name, and no spell checker objects, because "Theme" is spelled correctly.

Plan to search a transcript for a party name, a citation, and the court opinion that states a precedent. A word list that favors everyday language can rewrite the party and split the citation, so that court opinion never appears. Read those strings on the picture before you trust the hit list.

The same thing happens to names of medicines, places, products and foreign words. It also happens in the other direction: a typographical error in the original, such as "teh", can come back silently corrected to "the". For a lawyer that is a loss too, because the error was part of the document.

Names are one of several error patterns that pass unnoticed because the result looks right. The post on why OCR output is full of errors sets out the rest under [the error patterns that matter in legal text](https://www.schemalaw.com/blog/why-is-ocr-output-full-of-errors#the-error-patterns-that-matter-in-legal-text).

A dictionary substitution swaps one word for a near neighbor that fits the shapes. Whole phrases or figures that the page never contained are a different failure with a different cause, described in the post on [OCR hallucination](https://www.schemalaw.com/blog/ocr-hallucination).

## Legal terms a general dictionary lacks: Latin, citations and defined terms

Legal writing is full of strings a general word list may not hold: Latin phrases, reporter abbreviations, section references and the invented vocabulary of a contract's defined terms. Whether your tool has trouble with them is something only a test on your own documents can show.

Type this block into a document, print it, scan it at your usual settings and run it through your OCR tool. Then compare the output with what you typed.

```
res ipsa loquitur; inter alia; nunc pro tunc; ejusdem generis
Thorne v. Okonkwo-Hale, 512 F.3d 1041 (9th Cir. 2008)
28 U.S.C. § 1332(a)(1); Fed. R. Civ. P. 26(b)(5)(B)
"Lessor", "Sublessee", "Mortgagor", "Bailee", "Obligor"
the "Earnout Period"; the "Pre-Closing Reorganization"
id. at 1045 n.3; see also supra note 12
```

The case name and its reporter citation are invented for the test, and the other lines are ordinary citation forms used only as strings to recognize. What to look for in the result:

| Kind of string | What a dictionary can do to it | A change to look for |
| --- | --- | --- |
| Latin phrases | Replace a word with an English one | "tunc" to "tune"; "alia" to "alias" |
| Reporter and rule abbreviations | Expand, re-space or re-punctuate | "F.3d" to "F.3rd" or "F. 3d" |
| Section references | Read the section sign as a letter or digit | "§ 1332" to "S 1332" |
| Parties' role names | Swap a rare legal noun for a common word | "Bailee" to "Bailey" |
| Coined defined terms | Split or respell an invented compound | "Earnout" to "Earn out" |
| Short citation signals | Capitalize or correct | "id." to "Id." or "is" |

Each change breaks something practical. A re-spaced reporter abbreviation no longer matches a citation search. A defined term that has lost its exact spelling stops matching the definition clause. A section sign read as "S" turns a statute reference into noise.

The fix is not to argue with the dictionary. It is to know which strings in your documents are at risk and to check those against the page image every time: names, citations, section numbers and defined terms.

## Can you switch off or extend the dictionary in an OCR tool?

Some OCR tools let you switch the dictionary off or add your own words, and some give you no control at all. With any tool, and a hosted service in particular, read the documentation, and if it does not say, assume you cannot change it and test what it does.

What two tools document:

| Tool | Switching off | Adding words | Source |
| --- | --- | --- | --- |
| Tesseract | "Disabling the dictionaries Tesseract uses should increase recognition if most of your text isn't dictionary words", by setting `load_system_dawg` and `load_freq_dawg` to false | A user words file, one word per line, and a user patterns file for strings of a set shape | Tesseract's guide to [improving the quality of its output](https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html) and its [manual page](https://github.com/tesseract-ocr/tesseract/blob/main/doc/tesseract.1.asc) |
| ABBYY FineReader PDF | Not addressed on the pages cited here | "If your text contains too many specialized terms, abbreviations or proper names, you can improve OCR quality by adding them to a user dictionary" | ABBYY's user guide page on [documents with many specialized terms](https://help.abbyy.com/en-us/finereader/16/user_guide/addwordtodictionary/) |

The quotation in the ABBYY row is ABBYY's description of its own feature, not a finding of this post. Its guide also describes a verification dialog in which you can "review low-confidence words, correct spelling errors, and add new words to the user dictionary", on the page about [checking recognized text](https://help.abbyy.com/en-us/finereader/16/user_guide/checkingtext/).

Tesseract's patterns file is worth a note for legal work, because it handles strings that follow a shape without being words. The manual's own example is a telephone-style pattern, `1-\d\d\d-GOOG-411`, and it refers to the project's source code for the format, where the [pattern definitions in trie.h](https://github.com/tesseract-ocr/tesseract/blob/main/src/dict/trie.h) give `\d` as a digit. A docket number or a Bates number has the same character: fixed letters, then digits.

Three cautions before you change anything.

1. **Switching the dictionary off is not free.** Ordinary words lose the help that was fixing their doubtful letters. It suits pages that are mostly codes and figures, not pages of prose.
2. **A long custom list has its own cost.** The [Tesseract FAQ for older versions](https://tesseract-ocr.github.io/tessdoc/tess3/FAQ-Old.html) advises users to "keep short words out of your dictionary" and warns against adding a vast list of rarely used words where they create ambiguities with more frequent ones.
3. **A matter list goes stale.** A user dictionary built for one case holds that case's names. Keep it with the matter and rebuild it for the next.

The Schema Law site describes no dictionary setting. You upload a PDF, PNG or JPEG, the pages are read into text and tables, and you view the result page by page before exporting. The site does not describe how recognition treats vocabulary, so print and scan a page of the names, citations and defined terms from your own files and see what comes back. The free plan's one document a day of up to three pages is enough for it, and the steps are under [how it works](https://www.schemalaw.com/#how-it-works).

Whatever tool you use, the control that always exists is the comparison. Make a list of the proper names and defined terms in the document, search the output for each, and read every miss against the scan.

## Try it on a real document

Upload a scanned PDF and export it as Word, a searchable PDF or plain text on the free plan. Your documents are never used to train an AI model. [Start free](https://www.schemalaw.com/api/auth/google)
