No uploads
Parsing and content-stream rewriting both run in your browser, using pdfjs-dist and pdf-lib. Bytes never leave this device.
Your redacted PDF stays selectable and searchable. Targeted text is removed from the file, not hidden under a box.
or click below. Stays on this device, period.
PDF · multi-page · up to 200 MB in browser memory
Parsing and content-stream rewriting both run in your browser, using pdfjs-dist and pdf-lib. Bytes never leave this device.
A black box on top leaves selectable text underneath. We strip the targeted glyphs from the content stream, then paint the box on for visual confirmation.
No analytics, cookies, or fingerprinting. Custom regex patterns live in localStorage on this device. The opened PDF lives in JS memory until you close the tab.
index.html plus pdfjs and pdf-lib in vendor/. Double-click to redact PDFs with no network at all.
Serve index.html from your NAS, SharePoint, internal wiki, or any static host. Bytes never leave your network.
MIT-licensed source on GitHub. Audit the logic, fork the regex pack, extend with your own patterns.
github.com/xjmani/pdf-redactor →
Paste an example of the text you want to redact. Words BEFORE a separator (: — - # =) stay literal (the label). Tokens AFTER a separator become variable. Dashes auto-expand to also match em-dash, en-dash, and NUL (some PDFs render dashes as NUL bytes). Edit the regex below if needed.
Saved on this device only. Auto-detect will run these alongside the built-in patterns.