Free OCR for Scanned PDFs Online (No Upload, No Signup)
Pull text out of a scanned PDF with free OCR that runs in your browser. Ten languages, no account, no upload. Here is how it works and when to use it.
A scanned PDF is basically a stack of photos of paper, glued together into one file. Your eyes can read it. Your computer cannot. Copy-paste does nothing. Search does nothing. The document is opaque to every tool that expects text.
OCR is what fixes that. Optical Character Recognition is the process of looking at an image and figuring out which pixels are which letters. Done well, it turns a scanned PDF into something you can search, copy, paste, and feed into other tools.
This post walks through doing that for free, in your browser, on documents you would not want to upload to a stranger's server.
How to OCR a scanned PDF in your browser
- Open the OCR tool.
- Drag your scanned PDF into the page.
- Pick the main language of the document. English is the default. Hindi, Spanish, French, German, Portuguese, Italian, Chinese, Arabic, and Japanese are also there.
- Click Run OCR.
- Wait while the engine reads each page. The progress bar shows real-time progress per page.
- Copy the text or download it as a
.txtfile.
The first run downloads a language model (around 10 MB for English). After that it is cached, so future runs start instantly.
Why this is different from typical online OCR
Most OCR sites work like this: you upload, they process on their servers, they email you a download link. The files sit in a bucket somewhere for hours. Some sites scan your documents for "improving the model" before deletion. Most retain copies for backup recovery for 30 days or longer, deletion policy notwithstanding.
If the PDF you are OCRing is a bank statement, a medical report, a contract, or any document you would not photocopy and mail to a stranger, this is a problem.
PDF Toolbox uses Tesseract.js, an OCR engine that runs entirely as JavaScript inside your browser. The PDF never leaves your device. The language model is fetched from a CDN, but that is just code, not your file. Open DevTools, switch to Network, drop in a PDF, run OCR, and watch. You will see the model download once. You will not see your PDF go anywhere.
When OCR works well
Tesseract.js is genuinely good at:
- Clean modern scans. Documents scanned at 300 dpi or higher with a normal scanner produce excellent results. Expect 95 to 99 percent accuracy on a clear printed page.
- Standard fonts. Times, Helvetica, Arial, and the common variants are bread and butter. The model has seen them millions of times.
- Black-on-white pages. High contrast is the OCR engine's best friend.
- Single-column layouts. Books, letters, contracts. Anything that reads top to bottom in a single flow.
When it struggles
Be realistic about what local OCR can handle:
- Phone photos at an angle. Skewed pages confuse the engine. Take the photo straight-on from above, or use a scanner app that auto-straightens.
- Handwriting. Tesseract is OCR for printed text, not HTR (handwritten text recognition). Cursive notes will come out as gibberish.
- Two-column newspapers and magazines. It often merges columns or jumps between them. Some manual cleanup is usually needed.
- Very small print, decorative fonts, or stylised logos. These tend to drop characters or substitute similar-looking letters.
- Languages with complex scripts on low-resolution scans. Arabic, Chinese, and Devanagari need higher resolution than Latin alphabets to read reliably.
A good rule of thumb: if you can comfortably read the document at 100 percent zoom on your screen, OCR will probably do well. If you have to zoom in to make out individual letters, expect a noisy output.
What to do with the extracted text
Once you have the text, the obvious things:
- Search inside the document. Paste it into your editor or a note app and just use Cmd-F.
- Quote and reference. Copy a paragraph into an email instead of typing it out by hand.
- Translate. Paste into Google Translate or DeepL.
- Run analysis. Feed it into a script that counts things, extracts dates, or pulls names. Local OCR plus a local script is a powerful private workflow.
- Convert to a different format. Once it is text, it can become Word, Markdown, plain text, or anything else.
Tips for better OCR results
- Crop before OCRing. If half the page is white margin or includes the scan bed, you are giving the engine more pixels to chew through for no benefit. Crop in a different tool first.
- Boost contrast. A muddy grey scan benefits from a contrast bump in Preview or Photos before OCR. Pure black-on-white reads best.
- Run page-by-page if needed. For very long documents, splitting into chunks with the Split tool and OCRing one piece at a time keeps things responsive.
- Pick the right language. Picking English for a Spanish document still gets most words right, but you will see a lot of accent characters dropped. Always pick the actual document language if you know it.
What about searchable PDF output?
A common request: turn a scanned PDF into a "searchable PDF" where the text layer is invisible but copy-paste works. We do not output that format yet because the most common workflow is: OCR, then copy the text to wherever you actually need it. If enough people ask, we will add the searchable-PDF export.
For now, the .txt output covers the use cases that matter most: searching, quoting, translating, and pasting into other documents.
Try it
Open the OCR tool and turn your first scan into text in under two minutes. Free, no signup, no uploads.

Keep reading
How to Sign a PDF Online for Free (Without Adobe or an Account)
A quick guide to signing a PDF entirely in your browser. Draw or type your signature, place it on any page, download. No Adobe, no uploads, no signup.
Why You Should Stop Uploading PDFs to Online Tools
Most online PDF sites keep, scan, or share what you upload. Here is what actually happens to your file, and why local-only tools are now the safer default.