document-ocr

MIT

Turn scanned document pages into searchable PDFs — the original scan stays the visible image, OCR text sits invisibly underneath, and QC gates verify the text actually aligns with the scan before anything ships.

Muninn the raven examining a scanned document with a magnifying glass

What it is

You have a stack of scanned pages — a service manual, a textbook, archival documents. They're images: you can't search them, copy text, or jump to a page. This pipeline fixes that, producing a searchable PDF where the text layer hugs the original scan.

It grew out of a ground-up rewire of a 2000 Chevy S10: hundreds of pages of factory service-manual schematics that needed OCR'ing so every wire label could carry the manual's exact page number. When a misaligned text layer means a wrong wire, you build the QC gates first and the pipeline second.

How it works

Every step is config-driven. Different document types get different processing profiles — default for generic documents, service-manual for vehicle manuals with rotated schematics and pinout tables (validated on 100/100 pilot pages). Swap the config to adapt it to your documents; never touch code.

Privacy

Everything runs on your machine. No network calls, no telemetry, no cloud — your documents never leave your computer.

One honest note: the pipeline is FOSS (MIT), but the documents you process with it may not be. Don't redistribute scanned copyrighted material — use it on documents you own or have the right to process.

Status

Released. Vulnerability reporting policy published 2026-10-09.

Built with

Standing on the shoulders of Python, RapidOCR, OpenCV, and PyMuPDF.

Get it

github.com/GruntAndMuse/document-ocr