OCRmyPDF
FreeAdds an invisible text layer to scanned PDFs so they become searchable
A command-line tool that adds an invisible OCR text layer to scanned PDFs, leaving the page appearance untouched while making it searchable, selectable and copyable. Built on Tesseract, it covers more than a hundred languages, corrects skew, removes noise, reduces file size and processes whole directories in batch.
Why we picked it
MPL-2.0, 34,800 stars.
A scanned PDF is a stack of images; Ctrl-F finds nothing in it. OCRmyPDF slips a transparent text layer under the images, so the page looks identical while the text becomes visible to search engines, readers and to Paperless-ngx, listed here.
It is built as a pipeline stage rather than something to click:
ocrmypdf -l eng input.pdf output.pdf
One command per file, and a loop makes it hundreds. Running everything off the scanner through it before it enters an archive is a standing workflow for a lot of people.
To be clear about:
- Command line only, with no GUI. For one or two files, Umi-OCR or Stirling PDF in this directory are more direct.
- Non-English recognition needs the matching Tesseract language pack installed; only English ships by default.
- PDFs that already carry a text layer are skipped unless you pass
--force-ocr.