FFMPEG
ToolsConverterBlogAboutContact
Home / Blog / How to Compress MP4 for WhatsApp (Without Uploading It Anywhere)

8 min read · May 12, 2026 · Updated May 29, 2026

How to Compress MP4 for WhatsApp (Without Uploading It Anywhere)

A practical guide to getting an MP4 under WhatsApp's attachment limit — what the actual cap is, why your file is too big, and how to shrink it without losing visible quality.

The cap, plainly

WhatsApp will let you send a video as a regular chat attachment up to about sixteen megabytes. The exact number wobbles a little — it has been raised in some regions, the WhatsApp Business app allows more, the iOS share sheet sometimes pre-compresses for you — but for practical purposes, sixteen megabytes is the ceiling you keep slamming into. A status video (the ones that disappear after a day) is capped lower, around the same neighbourhood. If your file is above that limit, WhatsApp refuses to send it.

A modern phone shooting at 1080p and 30 frames per second writes roughly fifteen megabytes for every minute of footage at default quality settings. That means a one-minute clip is already at the limit and a two-minute clip is firmly over. The fix is not better wifi; it is a smaller file.

Why the file is "too big"

Video files are big because each frame of video is a lot of pixels, and each second of video is many frames. A modern codec like H.264 compresses each frame against the ones around it — the encoder notices that most of frame N looks like most of frame N-1, stores only the differences, and saves enormous amounts of space. But there is a floor: a minimum number of bits per second below which the encoder cannot represent the picture without visible artifacts.

When your phone records, it picks a bitrate that comfortably stays above that floor. The result is a file that looks good but that is not particularly efficient for sharing. To get under WhatsApp's limit, you need to ask the encoder to use fewer bits — at some point near the floor, at the cost of some softness in fast-motion scenes. That is what video compression is.

The browser-based way to do it

The video compressor on this site runs the same FFmpeg that powers VLC, OBS, and most professional video pipelines — but compiled to WebAssembly so it executes inside your browser tab. Drop a file in, pick the WhatsApp preset, click compress, get a smaller MP4 back. Nothing uploads. You can verify this in your browser's DevTools Network tab: open it, run a compression, watch nothing leave.

The tool calculates the bitrate needed to fit your target file size given the clip's duration. For a sixty-second clip targeting sixteen megabytes, the math works out to roughly two megabits per second of video plus ninety-six kilobits per second of audio — comfortable margins for most footage. For a four-minute clip targeting the same sixteen megabytes, the math works out to about five hundred kilobits per second for video, which is genuinely tight; expect visible compression in motion-heavy scenes.

Strategies, ranked by impact

If the compressor's default WhatsApp preset gives you a file that still looks fine, you are done. If it looks rougher than you would like, here are the levers in descending order of how much they help.

Trim first. A six-second clip from the middle of a forty-second video is almost always preferable to a forty-second compressed clip. WhatsApp recipients are not going to scrub through it; they are going to watch it once. Pick the moment that matters and ship that.

Lower the resolution before compressing. The video compressor exposes a max-width control. If your source is 4K from a recent iPhone and the recipient is going to watch on a phone, dropping the width to 1920 pixels takes file size down by about seventy-five percent at equivalent visual quality — before the encoder does anything. The picture is still way more pixels than the screen displays.

Drop the frame rate. Less impactful but real. Going from 60 frames per second to 30 frames per second reduces file size by roughly thirty percent at the same visual quality, because the encoder no longer has to store the extra frames. Useful for talking-head clips; bad for fast action where the higher frame rate matters.

Pick a higher encoder preset. The tool defaults to "veryfast" because it finishes sooner. If file size is tight and you are willing to wait longer, picking "slow" gives the encoder more time to find efficient encodings and typically produces files five to fifteen percent smaller at the same visual quality.

When the clip is just too long

There is a hard mathematical limit to how small you can make a long video while keeping it looking acceptable. A ten-minute clip targeting sixteen megabytes works out to about two hundred kilobits per second total — below the floor at which H.264 can represent a picture without obvious blocking. For longer clips, you have three honest options:

1. Trim to a highlight. As above.

2. Send a lower-resolution version. 480p at ten minutes can fit in sixteen megabytes and still look reasonable on a phone screen.

3. Send the link instead of the file. Upload to Google Drive, Dropbox, or any hosting service, share the link via WhatsApp. The recipient downloads from the cloud rather than receiving a chat attachment.

The browser-based compressor is the right tool for the first two; for the third, no compression is needed.

What about quality?

For most phone clips at the WhatsApp target, the loss is invisible at normal viewing distance. The recipient sees a slightly softened version of the original; on a phone screen at arm's length, the difference is genuinely hard to spot. The places it becomes visible are: fast camera motion where small details get smeared, very dark scenes where compression banding becomes obvious, scenes with lots of fine texture (grass, water, foliage) where the encoder cannot keep up with the entropy.

If you care about quality more than fitting the limit, switch the tool to "target quality" mode and pick a CRF value. CRF 23 is the default and looks essentially identical to the source; CRF 28 produces a noticeably smaller file with mild compression; CRF 32 is small but visibly compressed. The trade-off is that you no longer have a guaranteed file size — the encoder spends whatever bitrate it needs to maintain the quality you asked for.

Why not just zip the file?

Compression in the sense of zip files (lossless general-purpose compression) does basically nothing on video. Video files are already compressed; the encoder has already done the hard work of finding redundancy. Zipping an H.264 MP4 typically shrinks it by less than one percent. Video compression in the sense this article is talking about is _lossy re-encoding_: throwing away information the encoder thinks you will not notice, on purpose, to fit a smaller bitrate budget. It is a fundamentally different operation.

Doing it from the command line

If you have FFmpeg installed and prefer the terminal, the equivalent invocation for a sixty-second clip targeting sixteen megabytes is:

``

ffmpeg -i input.mp4 -c:v libx264 -b:v 2100k -maxrate 2520k -bufsize 4200k -preset veryfast -c:a aac -b:a 96k -movflags +faststart output.mp4

``

The browser tool builds an equivalent argument string under the hood and runs it in WebAssembly. If you want to see exactly what it executed, watch the log panel during compression.

The privacy angle, because it matters

The most common alternative to a browser-based compressor is uploading to a free online tool. That model has a few costs that are not always obvious. Your video sits on someone else's server for as long as their privacy policy allows. Free online tools usually monetise via ads against your attention while you wait through the upload and processing queue. The video data is on the public internet for the duration of the upload, even if the destination is trustworthy.

The browser-based approach removes all of that by removing the upload entirely. The FFmpeg engine downloads to your browser cache once (about thirty megabytes), and from then on every compression happens locally. Open the compressor and watch your network panel if you want to verify.

Related guides

  • Reduce video file size — broader guide on shrinking videos for any purpose.
  • Convert MOV to MP4 on Mac — if your phone clip is .mov, you may want to convert first.
  • How FFmpeg works — the engine behind the tool.
  • Video codecs explained — why H.264 and not H.265 for sharing.

Ready to convert your video?

Use the Free FFmpeg Converter →

// Navigate

ConverterAll ToolsBlog

// Tools

MP4 ConverterCompress for WhatsAppMOV → MP4Video → GIF

// About

AboutContactPrivacyTerms

© 2026 FFMPEG CONVERTER

POWERED BY FFMPEG WEBASSEMBLY