A black box hides it from you. Not from the file.

Covering text with a shape removes nothing. The words stay in the content stream, where any PDF library can read them back. Drop a document and find out whether yours are still there.

Not convinced? Select the line above and paste it somewhere: the bar never hid anything from your clipboard either.

How it decides

No account needed. The file is sent over HTTPS, parsed in memory and discarded with the response.

Drop a PDF here, or

Max 10 MB · processed in memory, never stored

No PDF handy? Try the sample:

Two fictional documents. The memo has a name and a settlement figure under black bars; the statement has neither, and is here so you can see what a silent report looks like.

What this finds

Two failures: different mistakes, same outcome.

Text under a covering shape

Someone drew a rectangle over a name. The rectangle is a new object on the page; the name is exactly where it always was. Select the area in any reader, run pdftotext, or open the file with any PDF library and the words come straight out. The report hands them back, because if this checker can read them so can anyone who receives the document.

Both files look the same on screen. Only one of them actually removed the words.
a filled box drawn on top the words are still in the content stream select the area and they copy straight out the text object deleted nothing was covered: the object is gone, so there is nothing left to copy identical on screen · different content streams

The same construction, printed as raw objects with both content streams side by side, is in a PDF black box is a shape, not a delete key.

Redaction marks that were never applied

PDF has a real redaction annotation. It is a mark, a request that a region be redacted, and the content only leaves the file when a tool applies the marks. A document sent between those two steps looks finished, because most viewers draw the marks as solid boxes, and is not.

Marking a region and removing its content are two separate steps, and the document already looks finished after the first one.
TWO STEPS, AND THE GAP BETWEEN THEM /Redact annotation a request that a region be redacted, drawn as a box content stream: unchanged apply the redactions the separate command that deletes what is underneath content stream: rewritten the content is gone nothing is recoverable from the file by anyone this is a redaction A FILE SENT FROM ANYWHERE IN HERE renders as solid black boxes: most viewers draw an unapplied mark exactly the way they draw an applied one. It looks finished. It contains everything.

Unapplied /Redact marks get their own finding in the report, separate from the drawn-on-top case below. A document can carry both.

How it decides

By paint order, which is the one thing separating a redaction box from ordinary design. A table's shading, a highlight band and a coloured header are all filled rectangles sharing coordinates with text, and every one of them is painted before that text, because that is the only way the text ends up visible. A rectangle painted after the text is on top of it, and hiding it.

The same two objects, in the two possible orders

draw shading          background — the text lands on top, and reads normally
draw text

draw text             cover — the text is underneath, and still in the file
draw black box

Three further rules keep it quiet on honest documents. Translucent fills are ignored, because a highlighter hides nothing. Shapes larger than 40% of the page are treated as watermarks and stamps rather than redactions. And invisible text, the OCR layer under a scan, is excluded, since it is designed to be unreadable on screen and extractable by machine.

Order is the whole decision: the same rectangle over the same words is ordinary design in one direction and a cover in the other.
A FILLED RECTANGLE SHARES COORDINATES WITH A TEXT RUN. WHICH WAS PAINTED FIRST? SHAPE FIRST re f BT … Tj ET The text lands on top and reads normally: table shading, a highlight band, a header. The report says nothing. TEXT FIRST BT … Tj ET re f The words are underneath the paint and still in the file, character for character. Reported, with the words handed back. AND THREE RULES THAT KEEP THE RIGHT-HAND BOX QUIET ON HONEST DOCUMENTS translucent fill ignored: a highlighter hides nothing from anyone shape over 40% of the page read as a watermark or a stamp, not a redaction invisible text underneath the OCR layer of a scan: designed to be unreadable on screen

This is why the check interprets the content stream instead of reading the annotation list: a box drawn in an ordinary editor carries no /Redact mark, and is indistinguishable by type from a table cell.

Why not just look for the redaction marks?

Because that only catches the easy half. The obvious way to check a redaction is to find the /Redact annotations and test whether text survives underneath them, and it works, on documents that have annotations. The failures that end up in the news do not. Somebody opened the file in an ordinary editor, drew a filled rectangle over a name, and saved. There is no mark to look for: the box is an anonymous shape, indistinguishable by type from a table cell or a header band.

Paint order is what separates them, and it is the reason this page interprets the content stream rather than reading the annotation list. Both failures are reported, unapplied /Redact marks get their own finding, but a checker that stops at the annotations will call a drawn-on black bar clean.

What it cannot see

A checker that implies more coverage than it has is worse than none. Four things this one misses, stated plainly.

  • Form XObjects that will not open. Boxes inside these reusable content blocks used to be missed entirely; since engine 1.18.0 they are walked like any other content, which is what lets this page catch a box drawn by an online editor. What is left is the residue: a block nested unreasonably deep, repeated past the cap, or that will not decode. When that happens the finding says so, and only then is the count a floor rather than a total.
  • Flattened documents. If the page was exported to an image there is no text layer left to find, which also means the redaction worked.
  • Fonts with no character map. The coverage is still reported, but the words may not be recoverable by this tool. Someone with the font programs can still get them.
  • Everything outside the page content. A name taken off the visible page can survive in document metadata, an attachment, a form field or an earlier revision. Those are separate signals in the full report, and the metadata half of it has its own free page: what does this file reveal about you lists the author names, machine paths, coordinates and device serials a document carries whether or not anything on the page was ever covered.

How to redact so that it holds

Use your tool's redaction feature and then apply the redactions: the step that deletes the underlying content. Exporting to flattened images also works, and costs you searchable text. What does not work: drawing a filled rectangle, using a black highlighter, setting the text colour to match the background, or covering the area with an image. All four leave every character in the file. The long version, with the raw objects side by side: a PDF black box is a shape, not a delete key.