Engineering

Tesseract language packs — trade-offs and how to pick one

Fast, best, or original? A pragmatic guide to Tesseract's three model families and when each one earns its cost.

Marek Novák · Engineering LeadApril 15, 2026 8 min read
Share Post LinkedIn
Tesseract language packs — trade-offs and how to pick one

Tesseract ships three families of language models: tessdata_fast, tessdata, and tessdata_best. They differ in size, speed, and accuracy. For an in-browser OCR product, the choice matters — a 30 MB model versus a 10 MB one is felt on every install.

The three families

  • tessdata_fast — integerised LSTM. Smallest download, roughly 2x faster inference, about 1.5 percent lower accuracy on clean text.
  • tessdata — the default. Balanced size and accuracy. What most users should choose.
  • tessdata_best — float LSTM. Largest download (up to 40 MB per language), slowest, and 0.5-1 percent more accurate on messy text.

What we ship by default

nctools serves tessdata_fast for the default language and lazy-loads tessdata on request. For English, this means the initial OCR download is 6 MB instead of 22 MB, and the recognised text is 98.5 percent as good. The 1.5 percent difference is almost entirely in the last-letter of long uncommon words — not the sort of error that changes the meaning of a contract.

When to pick tessdata_best

  • You are OCR-ing 19th-century printed material with worn typefaces.
  • You need to extract price lists where a single digit error is expensive.
  • You are running a one-off batch and don't care about download time.

Language coverage

Tesseract ships 100+ languages. We expose 14 in the nctools UI — the ones with meaningful demand. Additional languages are one string change away for anyone self-hosting the tool. If you need one added to the public product, tell us in support.

Digits and specialised models

Beyond languages, Tesseract has specialised models. eng_digits recognises only 0-9, which is what we use for a second pass on amounts detected in invoices. equ is trained on printed mathematics. osd handles orientation and script detection — useful for auto-rotating scans.

The right model is the smallest one that gets you the accuracy you need. Fast almost always beats best in production.

MN

Marek Novák

Engineering Lead at nctools