BleachPDF
github.com
What it is
BleachPDF is a free desktop utility for Linux and macOS that redacts sensitive information from PDF files, including scanned pages. It converts each page into an image, applies OCR to locate text you specify, covers matches with black boxes, and writes a new PDF. The resulting file contains images only, so it has no hidden text layer that could reveal redacted wording through copying and pasting. Matching can use exact text or more complex patterns, including case-insensitive rules and digit patterns. Its command line accepts a folder or file pattern for batch processing. After redaction, BleachPDF rescans the output; if matching text is still exposed, verification fails and processing stops. It runs locally without uploading documents. Installation uses pip and requires Tesseract, with OCR language selection such as eng or eng+kor. Handwriting, unusual fonts, poor scans, and tiny dense text can cause recognition errors, so manual checking is advised.
Spec sheet
- What it does
- BleachPDF is a command-line utility that blacks out sensitive information in PDF files.Read 15 Oct 2026 · github.com
- Purpose
- BleachPDF blacks out sensitive information in PDF files, including scanned documents.Read 3 Oct 2026 · github.com
- Privacy
- The README says it runs on the user's computer and does not upload documents.Read 3 Oct 2026 · github.com
- License
- The package is licensed as GNU AGPL-3.0-or-later and is classified as OSI-approved AGPLv3+.Read 15 Oct 2026 · github.com
- Maker
- The README identifies the author as John Byrd.Read 3 Oct 2026 · github.com
- Batch processing
- The CLI accepts folders and glob patterns to process multiple PDF files.Read 15 Oct 2026 · github.com
- Benchmark testing
- The project says its tests use Allen Institute for AI's olmOCR-bench and rescan outputs to check that redacted text is hidden.Read 15 Oct 2026 · github.com
- Case-insensitive matching
- Pattern syntax supports case-insensitive literals using the i modifier.Read 15 Oct 2026 · github.com
- Configuration files
- Configuration can be selected explicitly, through BLEACHPDF_CONFIG, or from user and system configuration locations.Read 15 Oct 2026 · github.com
- Dependencies
- Declared dependencies include pytesseract, Pillow, ReportLab, PyMuPDF, PyYAML, parsimonious, platformdirs, and psutil.Read 15 Oct 2026 · github.com
- Developer interface
- The package exposes a bleachpdf console-script entry point calling bleachpdf:main.Read 15 Oct 2026 · github.com
- Digit and letter patterns
- The pattern language can match arbitrary digits or letters, such as nine-digit or ten-digit sequences.Read 15 Oct 2026 · github.com
- Exact matching
- Users can supply literal strings with the -m or --match command-line option.Read 15 Oct 2026 · github.com
- Exit statuses
- The CLI documents distinct codes for configuration errors, file errors, no matches, and verification failures.Read 15 Oct 2026 · github.com
- External benchmark details
- The olmOCR-bench dataset page identifies it as an Allen Institute for AI benchmark with 1K to 10K document examples and English-language data.Read 15 Oct 2026 · huggingface.co
- Image-only output
- The resulting PDF contains page images without a hidden text layer that could expose redacted text through copying.Read 15 Oct 2026 · github.com
- Installation dependency
- Installation requires the Tesseract OCR engine, with Ubuntu/Debian and macOS setup commands documented.Read 15 Oct 2026 · github.com
- Language support
- The OCR language can be selected with --lang, with examples including eng and eng+kor.Read 3 Oct 2026 · github.com
- Limit: censorship restriction
- The accompanying license states that permission is not granted to use the software for censorship as defined in the license text.Read 15 Oct 2026 · github.com
- Limit: manual checking
- The author says users must inspect results themselves because automated redaction is not perfectly reliable and may over-redact.Read 15 Oct 2026 · github.com
- Limit: OCR accuracy
- The README warns that handwriting, unusual fonts, poor scans, and very small or dense text can be misrecognized.Read 15 Oct 2026 · github.com
- Limitations
- Handwriting, unusual fonts, low-quality scans, and very small or dense text can cause recognition errors, so the README advises checking output manually.Read 3 Oct 2026 · github.com
- Local privacy
- The README says processing occurs on the user's computer without uploads, accounts, or subscriptions.Read 15 Oct 2026 · github.com
- Maker platform claim
- John Byrd stated that the tool works on both vector PDFs and scanned PDFs.Read 15 Oct 2026 · linkedin.com
- Maker statement
- John Byrd described BleachPDF on LinkedIn as a Python command-line tool for removing PII such as Social Security and bank-account numbers from PDFs.Read 15 Oct 2026 · linkedin.com
- Maker testing claim
- John Byrd said he ran the tool on tax returns and bank statements and found it cleaned them successfully.Read 15 Oct 2026 · linkedin.com
- Notable update: language support
- A February 3, 2026 commit added multilingual OCR support through the --lang option.Read 15 Oct 2026 · github.com
- Notable update: parallelism
- A repository commit added parallel processing intended to speed redaction.Read 15 Oct 2026 · github.com
- Notable update: verification
- A repository commit added post-redaction verification and improved command-line user experience.Read 15 Oct 2026 · github.com
- OCR controls
- Users can set output location, DPI, OCR languages, worker count, verbosity, and relaxed matching behavior.Read 15 Oct 2026 · github.com
- OCR workflow
- The tool converts pages to images, applies OCR, matches configured text, draws black boxes, and creates a replacement PDF.Read 15 Oct 2026 · github.com
- Output
- The output PDF contains images only, without a hidden text layer that could expose redacted text through copying and pasting.Read 3 Oct 2026 · github.com
- Package installation
- The documented package installation command is pip install bleachpdf.Read 15 Oct 2026 · github.com
- Pattern composition
- Patterns can combine fixed text with reusable subpatterns and repetition using the plus operator.Read 15 Oct 2026 · github.com
- Patterns
- Users can specify exact text or configure more complex patterns, including case-insensitive matches and digit patterns.Read 3 Oct 2026 · github.com
- Repository classification
- GitHub's redact topic page lists johnwbyrd/bleachpdf as a Python repository updated February 3, 2026.Read 15 Oct 2026 · github.com
- Repository topics
- GitHub labels the repository with PDF, OCR, AI, markup, Adobe, redact, blackline, and blackllist topics.Read 15 Oct 2026 · github.com
- Runtime requirement
- The package metadata requires Python 3.9 or newer.Read 15 Oct 2026 · github.com
- Scanned PDF support
- It processes scanned PDFs as well as PDFs containing digital text.Read 15 Oct 2026 · github.com
- Strict mode
- By default, no matches are treated as an error; --relaxed changes that case to a warning.Read 15 Oct 2026 · github.com
- Support and documentation
- Usage, pattern syntax, configuration locations, options, exit codes, limitations, and development instructions are documented in the repository README.Read 15 Oct 2026 · github.com
- Testing tools
- Development extras include pytest, pytest-xdist, Ruff, and Hugging Face Hub tooling; pytest is configured for automatic parallel workers.Read 15 Oct 2026 · github.com
- Text normalization
- Matching removes spaces, dashes, and punctuation before comparison.Read 15 Oct 2026 · github.com
- Verification
- A post-redaction scan checks whether matched text remains visible, and verification failure returns exit code 4.Read 15 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free plan with no subscription
- Processes scanned PDFs through OCR
- Batch redaction from folders or patterns
- Output has no hidden text layer
- Verification failure stops processing
Limits
- Requires pip installation and Tesseract
- OCR may miss handwriting or poor scans
- Manual checking is advised for recognition errors
- AGPL license restricts censorship use
Who it suits
BleachPDF suits Linux or macOS users who need local, automated PDF redaction, including batch work and scanned documents. It is useful when keeping documents off external servers matters.
Verdict
BleachPDF combines OCR redaction, batch processing, and a local-only workflow in a free desktop package. Its recognition limits mean every output should be reviewed manually.
Where Specifiction places it
- Document Redaction Software#2 of 278.8