OCR PDF — Text from Scans, in Your Browser
Drop a scanned PDF and Tesseract runs entirely in your browser to recognise the text on each page. Choose plain text output, or a "searchable PDF" where the original page image stays visible but selectable text sits behind it. OCR is slow — expect tens of seconds per page on a laptop.
Drop your scanned PDF here
Multiple files allowed · OCR runs locally (Tesseract.js)
No scan handy? The scanned sample is 3 image-only pages made for exactly this. More free sample files.
When to use this tool
Anything whose "text" is actually pixels: scanned receipts and invoices, a contract that only exists on paper, pages photographed with a phone, a fax, an old book, a form someone printed, signed and scanned back. Open one of these and Ctrl-F finds nothing, selecting text selects nothing, and copying gives you nothing — because as far as the file is concerned each page is one photograph.
OCR reads the shapes and writes back real characters. In searchable PDF mode the page still looks exactly as it did — the scan is what you see — but an invisible text layer sits behind it, so search, selection and copying work, and so do accessibility tools and screen readers. In plain text mode you just get the words, which is what you want when the destination is a spreadsheet, a script or a search index rather than a document.
Why this one runs on your machine
Every fast OCR service uploads your document. That is the trade: their servers are far quicker than your laptop, and in exchange your scan — which is very often a bank statement, a passport page, a medical letter or a signed contract, because those are precisely the things that arrive as scans — is copied to a machine you do not control and sits in a processing queue.
Here Tesseract is compiled to WebAssembly and runs in a Web Worker inside your own tab. The only thing fetched from the network is the language model, once. Your PDF never moves. The honest cost is speed: expect roughly ten to sixty seconds per page depending on your machine, the DPI and the language. Start it and go and do something else.
Getting accuracy that is actually usable
OCR quality is decided almost entirely before it runs, by the scan. A few things move the needle much more than any setting on this page:
- Resolution. 300 DPI is the classic target for body text; below about 150 DPI accuracy falls off a cliff because the strokes are no longer distinguishable. If the source scan is low-resolution, OCR-ing it at 300 will not invent detail that was never captured.
- Straightness. A page rotated even two or three degrees costs real accuracy, because Tesseract segments text into horizontal lines. Fix it first with Rotate pages; for a whole book, deskew before scanning.
- Contrast. Grey-on-grey scans confuse the binarisation step. Running the file through PDF to grayscale in pure black-and-white mode, with the threshold tuned, can rescue a washed-out scan.
- Cropping. Scanner edges, black borders and the shadow of a facing page all get interpreted as content. Auto-crop margins removes them.
- The right language. The model is language-specific; running English over a German page mangles every umlaut. For a two-language document choose the dominant language — Latin characters from the other one still come through.
- Book spreads. Two pages on one sheet confuse the layout analysis. Run Split pages in half first.
On a clean 300 DPI scan of ordinary printed text, expect the high nineties per cent. On a phone photo of a crumpled receipt under a desk lamp, expect to retype it. Handwriting is not supported at all by this engine — Tesseract recognises print, not cursive.
How to OCR a scanned PDF
- Check that OCR is what you need. Try selecting text in the PDF first — if it selects, the file already has a text layer and PDF to text will extract it in a second instead of minutes.
- Straighten and crop the scan if it is visibly skewed or has scanner borders. Ten seconds here buys more accuracy than any option below.
- Drop the PDFs. Each page is rasterised and then recognised.
- Choose the output — plain text for data, searchable PDF to keep the document looking untouched, or both.
- Choose the language of the document, and the OCR DPI: 200 is a good balance, 300 is more accurate and slower.
- Click Run OCR & download and leave it. The status line reports the page it is on; a long document is a coffee break, not a click.
- Spot-check the result — search the searchable PDF for a word you can see on page 1. If it is not found, the scan quality is the problem, not the setting.
FAQ
Why so slow?
OCR is genuinely expensive computationally, and we run it locally in WebAssembly so your files stay private. Server-side OCR services are faster but require uploading your PDF.
How accurate is it?
Good for clean 300 dpi scans (95%+). Poor for low-resolution, handwritten, or skewed input. For best results, OCR clean scans at 200–300 dpi.
Are my files uploaded?
Never — Tesseract.js runs in a Web Worker inside your tab. The model data is fetched once from a CDN; your PDF stays local. See the privacy policy.
How do I make a scanned PDF searchable?
Choose "Searchable PDF" as the output. The page image is kept exactly as it is and the recognised text is written behind it as an invisible layer, so the document looks identical but Ctrl-F, text selection and screen readers all work.
Can it read handwriting?
No. Tesseract recognises printed type; handwriting recognition is a different class of model and is not available here. Neat block capitals sometimes partly work, cursive never does.
Which languages are supported?
The dropdown covers Latin-script European languages, Cyrillic, Chinese (simplified and traditional), Japanese, Korean, Arabic, Hebrew, Persian, Hindi, Thai and Indonesian. The model for the language you pick is downloaded once, then cached by the browser.
Is there a page limit or a file-size limit?
No limit imposed by us — there is no server and no quota, unlike the free tiers of upload-based OCR services, which typically cap you at a handful of pages a day. The real limit is patience and your tab's memory.
Can I OCR just a few pages of a long document?
Yes, and you should. Pull them out first with Extract pages and OCR the small file — OCR-ing 400 pages to read three is a very long wait for nothing.
Related PDF tools
- PDF Image Extractor — Save embedded pictures out as PNG.
- PDF to Word Converter — Editable .docx with headings detected.
- PDF to Excel Converter — Tables to a real .xlsx workbook.
- PDF to CSV Converter — Table rows as CSV, per page or combined.
- PDF to HTML Converter — Flowing markup or positioned spans.
- PDF to Grayscale Converter — Grey or pure black & white for printing.