How to blur sensitive data in a screenshot
Before the how: blur and pixelation are not reliable redaction. Both are reversible in principle, and pixelated text has been recovered in practice more than once — the transformation is deterministic, so an attacker who can guess the font and the original text can search for a pixelation that matches.
For anything that matters — credentials, account numbers, names, addresses — use a solid opaque shape. Blur is fine for making a screenshot look tidy. It is not a security control.
The free way: Preview
- Open the screenshot in Preview
- Show the markup toolbar (⇧⌘A)
- Choose the Rectangle shape
- Draw it over the sensitive area
- Set both fill and border to solid black — the fill dropdown defaults to none, which leaves an outlined but perfectly readable box
- File → Export as a new file
Two things people get wrong here:
Export, don’t just save. If you save over the original you’ve destroyed the unredacted copy you might need later.
Flatten it. A PDF export can keep the rectangle as a separate movable object sitting on top of readable text. Exporting to PNG or JPEG flattens everything into pixels, which is what you want.
The instant way: Quick Look markup
Select the file in Finder, press Space, click the markup icon, draw a filled rectangle. Same tools, fewer clicks, and it edits the original in place — so duplicate the file first (⌘D).
Doing it in bulk
If you redact the same regions repeatedly — a sidebar with a client name, a header with an account number — Preview gets tedious quickly.
Tools that handle this better: CleanShot X has blur and highlight in its editor and can detect some sensitive values automatically. Screenshot Inbox flags API-key-shaped strings and email addresses when it reads a capture and can turn those findings into redaction regions in one click, with saved recipes for regions you apply often. Both write a separate file rather than modifying the original.
What people forget to redact
The thing you’re pointing at is rarely the leak. The leak is somewhere else in the frame:
- The browser URL bar — often contains a customer id, an account slug or a session token
- Browser tabs — tab titles name the other client you’re working with
- The window title — “Acme Corp — Admin” in a screenshot you’re posting to a public issue
- Notification banners that arrived mid-capture
- The Dock and the menu bar — reveals more than you’d think
- Autocomplete dropdowns showing previous entries
- The clock, if when you were working is sensitive
- Sidebars and account switchers listing every organisation you have access to
- Test data that isn’t test data — staging environments seeded from production
Metadata
Screenshots carry EXIF metadata: dimensions, creation time, sometimes the software used. Rarely sensitive, occasionally relevant if the timestamp matters.
To strip it:
mogrify -strip screenshot.png
(needs ImageMagick, brew install imagemagick)
Note that redacting pixels does nothing to metadata, and stripping metadata does nothing to pixels. They’re separate problems.
A checklist before posting publicly
- Look at the whole image, not the part you’re pointing at
- Check the URL bar, tab titles and window title
- Use solid shapes, not blur, for anything that matters
- Export to PNG so it’s flattened
- Open the exported file and look at it again
- Ask whether the structure leaks anything — an internal URL scheme, an id format, a staging hostname
Step 5 is the one that catches real mistakes. Look at the file you’re about to upload, not the editor you made it in.