Compress Video for WhatsApp

A free, in-browser way to compress video for WhatsApp: this page loads the Compress Video tool with a 16MB target so your clip lands under WhatsApp's video send limit without a single upload.

Updated
Loading tool…

Shrink a video's file size.

How to use the for whatsapp

  1. Open this page — the Compress Video tool loads with the size target already set to 16MB for WhatsApp.
  2. Drag in or select your video (iPhone .mov, Android .mp4, or MP4/MOV/WEBM/MKV/AVI). On the first run the browser downloads the ~32MB engine, then caches it.
  3. The tool reads the clip's duration, calculates the H.264 bitrate that fits under 16MB (aiming ~10% under), and re-encodes locally — nothing is uploaded.
  4. Wait for the encode to finish. Long or high-resolution clips take longer and use more browser memory, so trim first if you can.
  5. Download the H.264 MP4 and send it in your WhatsApp chat, or post it to Status (remember Status trims to about 30 seconds).
Try next →Compress VideoThe full compressor — target-size and quality modes, all in your browser.

About the for whatsapp

This page is built to compress video for WhatsApp, and it opens the Compress Video tool with the size target already set to 16MB. That number is not arbitrary: WhatsApp caps a video you send in a chat at roughly 16MB, and clips that go over either fail to attach or get crushed by WhatsApp's own re-compression on the way out. It is the smallest of the common share limits — email tolerates about 25MB and Discord's free tier allows 25MB — so a phone recording that sails through everywhere else is often exactly the file WhatsApp refuses. If you are also posting to Status, keep in mind WhatsApp trims Status videos to about 30 seconds, so a long clip needs trimming elsewhere first; this tool changes file size, not length.

The 16MB target works by reading your video's duration in the browser, then calculating the H.264 bitrate that fits your footage inside 16MB and re-encoding to hit it. It deliberately aims a little under — about 10% — so the result clears WhatsApp's hard limit instead of grazing it and getting bounced. Because it works from duration and an estimated bitrate, the final size is approximate rather than a precise 16.00MB, but in practice it lands comfortably under the cap. Duration reading works for the phone formats WhatsApp deals in most — MP4 and MOV, plus WEBM — and for a container it cannot probe it falls back to a balanced quality-based encode instead of failing. It takes your iPhone .mov or Android .mp4, MKV, or AVI and hands back a standard H.264 MP4 with +faststart, which is what phones and WhatsApp expect.

Everything runs locally with a single-threaded build of ffmpeg.wasm, so your video never leaves the device — a real plus for the personal clips people actually send over WhatsApp. The honest tradeoff is speed: a browser doing the encoding is slower than a desktop app, and a long or high-resolution recording uses more browser memory and more patience, so trimming to just the part you want to send helps on both counts. The first run downloads a roughly 32MB engine, which is then cached for next time. If you would rather set a slightly larger size for email, the sibling <a href="/compress-video/to-25mb">compress to 25MB</a> page uses the same tool with a 25MB target; and if size is not the constraint and you just want the cleanest possible file, <a href="/compress-video/without-losing-quality">compress without losing quality</a> switches to a quality-first mode instead of a byte target.

Frequently asked questions

What is WhatsApp's video size limit?
WhatsApp caps a video sent in a chat at roughly 16MB. That is why this page presets the Compress Video tool to a 16MB target — clips over the limit either fail to attach or get heavily re-compressed by WhatsApp itself. Note that Status videos have a separate constraint: they are trimmed to about 30 seconds, so a long clip may need trimming first.
Will the file be exactly 16MB?
No — size targeting is approximate. The tool reads your video's duration and calculates the H.264 bitrate needed to fit under 16MB, aiming about 10% under so the result reliably clears WhatsApp's hard limit rather than grazing it. You get a file safely under the cap, not a precise 16.00MB.
Does my video get uploaded anywhere?
No. The compression runs entirely in your browser with ffmpeg.wasm, so your video never leaves your device. For the personal clips people send over WhatsApp, that means nothing is transmitted to a server to make this work.
Does it work with iPhone .mov files recorded on my phone?
Yes. It handles phone .mov and .mp4 recordings, plus WEBM, MKV, and AVI, and outputs a standard H.264 MP4 with +faststart that WhatsApp and phones expect. Duration reading — which the 16MB target depends on — works for MP4, MOV, and WEBM.
Why is it slower than a desktop compressor?
Because it is all local: a single-threaded browser build of ffmpeg.wasm does the encoding on your machine instead of a server farm. Long or high-resolution clips take longer and use more browser memory. Trimming to just the part you want to send makes it faster and lighter.
What if the tool can't read my video's duration?
If it can't probe the container's duration, it falls back to a balanced quality-based encode instead of failing. That still shrinks the file meaningfully; it just isn't aimed at the exact 16MB target the way MP4, MOV, and WEBM clips are.
Will compressing to 16MB hurt the quality?
H.264 compression is lossy, so squeezing a big clip under 16MB trades some detail for size — usually fine for WhatsApp's playback. If quality matters more than a specific size, use the sibling Compress Video Without Losing Quality page, which uses a quality-first mode instead of a byte target.
Why does the first run download about 32MB?
That is the ffmpeg.wasm engine that does the encoding in your browser. It downloads once on the first run and is cached afterward, so subsequent compressions start faster.