Compress Videos for WhatsApp and Email in
WhatsApp caps video at 64-100MB, email at 20-25MB. Compress locally in your browser with ffmpeg.wasm or WebCodecs —...

The size you're actually aiming for
If a video won't send, the fix is almost always file size, not format. WhatsApp's own Help Center lists connection-dependent limits for chat video: up to 100MB at 720p on a faster connection, or 64MB at 480p on a slower one. Status videos are capped separately at 90 seconds regardless of size. For email, Gmail's personal-account attachment limit is 25MB, and Outlook.com lists the same 25MB ceiling — though Microsoft's own support docs note that many internet accounts (Outlook.com or Gmail accessed through Outlook) actually enforce a tighter ~20MB limit including the message body. The safest cross-platform target is an MP4 (H.264) file under 20MB for email and under 64MB for WhatsApp chat, compressed without ever leaving your device.
WhatsApp's real limits, not the 16MB myth
A lot of 2025 and 2026 SEO guides for video compression still repeat a stale figure: a supposed 16MB cap on WhatsApp media. That number shows up on sites like Clideo and several "best video compressor" roundups, and it isn't what WhatsApp currently documents. WhatsApp's official FAQ (faq.whatsapp.com/453914586839706) states the connection-tiered limits directly — 100MB/720p on faster connections, 64MB/480p on slower ones — and separately confirms that documents, including video sent as a file rather than inline media, can go up to 2GB. That 2GB document ceiling isn't new marketing copy either: WhatsApp's own blog raised it from a previous 100MB cap back on May 5, 2022, alongside the update that let groups grow to 512 members. If you're seeing a video get rejected below 64MB, the connection speed at send time — not a hard 16MB wall — is usually the actual constraint.
Treat the 16MB figure as leftover community lore from older limits, not a verified current cap. Lead with WhatsApp's own numbers: 64MB (slow) or 100MB (fast) for chat video, 90 seconds for Status, 2GB if you send it as a document.
Email's tighter ceiling: Gmail and Outlook
Email is the stricter path. Google's Gmail Help page (support.google.com/mail/answer/6584) puts personal-account attachments at a flat 25MB, and if your total attachments exceed that, Gmail doesn't just fail — it silently strips the file and drops in a Google Drive link instead, which isn't what you want when you're trying to hand someone a video, not a link. Microsoft's Outlook.com sending-limits page states the same 25MB ceiling, but a separate Microsoft support article on reducing attachment size specifically calls out that many internet accounts — including Outlook.com and Gmail addresses accessed through Outlook — cap combined message-plus-attachment size closer to 20MB. The r/GMail community backs this up in practice: a recurring thread topic is people asking "how am I supposed to email a large video file" after hitting that 25MB wall with an ordinary phone clip. Given the overlap, 20MB is the number to compress toward if you want a video to attach cleanly across Gmail, Outlook.com, and most other providers without triggering a Drive-link swap.
How in-browser compression works, with no upload
The reason this is worth doing in a browser rather than a native app is straightforward: video compression tools that run client-side never send your file anywhere. Two technologies make this possible today.
ffmpeg.wasm compiles the actual FFmpeg encoder to WebAssembly and runs it entirely inside the browser tab. It's CPU-bound, since there's no hardware acceleration, so a 30-second 1080p clip can take roughly 30-60 seconds to re-encode, and the tool itself has to download 20-30MB of WASM before it can start. It also needs the page to be cross-origin isolated — COOP set to same-origin and COEP set to require-corp — because multithreaded encoding depends on SharedArrayBuffer, which browsers only expose under those headers.
WebCodecs takes a different approach: instead of emulating FFmpeg, it hands frames to the browser's own hardware video encoder. Benchmarks summarized by projects like Remotion put it at roughly 3-5x faster than the WASM path for equivalent output. Support is solid in Chromium: Chrome 94+ and Edge 94+ have shipped it for years. Firefox added it in version 130. Safari's support started partial and has broadened with later releases (fuller support arriving around Safari 26).
Either way, the file itself stays on the device doing the encoding. That's a meaningfully different privacy posture than uploading a personal video to a random "compress my video" website and trusting it to delete the copy afterward — a promise you can't verify from the outside. It's the same reason our own in-browser PDF compressor processes files locally rather than routing them through a server: for anything personal, not uploading in the first place is a stronger guarantee than a stated deletion policy.
Practical settings to hit your target
Once you're in a local encoder — whether it's an ffmpeg.wasm-based tool or a WebCodecs-powered one — the settings that actually move file size are:
Codec: H.264 in an MP4 container. It's the format explicitly listed as supported in WhatsApp's own media documentation, and it's what Gmail and Outlook preview inline without complaint.
Resolution: Match WhatsApp's own tiers. Encoding at 720p keeps you eligible for the 100MB fast-connection allowance; dropping to 480p is what WhatsApp itself does automatically on slower connections, so encoding there directly gets you under the 64MB floor with more headroom.
Bitrate over resolution for email: To land under the 20MB email target, cutting bitrate (rather than just resolution) on a short clip usually preserves more visible quality than aggressively downscaling a 30-60 second video.
Trim before you compress: Since WhatsApp Status is hard-capped at 90 seconds regardless of file size, and shorter source footage compresses to a smaller file at any given quality, cutting dead time at the start or end of a clip is often more effective than any codec setting.
Bottom line
The numbers that matter are WhatsApp's 64MB (slow) / 100MB (fast, 720p) chat-video limits, 90 seconds for Status, 2GB if you send as a document, and roughly 20-25MB for email depending on the provider — not the 16MB figure still floating around older guides. Compressing to those targets doesn't require uploading a personal video anywhere: ffmpeg.wasm and WebCodecs both do the encoding on-device, in the tab, with nothing leaving your machine. For more on how we approach browser-based, upload-free file tools, see the full tools directory or browse the blog for related write-ups on client-side file processing.
Production Line
Get the next post in your inbox
Short updates when we ship new tools or big AI news drops. No spam, one-click unsubscribe.

