PDF OCR (Scanned PDF → Text)
Got a scanned PDF where the words are just pixels? Run OCR on it here. You can either get a plain .txt of the recognized text, or a searchable PDF that looks the same as the original but lets you select and copy. English only.
Drop your scanned PDF here
or click to browse
Accepts: .pdf
What's running here
Two libraries do the heavy lifting. pdf.js (Firefox's PDF engine) renders each page of your PDF to a canvas. Tesseract.js (a WebAssembly build of Google's open-source Tesseract OCR) reads the text off that canvas. Both run in your browser. The PDF doesn't go anywhere.
Which output to pick
- Plain text (.txt): just the words, one block per page. Smallest file. Use this if you're going to paste it somewhere or feed it to a script.
- Searchable PDF (.pdf): the original page images with an invisible text layer underneath. It looks identical to the source, but you can select text, copy it, and Ctrl-F through it. Bigger file because the page images are baked in.
How long this takes
OCR is slow. On a recent laptop, plan for 3 to 10 seconds per page. On a phone, more like 20 to 40 seconds per page. A 50-page book is a coffee break either way. The first run also pulls down the OCR engine (about 10 MB) and the English language data (about 4 MB), but those get cached, so the second run skips the download.
Getting decent accuracy
- Clean, high-contrast scans come out almost perfect. Faded or crooked scans are noticeably worse.
- The 3x render scale helps with small text. It also roughly doubles the time vs. 2x.
- Tesseract doesn't do handwriting. Don't try. This is for printed text only.
Nothing leaves your browser
The PDF stays local. After the page loads, the only network requests are for the OCR engine and language data, both fetched once and cached. Open DevTools, switch to the Network tab, and watch for yourself before you run a conversion.
A short history of OCR
Optical character recognition isn't new. Gustav Tauschek patented a primitive reading machine in 1929. Ray Kurzweil built the first general-purpose omnifont system in the 1970s, originally to read books to blind users. Google open-sourced Tesseract in 2005 after taking it over from HP Labs, and the LSTM-based engine that powers Tesseract 4 and 5 — the version running on this page — was added around 2018. Today's open-source OCR is good enough for clean printed text in any of 100+ languages. It still struggles with handwriting, heavy ornamental fonts, and anything below about 150 DPI.
Tips for cleaner output
- Scan at 300 DPI or higher. Below 200 DPI, accuracy collapses. The OCR engine literally cannot find the strokes of the letters.
- Black-and-white scans beat color. Run your scanner in document mode, not photo mode. Less data, sharper edges.
- Straighten the page. Tesseract handles small skew, but pages tilted more than 5 degrees lose accuracy fast. Most scanners deskew automatically.
- Watch out for crammed columns. Two narrow columns with little gutter often get merged. If accuracy matters, OCR each column separately and stitch the text back together.
- Strip stamps and watermarks first. A faint "DRAFT" diagonal across each page will sometimes be recognized as text and contaminate the output.
Frequently asked questions
Does my PDF get uploaded for OCR?
No. Both pdf.js and Tesseract.js run as WebAssembly inside your browser tab. The only network traffic is the initial download of the OCR model files, which happens once and is cached.
How accurate is it on a clean scan?
For high-quality scans of standard typography, expect 95-99% character accuracy. Numbers and special symbols are slightly worse. Bad scans drop to 80% or below.
Does it support languages other than English?
The default model is English-only because adding more languages roughly doubles the download and memory cost per language. Contact us if you need a specific language and we'll consider adding a variant page.
Can it read handwriting?
No. Tesseract is for printed text. Handwriting requires a different class of model and is genuinely hard. For handwritten notes, look at commercial tools like Google Lens or Microsoft OneNote.
What's the difference between this and Make PDF Searchable?
This page can do either. "Make PDF Searchable" is a dedicated variant focused on the hidden-text-layer output specifically.
Are there file size limits?
Memory is the limit, not policy. Several-hundred-page PDFs at 300 DPI work on a laptop. On a phone, expect the tab to crash above 100-150 pages.