No uploads
Parsing and content-stream rewriting both run in your browser, using pdfjs-dist and pdf-lib. Open devtools, switch to the Network tab, redact a file: nothing fires. Bytes never leave this device.
Most online redactors slap a black box on top of the text. The text is still in the file, ready to be copy-pasted out. We actually remove the targeted content from the PDF, then paint the box on for visual confirmation. Everything outside the redaction stays as native, selectable text. Nothing is uploaded.
or click below. Stays on this device, period.
PDF · multi-page · up to 200 MB in browser memory
Your PDFs never leave the tab. Every claim below is something you can confirm in your own browser before you trust this tool with anything sensitive.
Parsing and content-stream rewriting both run in your browser, using pdfjs-dist and pdf-lib. Open devtools, switch to the Network tab, redact a file: nothing fires. Bytes never leave this device.
Most browser redactors paint a black box on top of the text and call it done. The text is still in the file, ready to be copy-pasted out. We rewrite the page content stream to actually remove the targeted glyphs, then paint the box on for visual confirmation.
No analytics, no cookies, no fingerprinting. Custom regex patterns persist in localStorage on this device only. The PDF you opened lives in JS memory until you close the tab.
A single HTML file you can drop on a USB stick. A static asset you can self-host on your intranet. The full source under MIT. Pick your level of paranoia.
index.html plus a vendor/ folder with pdfjs and pdf-lib bundled in. Drop the pair on a thumb drive, double-click, redact PDFs with no network at all. Content-Security-Policy locks the page to its own origin so it can't phone home even if a future change tried.
Serve index.html from your NAS, SharePoint, internal wiki, or any static host. Anyone who can reach the page can redact PDFs without bytes leaving your network.
Every line of code, MIT-licensed, on GitHub. Audit the redaction logic, fork the regex pack, extend it with your own patterns. Issues and PRs welcome.
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.