Blur Faces in a Photo
Faces are found automatically and covered for good — blurred, pixelated or blacked out. Anything it misses, you draw over yourself. The photo never leaves your device.
It finds most faces. You handle the rest.
“Blur faces” sounds like a promise, so it is worth being plain about what the detector actually does. It finds faces that are roughly facing the camera and big enough to see. It misses profiles, people looking away, faces at the very edge of the frame, faces behind glass or a mask, and small faces in a crowd. On a photo of a demonstration it will find the people at the front and quietly ignore several at the back.
That is why nothing is applied until you have looked at it. Every region it found is outlined, every one can be removed with a click, and you can drag over anything it did not find — a face, a name badge, a house number, a screen. The covering does not care what is underneath.
Covered, not hidden
In most photo apps, a blur is a filter: the original pixels are still in the file and the effect sits on top of them. Here the covered pixels are replaced, and the file you download is built from the replaced ones. There is nothing underneath to recover because nothing underneath was carried forward.
The strength is a proportion of the face rather than a number of pixels, which matters more than it sounds. A fixed twelve-pixel blur erases someone standing at the back of a group photo and merely softens someone in a portrait, where every feature is still perfectly legible. Tying it to the region means the setting behaves the same at any distance from the camera.
The metadata goes too
A photo with the faces removed and the GPS coordinates still attached is not de-identified. The output here is encoded fresh from the pixels, so the camera, the timestamp and the location do not survive into it. If the picture itself is fine and only the metadata is the problem, the EXIF stripper removes it without re-encoding anything.
Nobody is told you opened this
The detector is a small model and a WebAssembly runtime, both served from this site rather than from the CDN the library reaches for by default. That default would mean a request to Google every time someone opens this page — a much smaller leak than the photo, but a leak, and an avoidable one. The photo itself never goes anywhere at all: there is no server in this tool to send it to.