Local OCR
Searchable scanned PDF pipeline
A visible integration shell for WebGPU/ONNX OCR. Add a real model file to turn it into production OCR.
Built-in OCR test samples
Use these generated scan-like PDFs to tune thresholds before you upload real samples.
WebGPU / WebGL / WASM
ONNX Runtime tries WebGPU first, then WebGL, then WASM.
Persistent model cache
Model and charset bytes are cached in IndexedDB with versioned keys.
Searchable PDF export
pdf-lib writes a nearly invisible selectable text layer over scan images.
Checking model manifest...
Expert OCR tuning
Use real scanned samples to tune these values. Lower threshold finds more faint text but may add noise; higher merge values join nearby character boxes into full lines.
User guide
How to use Local OCR
Run configured ONNX text-detection and recognition models in the browser and build a searchable PDF layer.
- 1
Open the page online once so model files can be cached.
- 2
Upload a scanned PDF and select OCR languages.
- 3
Run detection and recognition, then review boxes and text.
- 4
Export a searchable PDF and test selection in a viewer.
Best for
- Scanned contracts
- Image-only reports and receipts
Important limitation
Accuracy depends on real compatible model files, decoder logic, language dictionaries, image quality, and device support. WebGPU fallback may use WASM; invisible text must use an embedded font.
Frequently asked questions
Does OCR work without model files?
No. The detector, recognizer, dictionaries, and matching preprocessing are required.
Can it work offline?
Yes after all required assets have been cached successfully.
PDFPerch processes files locally unless this guide explicitly identifies a cloud-dependent feature. Always keep an original copy and verify critical output before submission, printing, signing, or accounting use.