- Home
- Document Redaction Software
- BleachPDF
BleachPDF
What it is
BleachPDF is a free desktop tool for redacting sensitive text from PDF files, including scans, on Linux and macOS. It turns document pages into images, uses OCR to locate specified text, covers matches with black boxes, and saves a new PDF. Because the resulting file contains images rather than a hidden text layer, redacted wording cannot be exposed by copying and pasting from that layer. Users can target exact text or set patterns such as case-insensitive matches and digit patterns. Its command line can process a folder or file pattern for batch work. BleachPDF rescans the output to check that matches are hidden, and stops if verification fails. The README says it runs on the user's computer and does not upload documents. Installation uses pip and requires Tesseract; OCR language selection includes examples for English and English plus Korean. Handwriting, unusual fonts, low-quality scans, or very small and dense text may cause recognition errors, so output should be checked manually.
For and against
For
- Free, with no subscriptions
- Processes folders or file patterns
- Rescans output to verify hidden matches
- Runs locally without uploading documents
Against
- Requires pip and Tesseract
- OCR may err on handwriting or poor scans
- Manual output review is advised
The verdict
BleachPDF offers local OCR-based redaction with output verification and batch processing. Its reliance on OCR means users should inspect results, especially for difficult scans or text.
Who it suits
BleachPDF suits Linux or macOS users who need local, command-line PDF redaction, including batch processing. It may be less suitable when documents contain handwriting or difficult-to-read text that OCR could misread.
Plans and prices
BleachPDF
No subscriptions · no accounts · local processing
Read 15 Oct 2026 · github.com
On the record
- Batch processing
- The CLI accepts folders and glob patterns to process multiple PDF files.github.com · read 15 Oct 2026
- 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.github.com · read 15 Oct 2026
- Case-insensitive matching
- Pattern syntax supports case-insensitive literals using the i modifier.github.com · read 15 Oct 2026
- Configuration files
- Configuration can be selected explicitly, through BLEACHPDF_CONFIG, or from user and system configuration locations.github.com · read 15 Oct 2026
- Dependencies
- Declared dependencies include pytesseract, Pillow, ReportLab, PyMuPDF, PyYAML, parsimonious, platformdirs, and psutil.github.com · read 15 Oct 2026
- Developer interface
- The package exposes a bleachpdf console-script entry point calling bleachpdf:main.github.com · read 15 Oct 2026
- Digit and letter patterns
- The pattern language can match arbitrary digits or letters, such as nine-digit or ten-digit sequences.github.com · read 15 Oct 2026
- Exact matching
- Users can supply literal strings with the -m or --match command-line option.github.com · read 15 Oct 2026
- Exit statuses
- The CLI documents distinct codes for configuration errors, file errors, no matches, and verification failures.github.com · read 15 Oct 2026
- 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.huggingface.co · read 15 Oct 2026
- Image-only output
- The resulting PDF contains page images without a hidden text layer that could expose redacted text through copying.github.com · read 15 Oct 2026
- Installation dependency
- Installation requires the Tesseract OCR engine, with Ubuntu/Debian and macOS setup commands documented.github.com · read 15 Oct 2026
- Language support
- The OCR language can be selected with --lang, with examples including eng and eng+kor.github.com · read 3 Oct 2026
- License
- The package is licensed as GNU AGPL-3.0-or-later and is classified as OSI-approved AGPLv3+.github.com · read 15 Oct 2026
- Limitations
- Handwriting, unusual fonts, low-quality scans, and very small or dense text can cause recognition errors, so the README advises checking output manually.github.com · read 3 Oct 2026
- Limit: censorship restriction
- The accompanying license states that permission is not granted to use the software for censorship as defined in the license text.github.com · read 15 Oct 2026
- Limit: manual checking
- The author says users must inspect results themselves because automated redaction is not perfectly reliable and may over-redact.github.com · read 15 Oct 2026
- Limit: OCR accuracy
- The README warns that handwriting, unusual fonts, poor scans, and very small or dense text can be misrecognized.github.com · read 15 Oct 2026