Your files never leave this device — 100% in-browser

Blur Faces in Photos

Automatic face detection and pixelation, running as a neural network inside your browser — the photo never leaves.

Drop a photo and download it with every detected face pixelated — detection runs on BlazeFace, a neural network executing inside your browser (self-hosted, ~400 KB), so the unblurred original is never transmitted anywhere. That matters more here than for any other tool: the entire reason you're blurring faces is that the image is sensitive.

Last verified 2026-08-15 — this tool passed 85 automated end-to-end checks

Drop photos here, or click to browse
converts to JPG · faces auto-detected · pixelated locally
01 — THE POINT IS PRIVACY
Uploading a photo to have faces blurred is self-defeating — a server briefly holds the unblurred original. Here detection and pixelation both run on your device.
02 — REAL DETECTION, NOT BOXES YOU DRAW
A production face detector (Google's BlazeFace, Apache-2.0) finds faces automatically — including several per photo.
03 — PIXELS, NOT LAYERS
The mosaic is drawn into the image itself. There is no mask, no layer, no metadata trick to peel back — what you download is what anyone can ever recover.

How to use

  1. Drop your file(s) into the box above — or click it to browse.
  2. Conversion starts immediately; the tabs switch to a different output format.
  3. Click Download on each finished file — or Download all (.zip) for a batch. Nothing was uploaded at any point.

Why pixelation is drawn into the pixels

Screenshots of chats, photos of crowds, kids' school events, marketplace listings with bystanders, evidence photos — the common thread is that the faces are the sensitive part. Two design decisions follow. First, the blur is a destructive mosaic: the face region is downsampled to coarse blocks and stamped back, so the detail is mathematically gone from the file — unlike "redaction" done with a semi-transparent layer or a PDF annotation, which can sometimes be reversed. Second, the detection model itself is served from this site and executes in your browser via TensorFlow.js — the network tab shows the model downloading to you, and your photo going nowhere.

Detection uses BlazeFace, the short-range face detector from Google's MediaPipe stack (Apache-2.0, self-hosted here). It excels at clear, near-frontal faces — portraits, selfies, small groups. Verified against NASA's public-domain crew photos: 1/1 and 3/3 faces found and pixelated in our automated tests.

How it works
PropertyBehavior
DetectorBlazeFace (Apache-2.0) on TensorFlow.js — self-hosted, ~400 KB
ExecutionWebGL in your browser — no cloud inference
Blur styleCoarse mosaic, box expanded ~30% to cover hair/forehead
Multiple facesAll detections pixelated, count reported
ReversibilityNone — detail is destroyed in the output file

Honest limits

  • Tiny faces in wide crowd shots can be missed — the detector is tuned for near-range faces. Check the count in the status line and the preview before sharing.
  • Extreme profiles and heavy occlusion (masks, sunglasses + cap) reduce detection; when it matters, verify visually.
  • You want selective blurring — v1 pixelates every detected face; per-face opt-out is on the roadmap.

Frequently asked questions

Can the pixelation be undone?

No — the mosaic replaces the pixels with coarse averages in the file itself. AI "depixelation" tools hallucinate plausible faces; they cannot recover the real one from properly coarse blocks.

Is the photo or the detection result uploaded?

Neither. The neural network is downloaded from this site and runs in your browser; open the network tab and you'll see the model come down and nothing go up.

It missed a face — what should I do?

Small or sharply turned faces can evade the detector. Currently the honest advice is to verify visually before sharing; manual region selection is planned as a complement.