PDF Redaction
Draw black rectangles over PDF content — visual redaction for screenshots and print
Drop a PDF. Drag on each page to draw black rectangles over content you want to redact.
Max file size: 50MB
How to PDF Redaction Online
Draw black rectangles over content in a PDF to redact it visually — careful, the underlying text is still in the file.
- Drop a PDF. The tool renders every page; navigate with the arrows above the canvas.
- On each page, click and drag to draw a black rectangle over content you want to hide. Multiple rectangles per page are fine.
- Hover any rectangle to see a trash icon for removing it. 'Clear page' wipes all redactions on the current page.
- Click 'Apply redactions and save' to produce the redacted PDF. The output has opaque black bars covering the marked regions.
About PDF Redaction
Redaction means hiding sensitive parts of a document before sharing it. A contract with the dollar amount blacked out. A patent application with the inventor's home address removed. A police report with witness names obscured. The black rectangles you see in any redacted document on the internet — that's the visual signal of redaction.
This tool produces those black rectangles. Drop a PDF, navigate page by page, drag rectangles over the regions you want to hide, save. The output is a PDF with the redactions baked in as visual content. Every PDF viewer renders the redactions identically; the visual result matches what you'd see in a printed redacted document.
**The critical caveat — and you need to read this carefully.** This tool draws black rectangles **on top of** the existing content. The original text and image data are **still in the PDF underneath**. A recipient using Adobe Acrobat Pro's editing tools, or even just copy-pasting from the PDF, can sometimes recover what's hidden because the underlying text remains in the document's text layer.
**When this matters:**
- **Screenshots and printed copies**: redaction is permanent. The pixels are pixels; nobody can recover the original. Visual redaction is the right tool. - **PDF shared with someone who'll just read it**: nearly always fine — most recipients open PDFs in viewers that respect the rendered content. - **PDF posted publicly on the internet**: 95% of viewers see only the redacted version. The 5% who run forensic tools can sometimes recover it. - **PDF disclosed in high-stakes settings (legal, regulatory, classified)**: don't use this tool. Use Adobe Acrobat Pro's Redact feature, which performs true content-stream redaction.
**Why we built it this way.** Doing 'true' redaction correctly requires running text-layout-aware logic on every redacted region — identifying which characters fall inside the rectangle, removing them from the text-rendering stream, removing them from the text-extraction stream, removing them from the PDF's search index. pdf-lib doesn't expose this; doing it correctly requires either a dedicated commercial library or Adobe Acrobat Pro. We chose not to ship a 'redaction' tool that gives users a false sense of security. The black-rectangle approach is honest about what it does and is sufficient for the everyday use cases.
The implementation is two-stage. **pdf.js** renders each page as a high-resolution thumbnail (1.2× the page's native size) so you can see exactly what you're redacting. You draw rectangles on the rendered image; the tool stores them in canvas coordinates. **pdf-lib** translates the canvas coordinates to PDF point coordinates (with the coordinate-system flip — PDF origin is bottom-left, canvas origin is top-left) and draws opaque black rectangles on each page at the corresponding positions when you save.
**The drawing UX.** Click and drag on the page image. A live preview rectangle follows your mouse with a red border. Release the mouse to commit the rectangle. The committed rectangle turns solid black to match the saved output. Hover any committed rectangle to see a trash icon for removing it; click 'Clear page' to wipe all rectangles on the current page.
**Per-page navigation.** Use the chevron arrows to move between pages. Each page maintains its own redaction list — switching pages doesn't lose your work. The header shows the current page number and the redaction counts (this page vs. document total).
**Practical workflow notes.**
- **Cover the entire region.** A small rectangle that just covers the visible text often leaves text descenders or ascenders showing on the edges. Draw the rectangle slightly larger than the text itself. - **Multiple rectangles per region.** Don't try to make one giant rectangle cover an oddly-shaped redaction. Two or three smaller rectangles look more professional and hide better. - **Black is the convention.** This tool uses opaque black, which is what every formal redacted document uses. We don't expose other colors because there's no good reason — black is the universal signal of redaction. - **Review the output.** Always open the redacted PDF and verify each page. Look at the rendered black bars. If anything peeks through (text characters at the edges, image content visible behind), go back and re-redact.
**Output format.** Standard PDF with the redaction rectangles drawn into each page's content stream. File size grows by maybe a kilobyte for the rectangle drawing operations. Every PDF viewer renders the redactions identically.
**Edge cases handled:**
- **Pages of different sizes**: each page renders at its own dimensions; coordinate translation accounts for per-page width/height. - **Pages with existing rotation**: pdf.js renders with rotation applied, so the displayed thumbnail matches what the user sees; coordinate translation maps correctly to the rotated page. - **Very small rectangles**: rectangles below 4×4 pixels are ignored (probably accidental clicks). - **Mouse-leave during drag**: drag is committed at the current position rather than canceled (matching most drawing-tool conventions). - **Object URL lifecycle**: page thumbnail URLs and the final download URL are revoked on unmount and on new-file-load. No memory leaks.
**Privacy.** Everything runs in your browser. pdf.js renders thumbnails; pdf-lib applies redactions. The PDF never crosses the network. This is essential for the use case — if you're redacting because you don't want certain content shared, you definitely don't want it uploaded to a redaction service. Verify in DevTools: only the one-time pdf.worker.min.mjs fetch happens, then silence.
Related Tools
Frequently Asked Questions
How does redaction work here?
You draw rectangles over the regions you want to hide; the tool then draws **opaque black rectangles on top of those regions** in the PDF using pdf-lib. The visual result is exactly what you'd see in a printed redacted document — black bars covering names, account numbers, signatures, photos, anything you marked. Every PDF viewer renders the redactions as black bars; no viewer reveals what's underneath in the displayed image.
Wait — is the original text still in the file?
Yes. **This is critical to understand.** The tool draws black rectangles ON TOP of the original content; the original text and image data are still in the PDF underneath. A sophisticated recipient using a PDF editor (Adobe Acrobat Pro, Preview's Tools menu, even copy-paste in many viewers) can sometimes recover what's hidden. For most use cases — sharing a screenshot, posting a redacted contract publicly, printing a redacted version for a meeting — this visual redaction is exactly right because nobody's reading the PDF that way. For high-security disclosure (court filings, FOIA responses, classified material) you need a different tool. Adobe Acrobat Pro's Redact feature modifies the content stream itself.
Why doesn't this tool do 'true' content-stream redaction?
Because doing it correctly requires running text-layout-aware logic on every redacted region: identifying which characters fall inside the rectangle, removing them from the page's text-rendering operations, removing them from the page's text-extraction stream, removing them from the document's index. pdf-lib doesn't expose this; doing it correctly requires either a dedicated commercial library or Adobe Acrobat Pro. We didn't want to ship a 'redaction' tool that gives a false sense of security. The visual black-rectangle approach is honest about what it does and is sufficient for the common screenshot/print use cases.
What about flattening the PDF?
Some tools 'flatten' the PDF after redaction — converting every page to a single image, so there are no text-layers to copy-paste from. This is a partial fix: it hides the text from naive recipients but a determined adversary could OCR the resulting image to recover the redacted regions (the redaction is now a black rectangle on the image, but everything else has been turned into pixels). Flattening also bloats file size dramatically. We don't offer flattening here; the right tool is to convert to image-based PDF separately if needed.
What's the right workflow for this tool?
Drop the PDF, navigate page by page with the arrows, drag rectangles on each page over the content you want hidden, click Save. The output is a PDF with the black-bar redactions visible. Open it in any PDF viewer to confirm the rectangles cover what you wanted. If you find something you missed, fix the original PDF and re-redact.
Can I redact entire pages?
Yes — drag a rectangle that covers the whole page. Or simpler, draw multiple large rectangles. For removing pages entirely from the output, use the PDF Page Reorder tool (which lets you delete pages) before redacting the survivors.
Is the PDF uploaded to a server?
No. pdf.js renders the page thumbnails in your browser. pdf-lib applies the redactions in your browser. The PDF never crosses the network. This is critical for the use case — redacting a sensitive document only to upload it to a remote service for redaction would defeat the purpose entirely.