---
title: Can Blurred Text Be Recovered? Redaction That Cannot Come Back
description: Yes. Researchers have reversed light blurs and fine pixelation on text. What makes screenshot redaction actually safe, and how Blur and Spoiler work in Heretic Lazy Shot.
canonical: https://giglabo.com/blog/hls/can-blurred-text-be-recovered
locale: en
---

# Can Blurred Text Be Recovered? Redaction That Cannot Come Back

> Markdown twin of https://giglabo.com/blog/hls/can-blurred-text-be-recovered
> Fetch this instead of the HTML page: same content, a fraction of the bytes.
> Site structure and the full page list for agents: https://giglabo.com/llms.txt

Yes. Researchers have reversed light blurs and fine pixelation on text. What makes screenshot redaction actually safe, and how Blur and Spoiler work in Heretic Lazy Shot.

## Blur Isn't Always Enough: Redacting Screenshots So the Data Can't Come Back

Eight. That is how many times our own Blur tool shrinks a region before blowing it back up, and a factor of eight does not hide a word.

Short answer to the search query: **yes, blurred text can come back.** Not always, not for free, but often enough that "I blurred it" should never be the last line of anyone's security reasoning.

## How blurred text comes back

Redaction fails in three distinct ways, and the three deserve separate treatment.

**1. The obfuscation is mathematically weak.** A blur is a transformation, and some transformations leak. Swirl filters are the canonical case: they shuffle pixels without destroying them, so reversing the shuffle restores the original. Text under a *light* Gaussian blur has a related problem. An attacker who can guess the font, the size, and the rendering can draw candidate text, apply the same blur, and compare. For a screenshot of a known app or terminal, that guess is easy.

**2. Pixelation with small cells is a matching game.** This one surprised people. Public security research, first the [Depix tool](https://codeberg.org/spipm/Depixelization_poc) and later Bishop Fox's [Unredacter](https://github.com/BishopFox/unredacter) with its [full write-up](https://bishopfox.com/blog/unredacter-tool-never-pixelation), recovered pixelated text with exactly that render-and-compare loop. Generate every plausible string in the known font. Pixelate each candidate the same way. Match blocks against the image. The finer the mosaic and the more standard the font, the better it works. Screenshot text is the ideal target: monospace terminals and system UI fonts are as known as fonts get.

**3. The "removed" data was never removed.** The most common real-world failure is not cryptanalysis at all. A black rectangle drawn as a separate layer in a PDF is an object the recipient can delete. And in 2023 the [aCropalypse](https://en.wikipedia.org/wiki/ACropalypse) bugs (CVE-2023-21036 in Google's Pixel Markup, CVE-2023-28303 in the Windows Snipping Tool and Snip & Sketch) left *cropped-out image data inside the saved file*. The cropped-away pixels sat recoverable in the PNG itself.

A law that outlives all three cases: what matters sits in the exported bytes, not on the screen.

## What actually makes a redaction safe

Working backwards from the attacks, safe redaction has three properties.

**Destroy, don't obscure.** After Unredacter, Dan Petro's bottom line was blunt: cover the whole text with black bars and use nothing fancier. A light blur that still shows word shapes is not redaction. It's makeup. A light blur does not destroy the glyphs. A coarse mosaic across the whole line does.

**Flatten on export.** Burn the redaction into the raster. One layer of pixels, no removable objects, no leftovers from earlier states of the file. Then reopen the exported file and check: what shows must be all there is.

**Control the original.** Every redaction workflow has two files, the dangerous original and the safe export. If the original syncs to a cloud, uploads to an editing website, or sits in a shared folder, the redaction guarded the copy while the original walked out the door.

A redaction the recipient can undo isn't a redaction. It's a suggestion.

## Blur vs Spoiler in Lazy Shot, and when to use which

One of our two redaction tools does not redact. We ship it anyway, and the split is deliberate.

- **Blur (B)** is a box blur. The renderer downsamples the region by a factor of eight and scales it back with smoothing, so word shapes survive. Use it for *context reduction*: faces in a screenshot bound for a post, names in rows that aren't the point, mildly sensitive UI with no reason to be broadcast. Things where recovery would be embarrassing, not catastrophic.
- **Spoiler (S)** is a mosaic. It snaps the region to a coarse grid with hard pixel blocks, and the block size scales with the box, never under 6 pixels and growing with the region. This is the tool for anything that must stay **unrecoverable**: API tokens, credentials, license keys, customer PII, internal financials. Spoiler isn't a stronger blur. It's a different tool making a different promise.

When the right tool for a region is unclear, that uncertainty is the answer. Spoiler. And when the stakes are absolute, follow the researchers' rule all the way: cover the whole text block generously rather than tracing individual words. A larger destroyed area leaves no glyph edges for a matching attack to grip, and in Lazy Shot a larger box also means larger mosaic blocks.

Here is what that looks like from the inside. We draw a Spoiler box over a token. The renderer samples the region, snaps it to the grid, and writes flat pixels over the originals. We export the PNG and reopen it. The text is gone. The history is gone. What we see in the file is the whole file.

Both tools live on the raster edit layer, so export burns them into the pixels. PNG, JPEG, WebP: whatever gets saved comes out as one flat image with no redaction objects to peel off and no hidden states underneath.

## The advantage of redacting where the original lives

The structural argument stands apart from any tool feature. Most screenshot redaction happens in the worst possible place: *after upload*. The raw capture goes to a cloud clipboard manager, a hosted annotation web app, or a team screenshot service, and only then gets its blur. By that point the unredacted original already exists on somebody else's infrastructure, in backups nobody will ever see.

Lazy Shot's pipeline stays local end to end: capture on the local disk, redact on the local disk, and only the flattened export ever leaves, by clipboard, drag-and-drop, or a file someone chooses to send. No cloud in the loop, no telemetry, no account. Not out of principle. An original that never left the machine can't leak from it.

The strongest redaction guarantee isn't a better blur algorithm. It's the file that never left the disk.

## The redaction checklist

Before a sensitive screenshot leaves the machine:

- [ ] Secrets covered with **Spoiler** or a solid fill, never a light blur
- [ ] Checked the *whole* frame: browser tab titles, bookmark bar, terminal scrollback, notification popups, reflections in profile photos, the row *behind* the dialog
- [ ] Exported flat (PNG or JPEG), then **reopened the exported file** to verify what's actually in it
- [ ] Original stays local: not in an auto-syncing folder, not uploaded anywhere
- [ ] Filename and keyword don't leak what the pixels no longer show

This checklist is half of a good bug-reporting habit. The other half, pointing, numbering, and pasting into Jira, lives in [our bug-report screenshot workflow](https://giglabo.com/blog/hls/screenshot-tool-for-bug-reports).

## The one-sentence version

Blur reduces information. Redaction destroys it. Only a flattened, locally produced export of a heavily pixelated or solid-filled region does the second. Everything else is a puzzle you're handing to the internet.

---

*Heretic Lazy Shot: screenshot, annotation, and beautification for macOS and Windows, built for humans and for agents. One-time license, €14.99 for one device or €29.99 for three. No subscription, no account, no telemetry. Activation is online with an offline grace period. The trial ships inside the download, no card. [Try Lazy Shot →](https://giglabo.com/heretic/applications/heretic-lazy-shot)*

## Related

- HTML version of this page: https://giglabo.com/blog/hls/can-blurred-text-be-recovered
- Site map for agents: https://giglabo.com/llms.txt
