OCRmyPDF
OCRmyPDF is free software that adds searchable text to scanned PDF files while preserving the original document as much as possible.
What OCRmyPDF is
OCRmyPDF is free software that adds searchable text to scanned PDF files while preserving the original document as much as possible. It uses Tesseract to recognize text in page images and creates PDF/A-2b files by default; regular PDF output is also an option. Image-processing tools such as deskew can adjust pages to support visual quality and recognition. For documents that already contain text, processing modes can stop with an error, skip affected pages, redo OCR, or apply OCR throughout. OCRmyPDF can be used as a Python library, and plugins allow processing steps to be customized. Installation methods are documented for Linux, macOS, Windows, FreeBSD, and Docker. Paperless-ngx and Nextcloud OCR are identified as third-party integrations. Results depend on scan quality and specified languages: poor scans or unselected document languages may produce poor output, and handwriting is not recognized. The documentation notes that accuracy may fall short of commercial solutions. It recommends processing only PDFs users trust and warns that its example Docker web service lacks security measures and is not intended for public internet deployment.
Good
- Free software for scanned PDF OCR
- Creates PDF/A-2b output by default
- Offers several modes for pages with existing text
- Can be used as a Python library with plugins
- Install methods cover major desktop systems and Docker
Watch out
- Handwriting is not recognized
- Poor scans may produce poor results
- Accuracy may trail commercial solutions
- Example Docker web service is not intended for public internet use
Who it suits
OCRmyPDF may suit people who need searchable text in scanned PDFs and are comfortable with a self-hosted tool or Python library. It is not suited to handwriting recognition, and scan quality and language selection matter.
Verdict
OCRmyPDF provides configurable OCR and searchable PDF output, with documented desktop and container installation options. Consider its handwriting, scan-quality, language, and security limitations before choosing it.
Plans and prices
From OCRmyPDF's own pricing page, checked 2 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| OCRmyPDF | Free | Free software; self-hosted installation; depends on external OCR and PDF tools |
The facts
Each one read from OCRmyPDF's own pages, with the date it was checked.
What it does
- API and plugins
- OCRmyPDF can be used as a Python library and supports plugins that customize processing steps.checked 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.checked 2 Oct 2026
- Existing text
- Its processing modes can error on existing text, skip such pages, redo OCR, or force OCR across all pages.checked 2 Oct 2026
- Handwriting OCR
- Nochecked 23 Sep 2026
- Image processing
- It offers image processing options such as deskew to improve visual quality and OCR accuracy.checked 2 Oct 2026
- Installations
- The documentation provides installation methods for Linux, macOS, Windows, FreeBSD, and Docker.checked 2 Oct 2026
- Integrations
- The documentation identifies Paperless-ngx and Nextcloud OCR as third-party integrations that use OCRmyPDF.checked 2 Oct 2026
- Language support
- Results may be poor when a document contains languages not specified in the language argument.checked 2 Oct 2026
- Maintainer
- The project metadata names James R. Barlow as an author.checked 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.checked 2 Oct 2026
- OCR engine
- It uses Tesseract to recognize text in PDF page images.checked 2 Oct 2026
- Page time limit
- By default, OCRmyPDF allows Tesseract three minutes per page and can skip images above a configured megapixel threshold.checked 2 Oct 2026
- PDF/A
- By default, OCRmyPDF generates PDF/A-2b archival PDFs, and users can select regular PDF output instead.checked 2 Oct 2026
- Purpose
- OCRmyPDF adds a searchable text layer to scanned PDF files while preserving the original PDF as much as possible.checked 2 Oct 2026
- Searchable PDF
- Yeschecked 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.checked 2 Oct 2026
- Supported inputs
- pdfchecked 23 Sep 2026
Money
- Free plan
- Yeschecked 23 Sep 2026
Where it runs
- Primary platform
- desktopchecked 23 Sep 2026
The full review of OCRmyPDF
OCRmyPDF is a free, self-hosted tool for adding searchable text to scanned PDFs. It is best suited to people and teams with an existing PDF workflow who want control over OCR processing. Its focused scope and configurable handling of text and output are useful strengths, but scan quality, language setup, and safe operation remain important constraints.
Overview
OCRmyPDF takes PDF files and uses Tesseract to recognize text in page images, adding a searchable text layer while aiming to preserve the original document. That narrow input focus is an advantage for scanned-PDF workflows, but it is not the right fit for readers who need a general OCR tool for images or other file types.
PDF/A-2b is the default output, which suits archival workflows; regular PDF output is also an option. Deskew and other image-processing options can improve page alignment and OCR conditions, though they cannot rescue every poor scan. Recognition may fall behind commercial solutions, and handwriting is not recognized.
Key features
- Configurable existing-text handling: Processing can error when text is already present, skip those pages, redo OCR, or force OCR across all pages. This is useful for mixed document collections, where an operator may need different treatment for already-processed pages.
- Image preparation: Options such as deskew can help with skewed scans and may improve recognition. Results still depend on source quality.
- Python and plugins: It can be used as a Python library, and plugins can customize processing steps. This makes it more adaptable to technical workflows than a fixed desktop-only utility.
- Bounded page processing: Tesseract is allowed three minutes per page by default, and images above a configured megapixel threshold can be skipped. These controls can help manage unusually demanding documents, but may leave some pages without OCR.
- Language-dependent recognition: Results may be poor if a document contains languages that were not specified in the language argument. Multilingual collections therefore require deliberate language configuration.
Pricing
OCRmyPDF is free software: its plan costs nothing and uses a self-hosted installation. There is no free trial because the software is already free. The trade-off is that OCR and PDF tools are external dependencies, and setup and operation fall to the user rather than a hosted provider.
For commercial use, users should comply with the project and dependency licenses. Some workflows require Ghostscript, which is licensed under AGPLv3; organizations should account for that before adopting it.
Platforms
OCRmyPDF is a desktop-oriented tool with documented installation methods for Linux, macOS, Windows, FreeBSD, and Docker. It is also categorized for API use and self-hosting, consistent with its Python library and configurable processing. Third-party integrations include Paperless-ngx and Nextcloud OCR.
Who it's for
Choose OCRmyPDF if you need searchable PDFs from scans, want PDF/A-2b by default or regular PDF by choice, and can manage a self-hosted tool and its dependencies. Python use and plugins are particularly relevant for teams building OCR into their own processing steps.
Look elsewhere if handwriting recognition is essential, if scans are consistently poor, or if you need commercial-grade recognition accuracy. It also requires care with language selection and document trust: the project advises using it only with PDFs you trust. Its Docker web-service example has no security measures and is not intended for public internet deployment.
Pros and cons
- Pro — Flexible PDF workflow: Existing-text modes let operators choose whether to skip, redo, force, or error on OCR for pages with text.
- Pro — Archival output option: PDF/A-2b is the default, with regular PDF available when archival output is not wanted.
- Pro — No software fee: The self-hosted software costs nothing.
- Con — No handwriting OCR: Handwritten documents are outside its recognition capability.
- Con — Results depend on input and configuration: Poor scans and unspecified languages can produce poor recognition, and accuracy may trail commercial solutions.
- Con — Operator responsibility: Users must manage dependencies, licensing, and secure handling; the example Docker web service is not safe for public deployment.
Alternatives
For a broader set of OCR options, browse OCR software or OCR API Software.
- Tesseract OCR is a free, Apache 2.0-licensed OCR engine; choose it if you want the recognition engine itself rather than OCRmyPDF's PDF-focused processing.
- PaddleOCR has an official API free tier with a daily document-parsing limit of 20,000 pages; consider it when that API quota fits your needs.
- docTR is a free open-source Python library that requires Python 3.11 or higher and can be installed with pip, Git, or Docker; choose it for a Python-library OCR workflow.
- FreeOCR.AI offers a $10 a month plan with 10,000 credits per month and an $80 a year plan with 120,000 credits; consider it if a credit-based service fits better than self-hosting.
- Open-Capture is free and open-source under GNU GPLv3 with no limit on users; consider it if user-count flexibility is a priority.
- EasyOCR is another free OCR option for Linux, macOS, self-hosted, and Windows use.
- ABBYY FineReader PDF is a paid option for iOS, macOS, and Windows, with Standard and Corporate standalone-license plans; consider it if those platforms and a paid PDF product suit your workflow.
- i2OCR offers a web-based free OCR plan that processes one image or PDF page at a time; consider it for occasional page-by-page work.
Verdict
OCRmyPDF is a strong fit for technically capable users who need free, configurable OCR for scanned PDFs, especially when searchable archival output or Python integration matters. Its main reason to choose it is control over PDF processing without a software fee; its main reason to look elsewhere is that handwriting, poor scans, language mismatches, and security-sensitive public deployment can undermine the result or the workflow.
Alternatives to OCRmyPDF
- 1

FreeOCR.AI
Free planWebAPImacOSWindows8.2From $80 a year - 2
Tesseract OCR
Free planAndroidAPILinuxmacOS7.9Free plan - 3

Open-Capture
Free planOpen sourceWebAPILinuxSelf-hosted7.9Free plan - 4
ScanScan
AndroidiOSWebmacOS7.7CN¥30 one-time - 5
Prizmo
Free planiOSmacOS7.7Free plan - 6
Tungsten OmniPage
APILinuxmacOSSelf-hosted7.6€99 one-time
