How to manually blur a region in a video
- Step 1Drop your video onto the tool — Accepted containers include MP4, MOV, MKV, WEBM, AVI, M4V and TS. The file is loaded into the in-browser FFmpeg.wasm filesystem — nothing is uploaded. This tool processes one file at a time (
acceptsMultiple: false). - Step 2Draw the rectangle on the preview frame — The region picker paints a frame from the video onto a canvas. Drag anywhere to draw a fresh box, click + drag inside the box to move it, and drag the bottom-right (SE) corner to resize. A default box covering the centre 60% appears so you have something to grab. The live label shows
W × H @ (X,Y)in source pixels. - Step 3Fine-tune the box with exact numbers — Under Redact rectangle you can type
X,Y,Width, andHeightdirectly. Minimums areX ≥ 0,Y ≥ 0,Width ≥ 2,Height ≥ 2. Use this when you have pixel coordinates from another tool or need the box to land on a precise UI element. - Step 4Set the time window — Enter Start (s) and End (s). The blur is only active between those timestamps. The preview frame shown in the picker is the frame at your Start time, so you can confirm the box lines up at the moment the sensitive content appears. Leave defaults and the blur applies from the start to the end of the clip.
- Step 5Choose the blur strength — Blur strength ranges from 5 to 50 and maps to the
boxblurluma radius. Note FFmpeg caps the radius at half the smaller side of your box (min(width,height)/2), so on a tiny region a strength of 50 is automatically clamped — there is no setting that under-blurs a small box. - Step 6Process and download — JAD runs the
filter_complexand re-encodes the video withlibx264 -preset medium -crf 20, copying the audio. Download the resulting MP4. Then verify the redaction by scrubbing the output — confirm the box covers the target across the whole window, including any camera movement.
Every control on the manual redactor
These are the exact options exposed by the tool's client and read by the processor. There are no others — no mosaic style, no second region, no feathering, no rotation.
| Control | Range / default | What it maps to | Notes |
|---|---|---|---|
X | ≥ 0, default 0 | crop/overlay X offset in source pixels | Left edge of the box. Picker writes this when you drag |
Y | ≥ 0, default 0 | crop/overlay Y offset in source pixels | Top edge of the box |
Width | ≥ 2, default 200 | crop width | Box width in source pixels |
Height | ≥ 2, default 200 | crop height | Box height in source pixels |
Start (s) | 0 to clip duration, default 0 | enable='between(t, start, …)' | Blur turns on at this timestamp; also the frame shown in the picker |
End (s) | 0 to clip duration | enable='between(t, …, end)' | Blur turns off here; defaults to the end of the clip |
Blur strength | 5–50, default 25 | boxblur luma radius | Clamped to min(width,height)/2 for small boxes |
Input and output specifics
What goes in, what comes out. The output container and codec are fixed by the processor.
| Aspect | Behaviour |
|---|---|
| Input containers | MP4, MOV, MKV, WEBM, AVI, M4V, TS (read via FFmpeg.wasm) |
| Output container | Always MP4 |
| Video codec out | H.264 (libx264), -preset medium, -crf 20 |
| Audio | Stream-copied (-c:a copy) — unchanged |
| Regions per pass | One rectangle. For two areas, run the output through the tool again |
| Files per run | One (no batch on this tool) |
| Free / Pro / Pro+Media / Developer file size | 1 GB / 10 GB / 100 GB / 100 GB; no duration cap |
Cookbook
Concrete recipes for the most common manual-blur jobs. Coordinates are source pixels; timestamps are seconds.
Blur a sticky note on a monitor for the whole clip
You filmed a desk demo and a Post-it with a password is stuck to the screen the entire time. Draw the box over the note, leave the time window at its default so it applies start to finish.
Source: demo.mov, 1920x1080 Redact rectangle: X=640 Y=300 Width=260 Height=120 Start (s): 0 End (s): (whole clip) Blur strength: 30 Filter applied: [0:v]split[base][redact];[redact]crop=260:120:640:300,boxblur=25:1[blur]; [base][blur]overlay=640:300:enable='between(t,0.000,9999.000)'[outv] Output: demo.mp4 (H.264, CRF 20, audio copied)
Hide a name badge only while the person is on screen
A colleague walks into frame at 12s and leaves at 19s. Blur their badge only during that window so the rest of the footage is untouched and re-encode quality is spent where it matters.
Source: lobby.mp4, 1280x720 Redact rectangle: X=540 Y=380 Width=160 Height=90 Start (s): 12 End (s): 19 Blur strength: 40 Note: 40 > min(160,90)/2 = 45 → radius stays 40 (not clamped here) The box is invisible/clean before 12s and after 19s.
Two regions in one clip (run twice)
There is a whiteboard AND a license plate in the same shot. The tool blurs one rectangle per pass, so process once for the whiteboard, then feed that MP4 back in for the plate.
Pass 1: clip.mp4 -> whiteboard box (X=100 Y=80 W=400 H=240) -> step1.mp4 Pass 2: step1.mp4 -> plate box (X=820 Y=520 W=180 H=70) -> final.mp4 Each pass re-encodes H.264 once; for archival sources prefer doing both regions before any other lossy step.
Maximum obscuring on a small target
A 70x40 region (a tiny phone-screen notification) won't blur much even at strength 50, because the radius is capped at half the smaller side. The fix is to enlarge the box, not raise the strength.
Box 70x40, strength 50 -> radius = min(50, floor(40/2)) = 20 Box 140x90, strength 50 -> radius = min(50, floor(90/2)) = 45 (stronger) Rule: to blur harder on a small target, draw a bigger box.
Confirm coordinates match the picker label
The picker overlay prints the live box as W × H @ (X,Y). Those numbers are exactly what the processor reads, so you can copy them into another tool or a ticket for reproducibility.
Picker label reads: 260 x 120 @ (640,300) Redact rectangle: X=640 Y=300 Width=260 Height=120 These are source pixels, identical to the FFmpeg crop/overlay args.
Edge cases and what actually happens
The subject moves out from under the static box
By designThe rectangle is fixed for the whole time window — it does not track motion. If the sensitive object moves (a person walks, the camera pans), draw a box large enough to cover the full path, or split the work: blur 0–5s with one box, re-run for 5–10s with another. For automatic face tracking instead, use face-blur.
Blur strength of 50 barely changes a small box
ExpectedThe boxblur radius is clamped to min(width,height)/2, so on a 60×40 region the effective radius is 20 no matter what strength you set. Enlarge the rectangle to increase the blur — that is the only lever for a small target.
Box drawn partly outside the frame
PreservedCoordinates are clamped at the source dimensions in the picker, and X/Y cannot go below 0. If you type values that push the box past the right/bottom edge, FFmpeg's crop will fail because the crop window exceeds the frame — keep X+Width ≤ frame width and Y+Height ≤ frame height.
Output is MP4 even though input was MOV/MKV/WEBM
By designThe redactor always writes H.264 MP4. The container changes on purpose for broad compatibility. If you specifically need the original container back, transcode the output with the video-transcoder.
Quality drops slightly even on untouched frames
ExpectedBecause the whole video stream is re-encoded with libx264 -crf 20, even frames outside your time window are re-compressed once. CRF 20 is visually near-transparent, but it is not lossless. To avoid re-encoding regions you don't touch, trim to just the sensitive segment first with the lossless-trimmer.
End time left at 0 or before the start
HandledThe client treats an unset End as the clip duration (endSec || duration), so leaving it blank blurs to the end. Make sure End is after Start; an End earlier than Start produces a window that never activates, leaving the region unblurred.
Audio comes through untouched
PreservedThe redactor only filters video; audio is stream-copied with -c:a copy. If you also need to silence a spoken name or address, use audio-mute-region on the same time window.
Very large file on the Free tier
Tier limitFree tier caps the video family at 1 GB per file. A long high-bitrate clip can exceed that. Either upgrade (Pro 10 GB, Pro + Media / Developer 100 GB), or trim to just the segment you need to redact with the lossless-trimmer first.
Original metadata survives the export
PreservedBlurring a region does not strip GPS, camera model, or other container metadata — that travels with the file. For evidence or stock work that must be scrubbed, run the redacted MP4 through the metadata-scrubber.
Frequently asked questions
Does the tool detect what to blur automatically?
No — that is the point of this tool. You draw the rectangle and pick the time window manually, which is exactly what you want when the target is text, a screen, a logo, or anything an object detector wouldn't recognise. If you want automatic face detection, use face-blur instead.
Is the blur reversible? Could someone recover the hidden content?
The redactor applies a real boxblur that destroys the pixels in that region — it is not a movable overlay sitting on top. Within the blurred area there is no original detail to recover. (As always, only the chosen rectangle and time window are affected; anything you didn't cover is fully visible.)
Can I blur two different regions at once?
Each pass blurs one rectangle. For multiple regions, process the clip once for the first box, then feed the resulting MP4 back into the tool for the next box. Each pass re-encodes once at CRF 20.
What blur strength should I use?
Strength runs 5–50 and maps to the boxblur radius. 25 (the default) is a solid privacy blur. Go higher to obscure more, but remember the radius is capped at half the smaller side of the box — on small regions, enlarging the box does more than raising the number.
Does my video get uploaded anywhere?
No. The file is loaded into an in-browser FFmpeg.wasm filesystem on your own device and processed locally. Nothing is sent to a server, which is why this tool is appropriate for legal, medical, and other sensitive footage.
What file formats can I drop in?
MP4, MOV, MKV, WEBM, AVI, M4V and TS are recognised. Whatever you put in, the output is H.264 MP4.
Why is the output always an MP4?
The processor re-encodes the video to H.264 and muxes it into MP4 for broad device and browser compatibility. If you need a different container, run the result through the video-transcoder.
Will the rest of the video lose quality?
The whole video stream is re-encoded once at CRF 20 (visually near-transparent) because the filter graph touches the video. Audio is copied untouched. To re-encode the smallest possible amount, trim to just the sensitive segment first with the lossless-trimmer.
How do I get exact pixel coordinates?
Draw the box, then read the live W × H @ (X,Y) label on the picker, or type values directly into the X / Y / Width / Height fields. Those numbers are source pixels and map straight onto FFmpeg's crop/overlay arguments.
Can I blur the region only during part of the clip?
Yes — that is what Start (s) and End (s) are for. The blur is gated by enable='between(t,start,end)', so it appears only between those timestamps and the region is clean everywhere else.
How large a file can I process?
Free tier allows up to 1 GB per file, Pro up to 10 GB, and Pro + Media / Developer up to 100 GB. There is no limit on how long the clip is — only file size and (for batch tools) file count are capped, and this tool runs one file at a time anyway.
The box doesn't follow a moving subject — how do I handle that?
The rectangle is static. Either draw it large enough to cover the subject's whole path during the window, or split the redaction into several passes with different boxes for different time ranges. For motion-tracked face redaction specifically, use face-blur or face-pixelate.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.