About
Small, honest, local OCR
BrowserOCR is a static web application for turning up to 10 supported images or one PDF into editable text. It intentionally excludes accounts, uploads, translation, and server fallbacks.
How it works
ONNX Runtime Web executes PP-OCRv6 away from the main thread. TypeScript handles local image decoding, normalization, detection post-processing, line crops, CTC decoding, and reading order. For PDFs, the browser extracts native text and sends only pages that need recognition through the same local OCR runtime.
Choose a local OCR workflow
- Batch image OCR for up to 10 photos, screenshots, or scans.
- Chinese OCR for simplified, traditional, English, and mixed lines.
- PDF to Text for native or scanned PDF pages.
- OCR without upload for the browser-only processing and network boundary.
PDF engine attribution
Native PDF inspection and text extraction use LiteParse and its PDFium build, distributed under the Apache License 2.0. Scanned-page rendering uses Mozilla's PDF.js, also under Apache License 2.0. BrowserOCR ships both as same-origin browser assets; it does not call a document service. The bundled image-codec JBIG2, OpenJPEG, and QCMS notices accompany those decoder assets.
Umi-OCR informed the product comparison, but none of its desktop runtime or PyMuPDF-based PDF layer is included in BrowserOCR.
Model attribution
The detector and recognition models are PP-OCRv6 by PaddlePaddle, distributed under the Apache License 2.0. BrowserOCR uses the official Tiny detector, Tiny recognizer, and optional Small recognizer ONNX exports. See the versioned model manifest and license copy.
Image decoder attribution
TIFF decoding uses the MIT-licensed UTIF library. HEIC/HEIF decoding uses the pure-Rust WASM decoder maintained by heictosize.com’s private HEIC converter. Its open-source implementation is distributed here under AGPL-3.0. See the bundled license notice.
Limits
OCR results can contain errors. High accuracy changes recognition only and cannot recover lines missed by the shared detector. Always verify critical text against the original image or PDF.
Contact
Questions, bug reports, and support requests are welcome at [email protected].