OCR PDF — recognize text in scanned PDFs

Extract the actual text from an image-only PDF. Uses Tesseract.js in your browser. No upload, no account.

Drop a scanned PDF here

or click to choose a file

Accepted: PDF · No upload

    OCR options
    Additional traineddata packs must be vendored under /assets/libraries/tesseract/ for non-English languages.

    How to OCR a PDF

    1. Add a scanned PDF.
    2. Pick the language (default English).
    3. Click Run OCR. Each page is rendered and recognised locally.
    4. Review the text below and download it as .txt.

    When OCR works well

    • 300 DPI or higher scans of printed text
    • Clean, high-contrast black text on white background
    • Standard fonts, no heavy stylisation

    Privacy

    Tesseract.js and the trained data run in your browser. Documents are never uploaded.

    Known limitations

    • OCR is slow — roughly 10–30 seconds per page on desktop, longer on phones.
    • Handwriting and stylised fonts are poorly recognised.
    • Only eng is bundled by default; other languages need extra traineddata files.
    • The output is plain text, not a corrected layout copy.

    Frequently asked questions

    What is OCR?
    OCR reads the pixels of a scanned page and converts them into real text characters you can select, copy and search.
    How accurate is OmniPDF OCR?
    Accuracy depends on scan quality, language and font. Clear 300 DPI printed scans in English typically reach 90%+ accuracy. Handwriting is far less reliable.
    Does OCR run in my browser?
    Yes. Everything runs locally with Tesseract.js. No image or text leaves your device.