- Home
- OCR software
- OCRmyPDF
OCRmyPDF
What it is
OCRmyPDF is free software that adds searchable text to scanned PDF files while preserving the original as much as possible. It uses Tesseract to recognize text in page images and creates PDF/A-2b output by default, with regular PDF output also available. Image-processing options such as deskew can adjust pages to support scan quality and recognition. For PDFs that already contain text, processing modes can stop with an error, skip pages, redo OCR, or apply OCR throughout. OCRmyPDF can also be used as a Python library, and plugins can customize processing steps. Installation methods are documented for Linux, macOS, Windows, FreeBSD, and Docker; Paperless-ngx and Nextcloud OCR are named as third-party integrations. Recognition quality depends on scan quality and specified languages: poor scans or unselected document languages may produce poor results, and handwriting is not recognized. The documentation notes that accuracy may trail commercial solutions. It recommends processing only trusted PDFs and warns that its example Docker web service lacks security measures and is not intended for public internet use.
For and against
For
- Adds searchable text to scanned PDF files
- Generates PDF/A-2b by default
- Offers deskew and several existing-text modes
- Can be used as a Python library
- Installation methods include Linux, macOS, Windows, and Docker
Against
- Does not recognize handwriting
- Poor scans can produce poor results
- Accuracy may trail commercial solutions
- Example Docker web service lacks security measures
The verdict
OCRmyPDF provides PDF OCR with configurable handling for existing text and output format. Scan quality, language selection, handwriting limits, and deployment security are important considerations.
Who it suits
OCRmyPDF suits users who need searchable text in scanned PDFs and can work with a self-hosted tool or Python library. It is not suited to handwriting recognition, and users should account for the documented security and accuracy limitations.
Plans and prices
OCRmyPDF
Free software; self-hosted installation; depends on external OCR and PDF tools
Read 2 Oct 2026 · ocrmypdf.readthedocs.io
On the record
- API and plugins
- OCRmyPDF can be used as a Python library and supports plugins that customize processing steps.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Commercial use and dependency
- The documentation says users should comply with the project and dependency licenses and notes that Ghostscript, which OCRmyPDF requires in some workflows, is AGPLv3 licensed.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Existing text
- Its processing modes can error on existing text, skip such pages, redo OCR, or force OCR across all pages.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Handwriting OCR
- Noocrmypdf.readthedocs.io · read 23 Sep 2026
- Image processing
- It offers image processing options such as deskew to improve visual quality and OCR accuracy.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Supported inputs
- pdfocrmypdf.readthedocs.io · read 23 Sep 2026
- Installations
- The documentation provides installation methods for Linux, macOS, Windows, FreeBSD, and Docker.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Integrations
- The documentation identifies Paperless-ngx and Nextcloud OCR as third-party integrations that use OCRmyPDF.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Language support
- Results may be poor when a document contains languages not specified in the language argument.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Maintainer
- The project metadata names James R. Barlow as an author.github.com · read 2 Oct 2026
- OCR accuracy
- The documentation notes that OCR accuracy may trail commercial solutions, handwriting is not recognized, and poor scans can produce poor results.ocrmypdf.readthedocs.io · read 2 Oct 2026
- OCR engine
- It uses Tesseract to recognize text in PDF page images.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Page time limit
- By default, OCRmyPDF allows Tesseract three minutes per page and can skip images above a configured megapixel threshold.ocrmypdf.readthedocs.io · read 2 Oct 2026
- PDF/A
- By default, OCRmyPDF generates PDF/A-2b archival PDFs, and users can select regular PDF output instead.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Primary platform
- desktopocrmypdf.readthedocs.io · read 23 Sep 2026
- Purpose
- OCRmyPDF adds a searchable text layer to scanned PDF files while preserving the original PDF as much as possible.ocrmypdf.readthedocs.io · read 2 Oct 2026
- Searchable PDF
- Yesocrmypdf.readthedocs.io · read 23 Sep 2026
- Security
- The project advises using OCRmyPDF only with PDFs users trust and says its Docker web service example has no security measures and is not intended for public internet deployment.ocrmypdf.readthedocs.io · read 2 Oct 2026