OCR a PDF or image
Pull text out of scanned PDFs and images using Tesseract.js, the standard open-source OCR engine, running locally.
Drop your file here
or click to browse
How it works
Pull text out of scanned PDFs and images using Tesseract.js, the standard open-source OCR engine, running locally.
Drop a PDF or an image (PNG, JPG, WebP). Pick a language: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese (Simplified), Japanese, Korean, Arabic, or Hindi. The first time you use a language, Tesseract downloads its trained data (~10 MB per language) and caches it for future runs. For PDFs, each page is rendered at 2x scale, OCR'd, and the recognized text is concatenated with page markers (===== Page N =====). Output is a plain .txt file. Accuracy depends on the source: clean printed text gets near-perfect results, low-resolution scans and handwriting are harder. This is recognition only, the original PDF isn't modified, the text is downloaded as a separate file.
How to use it
- Drop a scanned PDF or image. PNG, JPG, WebP, and multi-page PDFs all work.
- Pick the language. Choose one of 13 languages — the trained data (~10 MB) downloads once and caches.
- Run OCR. Each page is rendered at 2x and recognized locally by Tesseract.js.
- Download the text. Grab the .txt output, with page markers between pages, and spot-check the results.
Frequently asked questions
- How accurate is the OCR?
- On clean printed text at 200+ DPI, typically 95-99% character accuracy. Bad scans, faxes, and handwriting score much lower. The output is plain text, you'll want to spot-check.
- Which languages are supported?
- 13: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese (Simplified), Japanese, Korean, Arabic, Hindi. One language per run.
- Is OCR done in my browser or on a server?
- In your browser. Tesseract.js runs as WebAssembly, the language model loads from CDN once then caches.
- Can I OCR a multi-page PDF?
- Yes. Each page is processed in sequence and the output text includes page markers.