First release was a command line script for techies. Epic, but most people aren’t too keen on terminals. The new version opens in your browser, works with clicks, and still keeps every PDF on your machine.
What we changed
- Added a GUI: double click
RUN.bat, your browser opens, drop PDFs in, hit Redact. - Phone number redaction: UK landlines, mobiles and common international formats now vanish with one tick.
- Name redaction: paste a list of names, live validation stops you nuking half the document by accident.
- Cleaner logs and auto launch: the app opens itself at
http://127.0.0.1:7860, no hunting for ports.
Why it is better
Most “free” PDF tools shove your files through a web server. That exposes personal data to someone else’s infrastructure. ReasonableRedactor runs on your own computer and performs real redaction using PyMuPDF. The underlying text is deleted, not just covered by a black square.
It is also fast. A three page letter with a handful of addresses takes under a second on a normal laptop.
Browser demo vs full package
There are two versions:
- HTML demo: runs in the browser from a single HTML file. Good for quick visual masking. The original text may still exist inside the PDF structure, so it is not suitable for legal or forensic use.
- Full download: uses proper PDF redaction on the page content. Emails, names and phone numbers are actually removed from the text layer.
| Feature | HTML demo | Full download |
|---|---|---|
| Runs without Python | Yes | No |
| Real text removal | No, visual mask only | Yes, text deleted |
| Email masking | Yes | Yes |
| Phone numbers | No | Yes |
| Name list redaction | No | Yes |
If you need GDPR safe redaction or tribunal evidence, use the full package.
Step 1, install Python in two minutes
On Windows 10 or 11
- Go to the official Python site: python.org/downloads.
- Download the latest stable Python 3 installer for Windows.
- Run the installer.
- On the first screen, tick “Add Python to PATH”. Do not skip this.
- Click “Install Now” and let it finish.
- When it closes, Python is installed. You do not need to open anything else.
On macOS
If you know Homebrew, you can run brew install python. If not, use the macOS installer from the same Python downloads page. Open the .pkg file and follow the prompts.
On Linux
Most distributions already ship Python 3. If not, install it from your package manager, for example sudo apt install python3 python3-pip on Debian or Ubuntu.
Step 2, download ReasonableRedactor
- Grab the latest zip on GitHub: ReasonableRedactor download.
- Extract the folder somewhere sensible, for example
Documents\ReasonableRedactor.
Step 3, run the GUI
On Windows
- Open the extracted folder.
- Double click
RUN.bat. - The first time, it will install the Python libraries it needs. Let it finish.
- Your browser opens at
http://127.0.0.1:7860. If it does not, type that address into the bar yourself. - Use the GUI: drop PDFs in, tick what you want to redact, click Redact, download output.
On macOS or Linux
- Open a terminal in the extracted folder.
- Run
pip install -r requirements.txtonce. - Start the app with
python src/app.py. - Open
http://127.0.0.1:7860in your browser.
What the GUI can redact
- Emails: masks the username while keeping the domain so documents stay readable, for example
[email protected]becomes[redacted]@example.org. - Bcc headers: replaces the Bcc line and strips out wrapped continuation lines.
- Phone numbers: UK landlines, mobiles and common international formats.
- Names: paste a list, the tool removes those names wherever they appear, with validation to stop reckless patterns.
- Allowlists: keep specific addresses or domains visible if you want them to stay.
Limitations to be aware of
- Scanned documents that are pure images need OCR before redaction. If you cannot select the text with your mouse, the tool cannot see it.
- Name redaction works off the list you provide. Include obvious variants and short forms.
- The HTML only demo is for quick masking. Use the full GUI package when you actually need text removed.
Questions or pull requests? Open an issue on GitHub, or get in touch via the contact page.





Be First to Comment