AI Face Anonymizer — Auto-Blur Faces in Photos
Automatically blur every face in a photo. face-api.js detects faces in your browser and applies a privacy blur or solid mask without uploading the image.
Drop your JPG / PNG / WebP file hereTap to select a file
Supports JPG, PNG, WebP, up to 25MB
What to do next
Related tools
Censor / Blur Region
Permanently censor a rectangular region of any photo with pixelation, blur, or a solid black bar. Specify exact x/y/width/height coordinates and the censor is baked into a real PNG — no recoverable original.
imagePixelate Image
Pixelate any photo into chunky blocks with a 2–100 px block-size slider — great for retro 8-bit aesthetics or for censoring faces and licence plates. Real PNG output, runs entirely in your browser.
imageRedact PDF
Automatically detect and redact sensitive data (SSN, email, phone numbers) from a PDF with black boxes.
pdfPDF Metadata Remover
Strip all or selected metadata from a PDF including standard fields, XMP, and custom properties.
pdfEXIF Data Remover
Strip EXIF metadata from images for privacy, with options to keep orientation or color profile.
imageCompress Image
Reduce image file size while preserving visual quality.
imageAbout AI Face Anonymizer
Posting a group photo, a video frame, or a screenshot that contains other people’s faces creates a real privacy problem — the GDPR treats a recognisable face as personal data, and most platforms’ acceptable-use policies expect you to have consent for every visible person. Manually blurring each face one at a time is the obvious workaround; it is also tedious and easy to miss a face in the background. The AI Face Anonymizer detects every face in your photo automatically and applies a privacy mask of your choice, all inside your browser tab.
Detection runs on face-api.js — a small, well-tested library that wraps an SSD MobileNet face detector and runs on TensorFlow.js with the WebAssembly backend. The model returns a bounding box for every face it spots, including faces in the background of the frame and faces partially turned away from the camera. From there the tool applies whichever mask you chose: Gaussian blur with a sigma that scales to the face size (so a small background face still gets a meaningful blur), mosaic pixelation at a configurable block size, a solid filled rectangle in your choice of black or white, or an emoji overlay sized to the face. The mask is composited into the original image and exported as PNG.
The model has limits worth knowing. It is strongest on clearly visible front-facing faces — the kind of detection task it was trained on. Profile views, faces below ~32 pixels tall, faces in heavy shadow, and faces partially occluded by hands or hats are all harder. When the auto-detection misses one (which it sometimes does), drop the result into Censor / Blur Region for a quick manual touch-up. Conversely, the model is mildly conservative — if a wall pattern or a coat of arms vaguely resembles a face it will sometimes flag it as one; the bounding-box overlay lets you uncheck any false positive before the mask is applied.
This is not a metadata-stripper. The tool only changes the visible image. If your goal is full anonymization for legal compliance, follow up with EXIF Data Remover (or the equivalent for your file type) so GPS coordinates, camera serial numbers, and timestamps are stripped from the file metadata too. The combination of "no recognisable faces visible" and "no identifying metadata" is what most consent-based publishing policies expect.
How it works
- 1Drop a photo onto the upload area. JPG, PNG and WebP up to 25 MB are accepted.
- 2On first use, face-api.js and the SSD MobileNet weights download from the Favtoo CDN. Total ~7 MB, cached in your browser.
- 3The model runs inside the browser tab and returns a bounding box for every detected face. Boxes are shown overlaid on the photo so you can confirm the detection.
- 4Pick the mask style — Gaussian blur, mosaic pixelation, solid colour box, or emoji overlay — and adjust the size relative to each face if needed.
- 5Uncheck any false positives, or click on a missed face to add a manual box. The masking step composites all chosen boxes into the image.
- 6Export the masked PNG. Run the result through EXIF Data Remover if you also want to strip GPS coordinates and other identifying metadata.
Common use cases
- Blur bystanders in a holiday photo before posting to a public Instagram or X account
- Anonymise a group event photo for a corporate blog post where not everyone signed a release form
- Mask faces in a screenshot of a public webcam or surveillance feed before sharing in a journalism piece
- Hide students’ faces in a classroom photo before publishing it on a school newsletter
- Pixelate identifying features in a court-filing exhibit so a witness can be referenced without exposing their identity
- Prepare crowd photos for a marketing carousel where the focus is the venue, not the individuals
FAQ
How does it find the faces?
face-api.js uses an SSD MobileNet face detector running in your browser. The model returns a bounding box for each face it spots, and the tool applies the blur, pixelation or solid mask of your choice over each box.
Will my photo be uploaded?
No. The model files are fetched once on first use and cached locally. Detection and masking both run inside your browser tab.
Can it find every face?
It catches almost every clearly visible front-facing face. Profile views, faces below ~32 pixels tall, very dark scenes and partial occlusions can be missed — drop the auto-detection into Censor / Blur Region for manual cleanup.
What kinds of mask are available?
Gaussian blur, mosaic pixelation, solid black box and emoji overlay. Each option can be sized relative to the detected face so the mask grows or shrinks consistently.
Does it strip EXIF metadata too?
No — face masking is the only step. Run the result through EXIF Data Remover if you also want to strip GPS coordinates, camera info and timestamps.
Will the model find every face?
It catches the great majority of clearly visible front-facing faces. Misses are concentrated in three buckets: faces smaller than ~32 pixels (very far back in the frame), strong profile views, and faces in heavy shadow or partial occlusion. When you spot a missed face in the preview, click the photo to drop a manual mask box on top of it before exporting.
Does it use my image to train the model?
No. The model is fixed and ships as a static file from our CDN; nothing your browser does with that model affects future versions of it. Your image is processed inside your browser tab and the bytes never leave the device.
What’s the difference between blur, pixelate, and a solid box?
Blur is the most natural-looking option and is typically reversible by a determined attacker only with significant effort — Gaussian blur destroys high-frequency detail but a small amount of statistical information about the underlying pixels survives. Pixelate is similar in feel but easier for a human eye to see is a deliberate mask. Solid box is the strongest privacy guarantee because the original pixels are completely overwritten, at the cost of a less polished look. Emoji overlay is a stylised middle ground popular for social-media use.
Will it strip identifying metadata too?
No — face masking is the only step. EXIF, IPTC, and XMP metadata are preserved by default so you do not lose, for example, the photo’s rotation hint or the camera’s colour profile. Run the result through EXIF Data Remover if you want to clear the metadata as well; the two tools chain cleanly.
How accurate is detection on group photos?
Group photos are actually one of the strongest use cases. The detector handles dozens of faces in a single frame as long as each face is at least 32 pixels tall. A wide-angle conference shot with 100 attendees typically picks up 95%+ of the visible faces; the misses tend to be people partially hidden behind others.
Will my photo upload anywhere?
No. The model files come from our CDN on first run; after that, the image is processed entirely inside your browser tab. Open DevTools and watch the Network tab during a run to verify — only the (cached) model assets are visible, no upload requests.
Can it find faces in cartoons, illustrations, or anime?
Mostly no. The model was trained on photographs of real human faces and is largely blind to stylised cartoon faces and anime-style portraits. For non-photographic content, masking with Censor / Blur Region by hand is the more reliable option.