9 min read · May 22, 2026 · Updated May 29, 2026
How to Reduce Video File Size — A Practical Guide
A clear, opinionated guide to making video files smaller. Resolution, bitrate, codec choice, when to trim, and the trade-offs that come with each lever.
Smaller files are a means, not an end
Before deciding how to reduce a video's file size, it is worth asking why you are doing it. The answer determines the right strategy.
If the goal is fitting an upload limit — WhatsApp 16 MB, Discord 25 MB, an email server's attachment cap — you want a target-size mode and you should accept whatever quality results from hitting that size. The video compressor on this site is built for exactly this case.
If the goal is saving storage, you can usually afford to spend more time on a slower, higher-quality encode. Compress once, store the smaller file forever, get back roughly half the disk space for clips that originated from phones at default settings.
If the goal is faster web loading, you care about bitrate at a given resolution more than the absolute file size. A 720p clip at a controlled bitrate streams smoothly; the same file at 4K resolution forces the viewer's device to either downscale or stutter.
The levers below apply to all three cases, but their weight changes. Read with your goal in mind.
The levers, ranked by impact
Resolution. This is the single most powerful lever in video compression. A 4K source has four times the pixels of 1080p, and a 1080p source has four times the pixels of 540p. Halving width and height takes file size down by roughly seventy-five percent at equivalent visual quality. If your source is 4K and the destination is a phone screen, downscaling to 1080p before any encoder tuning is the single biggest improvement you can make.
Codec choice. H.265 (HEVC) produces files about forty percent smaller than H.264 at equivalent quality. AV1 is roughly twenty percent smaller again. Both come with caveats: HEVC has patent licensing complications and uneven web-browser support; AV1 has hardware-decoding constraints on older devices. For files going to known-modern recipients, switching codecs is a free win in file size. For files going to unknown audiences, H.264 remains the safe choice. The codec explainer goes deeper on which to pick when.
Bitrate or quality target. Within a given codec, this is what you are actually controlling. You can set bitrate directly (give me 2 megabits per second) or set a perceptual quality target (CRF) and let the encoder vary bitrate to hit it. The latter is almost always what you want unless you have a strict file-size budget.
Frame rate. Less impactful than the others, but real. A 60 fps video stores twice as many frames as a 30 fps video. Modern codecs are good at predicting similar adjacent frames, so the size difference is closer to thirty percent than fifty, but it is still meaningful for size-constrained encodes. Drop frame rate when the clip does not need the extra temporal resolution — talking heads, screen recordings, slideshows.
Trim. The least technical lever and often the most effective. A six-second clip of the moment that matters is almost always more useful and dramatically smaller than a forty-second clip with thirty-four seconds of throat-clearing. If your video is too big and a chunk of it is not interesting, the right answer is to cut.
The CRF dial, demystified
The most useful single FFmpeg flag for compression is -crf, which stands for Constant Rate Factor. CRF is a perceptual-quality target — you tell the encoder what quality level you want, and it spends whatever bitrate is needed to hit it. Calm scenes get fewer bits, complex scenes get more, and perceived quality stays consistent across the whole video.
For H.264, useful CRF values are:
- CRF 18. Visually lossless. You will not be able to tell it apart from the source on any consumer screen. Useful when storage is cheap and you cannot afford any visible loss.
- CRF 23. The long-standing default. Excellent quality, moderate file size. Right for most everyday encoding tasks.
- CRF 28. Noticeably compressed if you look closely, but fine for casual viewing. File size is roughly half of CRF 23.
- CRF 32. Visibly compressed. Use only when file size dominates how the video looks.
For H.265, the equivalent values are about five higher (CRF 28 in H.265 is comparable to CRF 23 in H.264). For AV1 the scale shifts again — check the encoder documentation.
Target size mode, demystified
Sometimes you do not care about quality in the abstract; you care that the file is under twenty-five megabytes because Discord said so. In that case, you want bitrate targeting, not CRF.
The math is straightforward: file size in megabits equals bitrate in megabits per second times duration in seconds. To hit a target size, work out the total available bitrate, subtract a small amount for audio, and use the rest for video.
For a sixty-second clip targeting 25 megabytes (200 megabits), that is 200 / 60 ≈ 3.3 megabits per second total. Subtracting 128 kbps for audio leaves about 3.2 Mbps for video.
The browser-based compressor does this math for you when you pick a target size or platform preset. The command-line equivalent is:
``
ffmpeg -i input.mp4 -c:v libx264 -b:v 3.2M -maxrate 3.8M -bufsize 6.4M -c:a aac -b:a 128k output.mp4
`
The -maxrate and -bufsize` flags are guardrails that prevent very brief spikes from blowing past the budget.
A realistic worked example
Say you have a 4K iPhone clip that is two minutes long and 380 megabytes, and you want it under twenty-five megabytes for email.
Step one: downscale. The recipient is going to watch this on their laptop or phone, not a 4K display. Drop resolution to 1080p. This alone takes you from 380 MB to about 95 MB at equivalent quality — already most of the way there.
Step two: pick a target. Twenty-five megabytes over two minutes is about 1.7 Mbps total. That is on the low end of what looks acceptable at 1080p but workable.
Step three: re-encode. With those parameters and a target-size mode, the output lands around 24 megabytes. Quality is good in static scenes and slightly soft in fast-motion sections.
If quality matters more than the file size, the alternative is to target CRF 23, accept a file in the 35-to-45 megabyte range, and find a different way to deliver it (Google Drive link, WeTransfer, etc.). The honest answer is often that the email cap is the wrong constraint.
Where most file-size advice goes wrong
A few common pieces of advice that do not hold up:
- "Use a smaller codec." Codecs do not have a "size" in the way people sometimes think. H.265 is more efficient than H.264, but the difference is bounded by other factors — content complexity, resolution, target quality — and is far smaller than the resolution lever.
- "Zip the file." Zip and similar general-purpose compressors do almost nothing on video, because video is already heavily compressed by the codec. The redundancy zip looks for has already been removed.
- "Lossless compression with no quality loss." Marketing copy. True lossless video compression exists (FFV1, lossless H.264 at CRF 0) but produces files larger than the source if your source is already lossy — which it almost always is. Lossless means bit-identical to the input; if the input is a heavily-compressed phone clip, lossless re-encoding does not magically make it smaller.
- "Convert to MKV to save space." MKV and MP4 are containers. The video stream inside is what determines size. Switching containers changes file size by less than one percent.
When the answer is "do not compress"
If your file is destined for a platform that re-encodes everything on upload — YouTube, Instagram, TikTok, Reddit's native video — there is no point compressing first. The platform will discard your encoding and re-do it on the server using their own settings. Send the highest-quality source you can. The only exceptions are upload-time constraints (a strict file-size cap for the upload itself) or upload-time costs (a slow connection where smaller is faster).
Doing it from the browser
The video compressor on this site exposes target-size mode with platform presets (WhatsApp, Discord, email, Reddit), target-quality mode with CRF control, optional max-width downscaling, and audio bitrate selection. The compression runs locally in the browser tab. For a deeper dive on the WhatsApp-specific case, see Compress MP4 for WhatsApp.
Related reading
- Compress MP4 for WhatsApp — the specific case of hitting a hard upload limit.
- Video codecs explained — when to use H.264, H.265, or AV1.
- How FFmpeg works — what the engine is actually doing.
- Browser vs desktop FFmpeg — when to install desktop tools.
Ready to convert your video?
Use the Free FFmpeg Converter →