PDF & Image OCR Text Extractor

Extract selectable text from scanned PDF documents, screenshots, receipts, and photographs locally in your browser using Tesseract OCR with multi-page and multi-language support.

Loading tool workspace…

Method and assumptions

Image files are decoded directly onto an HTML5 canvas, while multi-page PDF documents are rasterized page-by-page at 2x scale (144 DPI) via pdfjs-dist across your selected page range. A local Tesseract.js (Apache-2.0) WebAssembly worker performs layout analysis and character recognition in the selected language, reporting word counts and mean confidence scores per page.

Common mistakes and edge cases

OCR accuracy depends on scan resolution (150–300 DPI recommended), upright page orientation, and clean contrast. Handwritten cursive, heavily skewed scans, or pages below 30% confidence trigger an explicit low-readability warning.

How to use

  1. Drop a scanned PDF or image file (JPG, PNG, WebP, BMP) into the workspace (or load the sample scanned invoice).
  2. Select the document language and, for multi-page PDFs, enter a page range (e.g. 'all' or '1-3, 5').
  3. Click Run OCR and inspect the recognized text, word count, and per-page confidence score.
  4. Copy the extracted text or click Download .txt.

Example

Load the sample scanned invoice or drop a scanned PDF contract, select English (eng) and page range 1-2, and copy or download the recognized text as a .txt file.

Frequently asked questions

Does this work on multi-page scanned PDFs?
Yes. Each selected PDF page is rendered at 144 DPI in your browser and processed sequentially by the local Tesseract worker.
Why did a page trigger a low-readability warning?
Pages with fewer than 5 recognized characters or below 30% confidence are flagged so you can check scan orientation, contrast, or language selection.

RELATED TOOLS

FROM THE PORTFOLIO

Explore the RoninDesk portfolio.

This tool is provided for general informational and workflow purposes only. It does not constitute financial, investment, tax, or professional advice. All calculations run in your browser; no input data is transmitted or stored.