OCR blog: accuracy, word bounding boxes, tables, reproducible OCR and output formats
Every post comes from a measured run on public pages, so you see where OCR breaks before it breaks on your documents: why pages read wrong, how rotated scans, tables and receipts come out, how a CTC OCR engine catches hallucination, and how to get the result as JSON, Markdown, hOCR or a searchable PDF.
| Topic | Post |
|---|---|
| OCR errors: wrong digits and letters, and how to flag the unsure word | Common OCR errors |
| OCR for rotated pages: word bounding boxes on sideways scans | Rotated pages and word boxes |
| OCR hallucination: invented text from language models | Why LLM OCR hallucinates |
| Reproducible OCR: identical output at any batch size | Deterministic OCR |
| OCR pipeline models: text reader, orientation, layout, tables | OCR pipeline models |
| OCR model comparison on the same hard pages | Seven OCR models compared |
| Table extraction: cells with boxes, rebuilt into rows | OCR for tables |
| OCR for receipts and invoices: accents, prices, product codes | Receipts and invoices |
| OCR output formats: JSON, Markdown, hOCR, searchable PDF | JSON, Markdown and plain text, hOCR, searchable PDF |
| Self-hosted OCR on a GPU server: build, roll-out, checks | Bare metal to production |
OCR pipeline models: reader, orientation, layout, tables, image-to-text
November 9, 2026
Text reader, page orientation, layout, table grid and an image-to-text model: what each does in the pipelines, its measured score with the run, where it is weak, its licence.
Pipeline models →OCR model comparison: seven models on the same hard pages
November 9, 2026
Seven OCR models read the same public café receipt and invoice. Same spot, seven readings, the print beside each, and for every model what it did well and where it slipped. Run smoke-hart.
Seven OCR models →OCR table extraction: cells with boxes, rebuilt into rows
November 7, 2026
A dense test table of 194 lines, read by a pipeline: 190 lines equal the text, four differ. Every cell comes with its box; the grid is rebuilt from the boxes.
OCR for tables →Self-hosted OCR on a rented GPU server: from bare metal to production
November 6, 2026
How an OCR service runs on a rented GPU server: built by script, rolled out from a clean commit, checked by a second OCR engine, with every number tied to a run.
From bare metal →Common OCR errors and how to flag them with a confidence score
November 6, 2026
Why OCR reads a page wrong (turned pages, hard pages, 0 and O, comma and point) and how a list of unsure words beats auto-correction. Counts from six hard pages and a 4,406-word run.
Common OCR errors →Reproducible OCR: identical output at any batch size
November 6, 2026
Why batch size can change OCR output, how the CTC engine is fixed to give identical bytes, and the 300-page reproducibility test with batch sizes, processes and mixed jobs.
Deterministic OCR →hOCR output: OCR text with word boxes in HTML
November 6, 2026
hOCR from an OCR API: pages, lines and words with a bbox and a confidence as XHTML. A real excerpt, and when JSON is the simpler choice.
hOCR output →Why LLM OCR hallucinates, and how a CTC OCR engine catches it
November 6, 2026
Why an image-to-text language model invents text on some pages, how often it happened on 300 pages, and how a CTC OCR engine pins every word to a box on the page.
Why LLM OCR →OCR to JSON with bounding boxes: every word, place and confidence
November 6, 2026
OCR to JSON with a box and a confidence for every word, shown on a real answer. What to build on it: ERP amounts, search highlights, archive, agents.
OCR to JSON →OCR to Markdown and plain text for LLMs and RAG
November 6, 2026
OCR to Markdown or plain text for a language model, a wiki or a search index: one section per page, nothing in a scan can become markup. Real excerpts, tables as pipe tables.
OCR to Markdown →OCR for receipts and invoices: ten systems, one spot
November 6, 2026
Ten OCR systems, the same spot on two public pages. One accent, one missing price, one cut product code: what each system wrote, next to the printed text.
Receipts →OCR for rotated pages: word boxes from 13 % to 99 %
November 6, 2026
A sideways scan: 17 of 127 words matched a box. Turning the page upright and mapping the boxes back brought 126 of 127, with the orientation test on 240 rotated pages.
Rotated pages →Make a scanned PDF searchable: your original, plus a text layer
November 6, 2026
Make a scanned PDF searchable through an API: your original with an invisible text layer. A real check with pdftotext, with a text layer per word or per line.
Searchable PDF →