Blur a face in a video

Draw a box over a face, a number plate or a screen, and it is blurred into the video, all in this browser tab.

How it works

Most tools that blur faces in a video upload it first, so a clip you are blurring for privacy lands on someone else’s server before it is private. This one does the whole job inside your browser tab.

Each box is stored as a fraction of the picture rather than in pixels, so a box drawn on a small preview lands in the same place on the full-size video. A box can cover the whole clip or only the seconds you choose.

The blur is burned into the pixels, so it cannot be switched off or removed from the file. That means every frame is encoded again, which takes at least as long as the video plays. The first run downloads the video engine, about 30 MB, and caches it.

How to use it

  1. 1 Choose a video (MP4, MOV or WebM).
  2. 2 Move to a frame where the face or plate is visible, and drag a box over it.
  3. 3 Set when each box applies, or leave it on for the whole clip.
  4. 4 Export, play the result to check it, and download the MP4.

Good to know

  • Pause on a frame and press Start here or End here to time a box to the frame you are looking at.
  • A box does not follow movement. Draw it large enough to cover where the face goes, or use several boxes with different timings.
  • Choose Unrecognisable for anything to do with privacy. Softened leaves a face recognisable.
  • Your video is never uploaded. The whole job runs in this browser tab.

Browser support

  • Chrome 94 and later
  • Firefox 113 and later
  • Safari 16.4 and later
  • Edge 94 and later

These are the oldest versions with everything the tool uses. They are worked out from the tool itself, so they change when it does.

Version numbers checked on 2026-09-04.

A blur you can take off is not a blur, so this one is painted into every frame

The failure this tool is built around is the same one the document redactor exists to avoid. A box drawn on top of a picture hides what is under it on screen while the original pixels sit underneath, untouched, and anyone with the file can take the box away. In video the equivalent is an overlay track or an editor project that renders a blur at playback time. So nothing here is layered. The blurred region is composited into the frame and the result is encoded as a new H.264 stream, which means the pixels that were inside the box are not in the export at all. The price is that every frame has to be decoded, painted and encoded again. There is no equivalent of the trimmer copying a stream between keyframes, because the frames that need the blur are exactly the ones that change, so an export takes at least as long as the video plays.

Each box is stored as a fraction of the frame rather than in pixels, using the same geometry module as the redactor. You draw on a preview that is whatever size your screen allowed, and the encode runs at the full resolution of the file, and a fraction survives that change of scale where a pixel coordinate does not. Converting back to pixels has one wrinkle that images do not. The output is yuv420p, whose two colour planes are stored at half the resolution of the brightness plane, so a crop that starts on an odd pixel starts half a colour sample away from the brightness it is meant to cover, and the edge of the box picks up a coloured fringe. Every coordinate is therefore aligned to an even number, rounded outward so the box never ends up smaller than what you drew, and the video is padded to even dimensions first so those coordinates mean the same thing on an odd sized source.

The blur strength is not a radius. A fixed radius of ten pixels makes a face forty pixels across unrecognisable and barely softens one four hundred pixels across, so a single slider would mean something different for every box. The radius is instead a fraction of the box’s shorter side, which is what makes Unrecognisable mean the same thing wherever you draw. It is capped at a quarter of that side rather than half, because the limit that matters is the colour plane at half resolution, and a radius wider than that plane is an error rather than a stronger blur. Unrecognisable also runs the box blur three times in a row, which converges on a gaussian and is what removes the structure rather than smearing it. Softened runs it once. On a fine checkerboard the softened result still shows the grid, which is why the page tells you not to use it to hide a person.

The boxes compile to a single ffmpeg filter graph. The padded source is split into one copy per box plus a base to draw on, each copy is cropped to its box and blurred, and the blurred patches are overlaid onto the base one after another. Cropping from untouched copies rather than from the running result matters when two boxes overlap, since otherwise the second would blur the first a second time. A box that covers only part of the clip is gated with an enable expression on the timestamp. A box that covers the whole clip gets no expression at all, because enable is evaluated on every frame and an always true condition is work for nothing. Before the graph is built the input is asked whether it has an audio track, since a graph that maps audio from a silent screen recording fails the whole encode, and any audio is encoded to AAC rather than copied, because a WebM carries Opus and an MP4 cannot take it as it is.

Two limits are stated on the page rather than left for you to find. A box does not follow a moving face. Tracking needs a face detection model running on every frame, which is a different tool, so a box stays where it was drawn for the span it was given, and a subject who moves needs a larger box or several boxes with different timings. And the live preview is not the encoder. It blurs with a CSS backdrop filter so it moves with the video instantly, and it is tuned to be the weaker of the two, so what you see before exporting can only understate how much is hidden, never overstate it. Watching the result before you share it is still the only real check.

Frequently asked questions

Can the blur be removed from the video afterwards?

Not from this file. The blur is part of the picture rather than a layer on top of it, so the original pixels inside the box are not in the export. Keep your original if you might need it later.

Does the box follow a face that moves?

No. A box stays where you drew it for the time you set. Following a moving face automatically needs a face detection model, which this tool does not have. Draw a box big enough for the movement, or add boxes for different parts of the clip.

Is Softened enough to hide somebody?

No. Softened is for tidying a background, and a face blurred that way can often still be recognised. Use Unrecognisable whenever the point is privacy.

Why does exporting take so long?

Every frame has to be decoded, blurred and encoded again, because the blur has to be in the pixels. There is no shortcut that skips frames, so expect it to take at least as long as the video plays, and longer on a phone.

Is my video uploaded to a server?

No. The whole job runs inside your browser tab.

Related tools

Your files are processed on your device and are not uploaded. You can verify this in your browser’s developer tools under the Network tab.