Skip to content
induwara.lk
Premium
induwara.lkPrivacy · AI

Blur Face Online Free — AI Photo Anonymizer

Hide every face in a photo before you post it. Your browser detects the faces on-device, then blurs, pixelates, or blacks them out — no upload, no signup, and all camera metadata stripped on download.

By Induwara AshinsanaUpdated Jul 12, 2026
Face Bluron-device
Never uploaded

Everything runs in your browser. The photo is never uploaded.

What this does

Drop in a photo and every face is found on your device and covered with a mosaic, blur, or solid black box. Missed a face? Draw a box over it by hand. Download a share-ready image with all camera metadata (GPS, device, timestamp) stripped — the original never leaves your phone or laptop.

Sources cited: face detection via the browser Shape Detection API (BlazeFace family, arXiv:1907.05047); redaction math and the reversibility warning follow arXiv:1609.00408 and the MDN Canvas API. Full references are listed below the tool. Last verified 2026-07-12.

How it works

Everything happens inside your browser tab. The photo is decoded to a <canvas> and never sent anywhere — you can verify that in the DevTools Network panel. Face detection uses the browser's built-in Shape Detection API, an on-device detector from the BlazeFace family (arXiv:1907.05047), so there is no model to download and no third-party request on your image. The deterministic redaction rules below live in a pure module (lib/data/ai-face-blur.ts) with cited formulas.

  1. Detection downscale. Detection runs on a copy scaled so the longest side is at most 1,024 px: scale = min(1, 1024 / max(w, h)). Boxes come back in that space and are divided by scale to map back to full resolution, where the redaction is always applied.
  2. Region padding. Each face box grows by 12% of its shorter side on every edge so hairline, ears, and jaw are covered: pad = round(0.12 × faceMinSide).
  3. Mosaic (default). Block size b = max(8, round(faceMinSide / (24 − 2 × (strength − 1)))). At strength 6 the divisor is 14 — about 14 blocks across the face, coarse enough to defeat recognition while staying clean. Each block is filled with the mean colour of its source pixels.
  4. Gaussian blur. Radius r = max(8, round(faceMinSide × 0.02 × strength)), applied through the Canvas filter: blur(r px) primitive. Shown with a reversibility warning because mild blur is partially invertible (arXiv:1609.00408).
  5. Solid box. Fills the padded region with opaque black — the only mathematically irreversible mode, recommended for legal or consent-critical redaction.
  6. Detection sensitivity. A score threshold in the range 0.20–0.90. Faces below it are dropped. The browser detector reports faces at confidence 1.00, so the slider filters lower-confidence entries and keeps the algorithm consistent with scored detectors.
  7. Metadata strip.Re-encoding the canvas to PNG or JPEG discards every EXIF field — GPS, device, and timestamp — so the downloaded file carries none of the original's tracking data.

Two of the formulas are cross-checked a second way in the module (mosaic block from an explicit blocks-across count, and blur radius from a percentage), and both reproduce the numbers in the worked examples below to the pixel.

Worked examples

Group selfie — 4 faces, mosaic (defaults)

  1. Input: 1600×1200 JPEG (1.92 MP), face min side 180 px
  2. Detection copy: scale = min(1, 1024/1600) → 0.786 MP
  3. Padding: round(0.12 × 180) = 22 px on every edge
  4. Mosaic divisor: 24 − 2×(6−1) = 14 (≈14 blocks across)
  5. Block size: max(8, round(180/14)) = 13 px
  6. Estimated on-device time: 60 + 90×0.786 + 25×1.92 ≈ 179 ms

All four faces mosaicked with ~13 px blocks (≈14 blocks across each face) and the output PNG carries no EXIF or GPS metadata from the original.

Single portrait — Gaussian blur

  1. Input: 2048×1365 JPEG (2.80 MP), face min side 320 px
  2. Detection copy: scale = min(1, 1024/2048) → 0.699 MP
  3. Padding: round(0.12 × 320) = 38 px on every edge
  4. Blur radius: max(8, round(320 × 0.02 × 8)) = 51 px
  5. Estimated on-device time: 60 + 90×0.699 + 25×2.80 ≈ 193 ms

One face blurred at a 51 px radius. Because mild blur is partially reversible, the tool shows a warning and steers consent-critical users to the solid-box mode.

Manually drawn box — solid black

  1. Input: 1080×1350 JPEG (1.46 MP), face min side 90 px
  2. Detection copy: scale = min(1, 1024/1350) → 0.839 MP
  3. Padding: round(0.12 × 90) = 11 px on every edge
  4. Filled region: (90+2×11) px on the short side, opaque black — irreversible
  5. Estimated on-device time: 60 + 90×0.839 + 25×1.46 ≈ 172 ms

A face the detector missed (e.g. a reflection in a mirror) is covered by a 90×110 px hand-drawn box, padded to 112×132 px and filled solid black — the only mathematically irreversible option.

Frequently asked questions

Sources & references

The detection approach and redaction formulas on this page were last verified on 2026-07-12. Blur and mosaic are strong deterrents but not provably irreversible; for legal or consent-critical redaction use the solid black box.

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.