How to OCR a Scanned PDF Into Editable Text
Published September 1, 2026 · 4 min read
A scanned document — a photocopied form, a printed contract you photographed, a receipt — is really just an image wrapped in a PDF. There's no text layer to select or search. Optical character recognition (OCR) reads the pixels and reconstructs the actual text, and this tool does that with Tesseract, a mature open-source OCR engine, running fully client-side via WebAssembly, with self-hosted trained data for 25 languages.
Try OCR PDFSteps
- 1
Open the OCR PDF tool
Go to the OCR PDF tool.
- 2
Upload your scanned PDF
Choose the PDF (or image) you want to extract text from.
- 3
Choose the document language and options
Select the language the document is written in, which pages to run OCR on, and a segmentation mode if your document has an unusual layout (like a sparse form).
- 4
Run OCR
The tool renders each page and recognizes the text on it — this takes a few seconds per page since OCR is genuinely more work than plain text extraction.
- 5
Copy or download the text
Review the extracted text, then copy it or download it as a plain .txt file.
Frequently asked questions
Accuracy depends heavily on scan quality — a clean, high-resolution, well-lit scan of printed text will OCR very accurately; a blurry photo of handwriting will not. This tool uses the LSTM-based Tesseract engine, tuned for printed text.
25 languages, matching every language this site is available in, each with its own self-hosted trained model downloaded only when you select it — nothing is sent to a third-party OCR API.
Yes — OCR is far slower per page than regular text extraction, so runs are capped at 50 pages to keep the process from running for many minutes in your browser tab. Split a larger PDF first if you need to OCR more.
No — if you can already select text in your PDF viewer, use the faster PDF to Text tool instead. OCR is only needed when the PDF is essentially a picture of text, with no text layer underneath.
Because the OCR model and engine are self-hosted and run in a Web Worker, this works even on sensitive scanned documents you wouldn't want to upload to a third-party OCR API.

