★ 34k
August 2026
MPL-2.0
Docs & PDF Q&A
What it does
A scanned PDF looks like text but is really an image, so you cannot search or copy it. OCRmyPDF adds an invisible text layer underneath the original page image, leaving the appearance untouched while making the content searchable and copy-pastable. It handles multiple languages, can straighten misrotated pages and batches over large sets. Command-line only, installed via pip or Homebrew; everything runs locally, so documents never leave your machine.
Summary based on the project's own description. The Japanese page has a fuller beginner guide: setup difficulty, what to prepare, and a step-by-step start.
Screenshots & visuals
Before you start
- Setup difficultyEasy to start
- Command lineRequired
- API keyNot required
- Sends data onlineNo
Judged automatically from the project's own metadata. Always confirm on the official page.
OCRmyPDF FAQ
- Is OCRmyPDF free?
- Yes. It runs on your own machine, so there is no usage-based cost either.
- Do I need to install anything or write code to use OCRmyPDF?
- It needs the command line. If you are not comfortable typing commands, expect to get stuck during setup.
- Does OCRmyPDF work on a phone?
- No. It needs a computer.
- Can I use OCRmyPDF commercially?
- The licence is MPL-2.0, which permits commercial use. Conditions such as keeping the copyright notice still apply, so read the licence text before shipping it inside something.
How it compares
The conditions that decide whether you can actually use it, side by side.
| Tool | Command line | API key | Sends data out | Phone | Commercial use |
|---|---|---|---|---|---|
| OCRmyPDF (this page) | Required | Not needed | No | No | Yes |
| pdf-craft | Required | Not needed | No | No | Yes |
| Paperless-ngx | Required | Not needed | No | No | Yes |
| opendataloader-pdf | Required | Not needed | No | No | Yes |
"Sends data out" means your input is uploaded to someone's server. Pick "No" when the material cannot leave your organisation.