OCR PDF — free, private, in your browser
OCR PDF renders each page with PDF.js, reads it with the Tesseract.js OCR engine running in your browser, and writes an invisible text layer back over the page with pdf-lib - so a scan becomes searchable. Free, no signup, 5 runs a day. It runs in your browser; nothing you add is uploaded.
🔍 OCR PDF
Run OCR on every page and add an invisible text layer so the PDF becomes searchable and copy-able. Runs in your browser.
First-time use of a language downloads its training data (~10–30 MB). Subsequent runs are cached.
About OCR PDF
Turn a scanned, image-only PDF into a searchable, copy-able document by adding an invisible text layer — all on your device. TaimurTools runs OCR locally in your browser (supporting multiple languages), so confidential scans are never uploaded to a server. No signup, no watermark. After OCR you can search, select, and copy text from what used to be a flat image scan.
- Add a searchable text layer to scans
- Multi-language OCR, on-device
- No upload — fully private
- Free, no signup or watermark
Step-by-step guide: How to OCR a scanned PDF privately
Runs on your device
Your file is opened and processed by JavaScript inside this page. It is never uploaded and we never receive it. The page does download the processing library it needs from a public CDN the first time you use it - that request carries no part of your file.
Free tier: 5 runs per day for this tool, counted in your browser. The counter resets at midnight UTC and is not shared between browsers or devices.
How TaimurTools handles data · Why most of these tools run on your device
What this tool is for
- Making a scanned contract searchable
- Getting selectable text out of a photographed document
- Preparing a scan so PDF to Word or PDF to Excel can read it
| What it does | Renders each page with PDF.js, reads it with the Tesseract.js OCR engine running in your browser, and writes an invisible text layer back over the page with pdf-lib - so a scan becomes searchable. |
|---|---|
| Accepted input | One PDF (application/pdf), plus the language of the text: English, Urdu, Arabic, Spanish, French, German, Italian, Portuguese, Russian, Chinese (Simplified), Japanese or Hindi. |
| What you get back | The same PDF with an invisible, selectable and searchable text layer added. |
| Limits | Capped at 5 runs per day for this tool, counted in your browser and reset at midnight UTC. It is also slow - each page is rendered and then read by the OCR engine on your own device. |
| Browser requirements | A current desktop browser is strongly preferred. The OCR engine and the language data are downloaded from a CDN on first use, which is a sizeable download, and recognition is CPU-heavy. |
A worked example
- Input
- A 2-page scan of a typed English letter, language English.
- What comes back
- A visually identical 2-page PDF in which the letter's text can be selected, copied and found with Ctrl+F.
- Worth knowing
- Accuracy depends entirely on the scan. Clean, straight, high-contrast typed text reads well; handwriting, faint or skewed scans, unusual fonts and busy backgrounds produce errors. The visible page is never altered - only a hidden text layer is added - so a mis-read never damages the original appearance.
If it does not work
The extracted text is full of errors
The scan quality is the limit. Rescan straight, at higher resolution and better contrast, and make sure you chose the right language.
It is very slow or the tab becomes unresponsive
Recognition runs on your own CPU. Use a desktop browser and split long documents.
"OCR library not loaded"
The engine is still downloading from the CDN. Reload, wait a moment and try again.
Handwriting was not recognised
Tesseract is built for printed text. Handwriting is out of scope.
Non-Latin text came out wrong
Set the language selector before running - the default model is English only.
Nothing happens when you run it
You may have used your 5 free runs of this tool for today. The page shows a "Daily limit reached" notice; the counter resets at midnight UTC.
How to use OCR PDF
- Add your scanned PDFDrop the PDF onto the upload area, or click to pick it.
- Choose the languagePick the language the document is actually written in - this changes the recognition model.
- Make it searchableClick Make Searchable and wait. The first run also downloads the OCR engine and language data.
- DownloadSave the PDF. It looks identical but you can now select and search the text.
When to use OCR PDF
Making a scanned contract searchable
A signed agreement that was scanned is a stack of page pictures. After OCR you can press Ctrl+F and jump to a clause instead of reading every page.
Getting selectable text out of a photographed document
Pages photographed on a phone and turned into a PDF can be read so that you can copy a paragraph into an email or a report.
Preparing a scan for PDF to Word or PDF to Excel
Those tools read the text layer of a PDF. A scan has none, so they return nothing. Run OCR first and they have something to work with.
Searching an archive of old scans
Once old statements or letters have a text layer, your computer's search can find them by their contents, not only by file name.
Working in another language
The tool reads 12 languages, including Urdu, Arabic, Hindi, Chinese and Japanese.
The settings, explained
OCR PDF draws each page with PDF.js, reads it with the Tesseract.js engine inside your browser, and writes the recognised text back as an invisible layer with pdf-lib. There is one real choice to make:
- Language
- English, Urdu, Arabic, Spanish, French, German, Italian, Portuguese, Russian, Chinese (Simplified), Japanese or Hindi. Each one loads its own recognition model, so choosing the language the document is actually written in matters more than anything else you can do.
- First run
- The OCR engine and the language data are downloaded from a CDN the first time you use them. It is a sizeable download, so the first run is slower. That download is the engine, not your document.
- Make Searchable
- Starts the job. Every page is rendered and then read on your own device, which is CPU-heavy. Keep the tab open until it finishes.
- The result
- A PDF that looks identical to the original. The text layer is invisible, so you can select, copy and search it, but the page image is untouched.
What it cannot do
- Accuracy depends on the scan. Clean, straight, high-contrast typed text reads well; handwriting, faint or skewed pages, unusual fonts and busy backgrounds produce errors.
- It does not clean up the page. It will not straighten a crooked scan, remove shadows or sharpen blur; the visible page stays exactly as it was.
- It is slow on long documents and heavy on a phone. A current desktop browser is strongly preferred, and very long scans are best split into parts first.
- The free allowance is 5 runs per day for this tool, counted in your browser and reset at midnight UTC.
How it compares with the alternatives
Adobe Acrobat and many scanner programs include OCR that can also straighten pages and recognise layout. Cloud services such as Google Drive will OCR a file when you open it as a document. Those are faster and often more accurate on poor scans, but the cloud options require uploading the file.
OCR PDF is for the case where the document is private and you do not want to upload it, or where you have no OCR software installed. Recognition happens in your browser tab, and the file is not sent to this site or anyone else.
How in-browser processing works, and exactly which tools are the exception, is explained on the why client-side page.
Getting a better result
Pick the right language
It changes the model the engine uses. A French document read as English produces many errors.
Start from the best scan
If you can rescan, do it straight and at a normal document setting. OCR cannot recover detail that is not there.
Test the result
Open it and search for a word you can see on the page. If it is found, the text layer is in place.
Proofread numbers
OCR confuses O and 0, and I, l and 1. Check amounts, dates and account numbers against the page.
More questions about OCR PDF
Will OCR change how my PDF looks?
No. Only an invisible text layer is added; the page image is untouched.
Can it read handwriting?
No. It is built for printed text.
Why is the first run so slow?
The OCR engine and language data download on first use. Later runs in the same session skip that step.
Can I OCR a single image instead of a PDF?
Use Image to Text for one picture in English, or put the image into a PDF with Image to PDF and run it here for other languages.
Related tools
- PDF to Word - extract the text once the scan is searchable
- Image to Text - read one picture instead of a PDF
- Split PDF - break a long scan into parts first
- Compress PDF - shrink a large scan (do this before OCR, since compression removes the text layer)
Step-by-step walkthrough: read the full guide.
We build fillable PDF forms, contracts, invoices and document templates that customers and staff can complete in any PDF viewer, with calculations, validation and your branding. The free tool above stays free.
Frequently asked questions
Is my scan uploaded to a server?
No. This is the unusual one: OCR normally means uploading to a cloud service, but here the Tesseract.js engine runs inside your browser. Your PDF never leaves the device. The engine and language data are downloaded to you from a CDN - that traffic goes one way and carries no part of your file.
Why does the first run take so long?
The OCR engine and the language model have to download before anything can be read. Later runs in the same session skip that.
Does it change how the page looks?
No. The text layer is invisible and sits over the existing page. The appearance is unchanged.
Which languages are supported?
English, Urdu, Arabic, Spanish, French, German, Italian, Portuguese, Russian, Chinese (Simplified), Japanese and Hindi.
Is there a daily limit?
Yes - 5 runs per day, counted in your browser and reset at midnight UTC. Given how long OCR takes on a long scan, that is usually not the binding constraint.