Blur and Pixelate Redaction, Explained

After reading this you will know how blur and pixelation actually remove information from an image, why pixelation with a coarse block is safer than a soft blur, and how to redact a face or license plate so the detail cannot be recovered.

What redaction does to pixels

Redaction replaces the pixels in a region with something that carries less information. The original image is a grid of numbers, one triple (R, G, B) per pixel. A face in a 1920 by 1080 photo might occupy a 200 by 200 patch, which is 40,000 pixels or 120,000 channel values. Redaction discards most of that.

Consider a screenshot you want to post. It shows a support ticket with a customer name, an email address and an order number. You draw three regions over those strings and export. The exported file now contains blocks of averaged or flattened color where the text used to be. Anyone who opens the file sees the blocks, not the text, because the text is no longer stored anywhere in the pixels.

The important word is anywhere. This tool bakes the change into the exported pixels. There is no separate layer sitting under the block waiting to be switched back on.

When to redact, and which method to pick

Use redaction whenever you share an image that contains something you would not read aloud to a stranger: faces, plates, names, addresses, account numbers, signatures, badge photos. The method matters more than most people expect.

Blur
Replaces each pixel with a weighted average of its neighbors. A light blur smooths edges but leaves low-frequency structure. Text can sometimes be partially recovered from a light blur because the averaging is a known, reversible-ish operation.
Pixelate
Divides the region into square blocks and paints each block with the single average color of the pixels inside it. A 16 pixel block collapses 256 pixels into one value. That is a hard, lossy reduction.
Solid fill
Paints the region with one flat color. Every pixel becomes identical. This is the only method that is mathematically irreversible: the output holds zero information about the original content.

Do not use a light blur on text or plates you truly need to hide. A small blur radius spreads each character over only a few pixels, and researchers have reconstructed short strings such as digits from blurred images. If secrecy matters, pixelate coarsely or fill solid.

The math behind blur and pixelation

Gaussian blur convolves the image with a bell-shaped kernel. The weight given to a neighbor at offset (x, y) is:

G(x, y) = \frac{1}{2\pi\sigma^2} e^{-\frac{x^2 + y^2}{2\sigma^2}}

Here \sigma is the blur radius in pixels. It controls how far the averaging reaches. A larger \sigma pulls in more neighbors and destroys more fine detail. The e term falls off with distance, so nearby pixels count more than distant ones. The fraction in front normalizes the weights so they sum to 1 and the image does not get brighter or darker.

Pixelation is simpler. For a block of side b pixels, every output pixel in that block takes the mean of the block's inputs:

\bar{c} = \frac{1}{b^2} \sum_{i=1}^{b^2} c_i

Here c_i is one channel value (red, green or blue) of pixel i in the block, and \bar{c} is the shared output value. With b = 16 you average 16^2 = 256 pixels into one number per channel. The information that survives is one color per block, so a 200 by 200 patch pixelated at b = 16 keeps only about (200/16)^2 \approx 156 distinct colors instead of 40,000 pixels.

Blur keeps one value per pixel (they are just correlated), while pixelation reduces the count of independent values sharply. Solid fill leaves exactly one.

A worked example with the demo data

The demo loads the field defaults: pixelation with a block size of 16 pixels over a single selected region. Suppose that region is a 96 by 64 pixel license plate crop.

Pixelating a 96 by 64 plate at block 16

  1. Count the blocks. Width gives 96 / 16 = 6 columns. Height gives 64 / 16 = 4 rows. That is 6 \times 4 = 24 blocks.
  2. Each block covers 16 \times 16 = 256 pixels.
  3. For one block, average the red channel of its 256 pixels. If those values sum to 29184, then \bar{r} = 29184 / 256 = 114. Repeat for green and blue.
  4. Paint all 256 pixels of that block with the triple you computed, for example (114, 108, 121).
  5. Repeat for all 24 blocks. The plate now holds 24 colors total instead of 6,144 pixels.

A seven-character plate spread over 24 blocks gives each character roughly three blocks of area. Three flat squares cannot encode a legible letter, so the plate is unreadable. If you had used b = 4 you would keep (96/4) \times (64/4) = 24 \times 16 = 384 blocks, and the character shapes would partly survive.

As block size grows from 4 to 48 pixels over a fixed 96 by 64 region, the number of surviving blocks falls from 384 to 4. At block 4 the underlying letters are still faintly readable; by block 24 the region is a coarse grid of flat squares with no legible structure.

Reading the result: is it actually hidden?

Judge redaction by how many independent samples remain over the smallest feature you must hide, not by how blurry it looks. A character in printed text needs several distinct strokes to read. A digit needs roughly a 5 by 3 grid of ink-vs-paper decisions to be unambiguous.

So the test is: does one pixelation block cover at least one full character? If a plate character is 14 pixels tall and you pixelate at b = 16, each character falls inside one or two blocks and collapses to a flat color. Safe. If b = 4, each character spans a 4 by 3 grid of blocks, which can still hint at the shape. Unsafe.

Pick a block size at least as large as the tallest feature you want gone. For 12 to 16 pixel text, use b = 16 or more. When in doubt, fill solid: one color, zero recoverable information.

Common mistakes

Most redaction failures are not subtle math. They are process errors.

  • Light blur on small text. A radius of \sigma = 2 over a 12 pixel digit leaves the digit's coarse shape intact. Averaging is a smoothing filter, not an eraser.
  • Missing a duplicate. A name shown once in a header and again in a signature. Redact every instance, and check the reflection in glasses, screens and mirrors.
  • Trusting a separate layer. In some PDF workflows a black box sits above live text that copy-paste can still extract. This tool avoids that: the change is written into the pixels, so there is no layer to peel back.
  • Redacting after resizing badly. If you shrink the image later, a coarse pixelation may still be coarse, but a marginal blur can leak. Redact at the final size, or redact strongly.
  • Cropping too tight and leaving an edge. Extend the region a few pixels past the content so no readable fringe survives at the border.

Related tools

Once the sensitive parts are hidden, you may want to mark ownership or add context. The Watermark Tool stamps text or a logo, single or tiled, across the image. The Meme Generator adds top and bottom impact text. If you want to isolate a subject and drop a distracting background, the Background Remover clears solid or near-solid backgrounds to transparency.

Frequently asked questions

Can a blurred image be un-blurred?

Sometimes, partially. Blur is a known linear operation, so with a light radius and a limited set of possible contents (like the ten digits) an attacker can search for the original that blurs to what you published. Coarse pixelation and solid fill remove far more information and are the safer choices.

Which method is truly irreversible?

Solid fill. Every pixel in the region becomes one identical color, so the output contains zero bits about the original. Pixelation is close behind when the block is large: at b = 32 a 200 by 200 patch keeps only 39 color samples, which is far too few to reconstruct text.

Does the redaction stay if I share the file?

Yes. The blocks are written into the exported pixels. There is no hidden original underneath, unlike PDF redaction where a box can overlay still-extractable text.

What block size should I use for faces?

Enough that a whole facial feature (an eye, the mouth) fits inside a few blocks. On a face that is 200 pixels tall, b = 20 to b = 40 removes recognizable structure. Larger is safer.

Are my images uploaded anywhere?

No. Everything runs locally in your browser. The image never leaves your device.