Free · No Signup

Annotating a Redacted Screenshot: Arrows, Circles and Highlights

Redaction takes information out. Annotation puts information in — and what you send is the sum of both. An arrow beside a box can undo the box.

🔒 No upload · Runs in your browser · Instant download

Every other page on this site is about taking information out of a picture. Cover the number, blank the name, hide the face. This one is about the opposite move, which almost every shared screenshot also contains and which nobody treats as a privacy decision: the things you add to the frame before you send it. The red arrow. The circle round the error. The yellow highlight across the line you want read. The typed label beside a box.

Annotation gets a pass because it feels like commentary rather than content. It is not. Everything visible in the file you send is part of what you published, and the additions interact with the subtractions in three specific ways that the covering-focused advice on the rest of this site does not address. An annotation can point at a covered region and tell the reader which one mattered. An annotation drawn with a see-through tool can fail to cover at all while looking like it did. And an annotation that is still an object rather than pixels can be moved aside by whoever opens the file.

The first of those is an information problem, the second is arithmetic, and the third is a file-format problem. None of them is about drawing better boxes, which is why they survive a careful redaction. A frame can be covered perfectly and still give away the thing you covered, because of something you drew next to it on purpose.

There is also an ordering question hiding here, and it has a clean answer that most people get backwards. The editor on this page has no arrow tool, no text tool and no highlighter, by design - it only subtracts. That turns out to be the right shape for the workflow: cover here, export the flat image, and let the annotation app see only the covered version.

Related: how to verify a photo was actually redacted.

Mode
Shape

Drop your image here

Or click to browse · Paste with Ctrl+V also works

PNG · JPG · WebP · GIF
How It Works
1

Open

Drop your image in or paste from clipboard.

2

Pick Mode

Black Box, Blur, or Pixelate.

3

Select Areas

Rectangle, oval, or freehand lasso — then hide what you selected.

4

Download

Hit Download PNG. Done.

SquooshNeed to shrink your image after editing? Squoosh is a free browser-based image compressor with no upload required.

Visit Squoosh →
Guide

One sentence carries this page: a redaction removes information and an annotation adds it, and what the recipient gets is the sum of the two. Redaction practice treats the covered region as the whole of the privacy question, because that is where the effort goes. But the arrow you drew to be helpful, the highlight you used to draw attention, and the label you typed to be clear are all published content, and they all say something about the parts you hid.

These failures are not sloppy redaction. They survive a careful one. You can cover every sensitive region in the frame, at the right size, in an opaque mode, verify the export at full zoom, and still hand over the thing you were protecting - because of something you added next to it deliberately.

Two different acts in the same picture

It is worth separating them properly, because they are usually done in the same app with the same mouse and thought of as one job called "marking up the screenshot".

Subtraction replaces pixels with something that does not depend on what was there. A solid fill is the clean case: the output is the same colour regardless of the input, so the input is gone from the file. Blur and pixelate are partial subtraction - they discard most of the samples but keep coarse structure such as word length, line count and gaps.

Addition puts new marks on top: arrows, circles, boxes with no fill, freehand strokes, typed text, numbered callouts, highlighter passes. These carry information from your head into the file. Some of it you meant to send. Some of it - which region you consider important, what you think the reader should look at, what you believe is going on - comes along whether you meant it or not.

Almost every shared screenshot contains both. The advice everywhere, including on the rest of this site, addresses only the first. The interesting failures live in the interaction.

Highlighting is not covering, and the reason is arithmetic

This is the single most common way an annotation tool gets used as though it were a redaction tool, and it is worth being precise about why it fails, because the usual phrasing - "highlighting doesn't really hide it" - sounds like a caution rather than a fact.

A highlighter is see-through by definition. That is what a highlighter is for: if it were opaque you could not read the thing you highlighted, which would make the tool pointless. So when a highlight-style stroke, a translucent shape, or a fill at reduced opacity is laid over a region, the result for each pixel is a blend: part of the overlay colour, part of the pixel that was already there. The original value is still a term in the output. It has not been replaced; it has been mixed.

Because it is still a term, it can be solved back out. If a reader knows the overlay colour and how strong the blend was, the original is recoverable by rearranging the same blend, and the practical obstacle is only how much rounding error gets amplified in the process. And a reader can usually work out both unknowns without being told, because a highlight stroke almost always overhangs the text onto a plain background - white page, grey panel, solid app chrome. Wherever the overlay sits on a region whose original colour is obvious, the blend gives up its own parameters. The overhang calibrates the attack.

Three consequences follow, and all three are worth acting on:

The test that settles it needs none of this reasoning: open the file you are about to send - the exported file, not the editor's canvas - zoom to full size, and look. If you can make out what is underneath, so can the recipient, and no argument about blend parameters is needed. How to verify a photo was actually redacted covers that check in full, and it is the right check here precisely because it inspects the artefact rather than the intention.

The arrow is an index

Suppose you have done the covering properly. Nine black boxes across a banking screen, all opaque, all correctly placed. You then draw one red arrow pointing at a tenth thing - the transaction you actually want your colleague to look at - and send it.

The arrow has told the reader where to look. That is its job and it did it. But in a frame full of covers, an arrow, a circle or a callout also ranks them. It separates the box that matters from the boxes that are there for uniformity, and it converts a search problem into a lookup.

This compounds badly with what the reader already knows. Redacting for someone who already knows half the answer makes the case that a reader holding part of the picture needs far less residue than a stranger does, because confirming a guess is cheaper than reconstructing a value. An annotation is a direct contribution to that: it removes the reader's uncertainty about which covered field is the interesting one, which is often the expensive half of the problem. You covered ten things so that no single one stood out, and then you made one stand out.

Annotation also discloses something the boxes alone do not: your judgement. The set and geometry of your covers already map what you consider sensitive. Arrows and circles add what you consider important, and the two together are a fairly detailed statement about how you read the situation. In an ordinary exchange that is harmless. Where the image might end up in front of someone with an adversarial interest in your reasoning, it is not.

None of this means do not annotate. It means place the annotation with the same care as the cover:

Labels: the case for and the case against

Typing a word beside a cover is the annotation people are least suspicious of, and it is the one where the right answer genuinely depends on the situation rather than on a rule.

The case for labelling is that an unexplained blank is ambiguous. A reader cannot tell the difference between a field that was blanked and a field that was empty, and in anything functioning as a record - evidence, a claim, a disclosure, a document someone may act on - that ambiguity is itself a defect. A labelled cover says a value existed, a person removed it, and here is the category it belonged to. That is information the reader needs in order to treat the image honestly.

The case against is everything in the previous section. A label converts a shape into a named field. "Account number" beside a box tells a reader holding a list of account numbers exactly what to try matching, and it does so in a frame where, without the label, they would have had to guess which rectangle was which.

A workable middle: label the category, never anything that narrows the value. "Redacted" is safer than "account number", which is safer than "account number - ends in the 4400s". If the reason for labelling is to prove a removal occurred rather than to describe what was removed, the most generic label available does the whole job. And if the image is going somewhere the distinction between blank and removed does not matter, the label is pure cost.

Order of operations: cover first, annotate the export

Most people do this backwards, because annotation is the fun part and redaction is the chore. The order that works is:

  1. Cover everything first, in a tool that flattens, on the original capture.
  2. Export a flat image. This file contains no sensitive material and no layers.
  3. Open that export in the annotation tool and draw on it.
  4. Export again, flat, and verify that file at full zoom before sending.

The payoff is that the annotation app never receives an image containing the sensitive material. That matters more than it sounds, because annotation apps accumulate state: recent-file lists, autosave copies, project files, cloud sync, sometimes a share sheet that offers the original alongside the edit. Each of those is a place an uncovered frame can persist after you have stopped thinking about it. Reverse the order and you have handed the uncovered capture to the app with the longest memory in your chain.

The second payoff is about objects. Annotation tools generally keep marks as editable objects for as long as they can - that is what makes them useful. Whether the file you eventually send still contains those objects depends entirely on the tool and the format you saved to, and it is not something to assume either way. A shape sitting on top of an image as an object is not a cover: whoever opens the file can select it and move it. The check is concrete and takes ten seconds - reopen the file you are about to send and try to click the mark. If it selects, drags, or shows handles, you are looking at a layered document and the material underneath is intact.

This is also the argument against doing the covering in an annotation tool at all. A rectangle drawn with a shape tool looks exactly like a redaction and may be nothing of the kind, depending on its opacity setting and on whether the export flattened it. Two independent ways to fail, neither visible on screen.

What the editor above does and does not do

The tool on this page has three modes and three selection shapes and no annotation capability whatsoever. There is no arrow, no text, no freehand pen, no highlighter and no opacity slider. That is not a gap to apologise for - it is the point. It only subtracts, which means the two failure modes above cannot occur in it, and it makes the tool the correct first step rather than the only step. A few specifics, read from the page's own code:

Black Box is fully opaque, with no transparency anywhere. It paints a flat fill of a single near-black value across the selected region. The fill does not vary with what was underneath, and no partial-opacity setting is applied at any point in the process. This is the property a highlighter lacks, and it is why the mode exists.

Blur and Pixelate discard samples rather than blending. Blur redraws the region from a copy scaled down by a factor of ten and back up. Pixelate averages into blocks sized at a twelfth of the region's shorter side, with a floor of six pixels. Both genuinely destroy detail - which is a real difference from a translucent overlay - but both preserve coarse structure such as length, spacing and line count, which is why the warning bar appears when you select them.

Every export is a flat, freshly encoded PNG. Download writes the current canvas out as a new PNG named with a timestamp. There are no layers in it, no selectable objects and none of the tags the source file may have carried. That is exactly the kind of file to hand to a second app for annotation, and you can press the button as many times as you like in one session.

The working view is scaled; the file is not. The canvas is created at the image's true pixel size while being displayed fitted to the panel inside a box that scrolls. Text that looks illegible here is stored at full resolution and reads normally to anyone who zooms, so the preview is never evidence about the export. A tall capture can also be exported with regions that were never on your screen during the session, since Download writes the whole canvas.

Small selections are dropped silently. A rectangle under about four image pixels in either direction, or an oval under six, is discarded rather than applied, and a freehand lasso needs at least three points. A quick tap over a short value may have covered nothing, with no error to tell you.

Undo restores rather than removes. Coverage is painted destructively onto the working canvas, Undo steps back through saved pixel snapshots, and Clear redraws from the original image the page still holds. Undo genuinely puts the original pixels back, which is what you want while you work and a reason the only file that matters is the one you exported.

All of it runs on the device the picture is already on: the page reads your file in the browser, draws it into a canvas, and hands the result back as a download. There is no account and no history for the image to sit in, and the working copy exists only while the tab is open.

Common mistakes and misconceptions

Using the highlighter to hide something. The most direct version of the failure. A highlighter is built to leave the text readable; using it as a cover asks it to do the opposite of its function.

Turning down the opacity of a black box so it looks less aggressive. Aesthetics aside, this moves the mark out of the category of things that remove information. Ninety-five percent is not one hundred percent.

Assuming a mark is flat because it looks flat. Whether the file carries the shape as an object depends on the format you exported to. Reopen it and try to select the mark.

Drawing the arrow at the covered field. The one placement that has no benefit and hands over which box is the interesting one.

Annotating first and covering second. This produces an intermediate file containing the uncovered image inside the app least likely to forget it, and risks leaving a mark pointing at something you subsequently decided to hide.

Adding a numbered key that explains each redaction. A legend mapping boxes to field names is a caption describing exactly what you removed.

Restating the covered value in the accompanying message. Covering the card number in the image and then writing it in the email is the same disclosure with an extra step. The file is not the only channel.

Doing the covering inside the annotation tool because it has a rectangle. Two independent failure modes - opacity and layers - neither of which is visible on screen.

Cropping tightly to the annotated area and calling that safe. Narrowing the frame is genuinely good, but a crop is an edit to an image that already contained the material, and the wider original usually still exists somewhere.

Over-correcting to no annotation at all. An image the reader cannot interpret gets a reply asking for the original, which is worse than a well-placed arrow. The goal is a mark that points at what you want read, not the absence of marks.

What You Draw On a Screenshot Is Published Too

Redaction advice stops at the covered region. But most shared screenshots also carry marks that were added on purpose - an arrow, a circle, a highlight, a typed label - and those additions interact with the covers in ways careful redaction does not catch. An arrow beside a wall of black boxes ranks them, separating the one that matters from the ones drawn for uniformity, and turns a search problem into a lookup for any reader who already holds part of the picture.

The highlighter failure is arithmetic rather than opinion. A see-through mark blends with the pixels beneath it instead of replacing them, so the original values remain a term in the output and can be solved back out - especially since a highlight stroke usually overhangs onto a plain background, which reveals the blend parameters for free. The counterintuitive result: a half-opacity black rectangle is less safe than a blur, because blurring actually discards samples while a translucent overlay discards nothing. A third failure is structural: a mark kept as an editable object rather than flattened into pixels can simply be dragged aside by whoever opens the file.

The order that avoids all three is to cover first, export a flat image, and only then annotate that export - so the annotation app, with its recent files, autosaves and project files, never receives the uncovered frame. The editor above is built for the first half of that: three modes, three selection shapes, no arrow, no text and no opacity control, with Black Box painting a fully opaque fill and every download written out as a flat PNG. It runs in your browser, on the device the picture is already on.

Frequently asked questions

Is highlighting over text the same as redacting it?

No, and the difference is arithmetic rather than opinion. A highlighter is designed to be see-through - that is the entire function of one, since an opaque highlighter would defeat the purpose of highlighting. When a semi-transparent colour is laid over a pixel, the result is a blend of the overlay and the original: the original value is still a term in the output, so it can be solved back out if someone knows or can estimate the overlay colour and its opacity. And they usually can, because a highlight stroke almost always extends past the text onto a plain background, which hands over both unknowns at once. Even where exact recovery is imperfect because of rounding, the letter shapes survive as structure, which is often all a reader needs. The test to apply is simple and does not require trusting any of this: open your exported file, zoom in, and see whether you can read what is underneath. If you can, so can everyone else.

Should I label my black boxes, or leave them unexplained?

It genuinely goes both ways, and it depends on whether the reader needs to know that something was removed. In anything that functions as a record - evidence, a claim, a disclosure, a document someone may rely on - an unexplained gap is a problem, because the reader cannot tell the difference between a field that was blanked and a field that was empty. Labelling the cover is the honest move there. In ordinary exchanges the label is pure cost: writing "account number" beside a box converts a shape into a named field and tells a reader who already holds part of the picture exactly which value to try matching. If you do label, label the category rather than the content, keep it generic, and never write anything that narrows the value - "redacted" is safer than "redacted: card ending in the 4400s".

The editor on this page has no arrow or text tool. What order should I do things in?

Cover first here, download the flat PNG, then open that download in whatever annotation tool you use. The reason for that order is that the annotation app never receives an image containing the sensitive material, so there is no uncovered intermediate file sitting in its recent-files list, its autosave, or a project file you might send by mistake. Every download from this page is a freshly encoded PNG written from the canvas, which is a flat raster with no layers and no selectable objects - a good thing to hand to a second app. Doing it the other way round means annotating the original, then covering, which produces exactly the intermediate file you were trying to avoid and risks placing an arrow at a value you later decide to hide.

Can I reduce the opacity of a black box so it looks less heavy-handed?

Not if you want it to be a cover. Any opacity below full leaves the original pixel values contributing to the output, which means the content is still present in the file and is recoverable in principle. There is a counterintuitive consequence worth sitting with: a half-opacity black rectangle is less safe than a blur, even though it looks darker and more deliberate. Blurring and pixelating genuinely discard samples - the blur in the editor above redraws the region from a copy scaled down by a factor of ten, so most of the original samples no longer exist anywhere in the file. A translucent overlay discards nothing; it just makes the numbers harder to read by eye. The Black Box mode here paints a fully opaque fill for exactly this reason, and no transparency is applied anywhere in the process.