The File Size Problem
A single 4K video from a modern phone can exceed 1 GB for just a few minutes of footage. A 2-hour movie in high quality can balloon to 20-40 GB. And if you are a content creator working with raw footage, storage costs spiral quickly.
Whether you need to shrink a video to fit an email attachment limit, free up storage space, upload faster to social media, or reduce bandwidth costs for streaming, understanding how to reduce video file size without destroying quality is an essential skill.
This guide presents seven proven methods, ranked from most effective to least, along with the exact settings and commands to implement each one. Every method comes with realistic expectations — how much space you will save and how much quality you will lose.

What Determines Video File Size?
Before diving into methods, understand the four factors that determine file size:
| Factor | Impact on File Size | Impact on Quality | Adjustable? |
|---|---|---|---|
| Resolution (pixels) | Very high (4x from 1080p to 4K) | Significant (sharpness) | Yes |
| Bitrate (kbps) | Direct relationship (2x bitrate = 2x size) | Moderate to significant | Yes |
| Codec efficiency | Very high (H.265 is 50% smaller than H.264) | None if done correctly | Yes |
| Duration | Linear (2x length = 2x size) | None | Yes (by trimming) |
| Frame rate | Moderate (60fps ~50% larger than 30fps) | Motion smoothness | Yes |
| Audio tracks | Low (typically 5-15% of total) | Hearing quality | Yes |
| Content complexity | High (action vs static content) | N/A (inherent to content) | No |
For a detailed explanation of bitrate and its impact, read our video bitrate explained guide.
Method 1: Use a More Efficient Codec (Biggest Impact)
Switching from H.264 to H.265 (HEVC) or AV1 can cut file size by 40-50% with no perceptible quality loss. This is the single most effective method.
Convert H.264 to H.265
ffmpeg -i input.mp4 -c:v libx265 -crf 24 -preset medium \
-tag:v hvc1 -c:a copy -movflags +faststart output_h265.mp4
The -tag:v hvc1 flag ensures compatibility with Apple devices. H.265 at CRF 24 is roughly equivalent to H.264 at CRF 18 in terms of visual quality, at half the file size.
Convert to AV1 (Maximum Compression)
AV1 achieves about 30% better compression than H.265, but encoding is significantly slower:
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -cpu-used 4 \
-c:a copy -movflags +faststart output_av1.mp4
For a detailed codec comparison, see our H.265 vs H.264 vs AV1 article and our VP9 vs AV1 comparison.
Pro Tip: If encoding time matters (and it usually does), H.265 offers the best balance of compression, speed, and compatibility. AV1 provides better compression but can take 5-20x longer to encode. Use AV1 for archival or content that will be viewed millions of times (where the encoding cost is amortized). For everyday use, H.265 is the sweet spot.
Method 2: Reduce Resolution
Downscaling resolution has a massive impact on file size. Going from 4K to 1080p cuts the pixel count by 75%, and the file size typically drops by 60-70%.
# Downscale 4K to 1080p
ffmpeg -i input_4k.mp4 -vf "scale=1920:1080" \
-c:v libx264 -crf 18 -c:a copy -movflags +faststart output_1080p.mp4
# Downscale to 720p
ffmpeg -i input.mp4 -vf "scale=1280:720" \
-c:v libx264 -crf 20 -c:a copy -movflags +faststart output_720p.mp4
Resolution Reduction Impact
| Reduction | Pixel Count Change | Typical File Size Reduction | Quality Impact |
|---|---|---|---|
| 4K to 1080p | 75% fewer pixels | 60-70% smaller | Not noticeable on phones/laptops |
| 1080p to 720p | 56% fewer pixels | 40-50% smaller | Slight softness on large screens |
| 1080p to 480p | 78% fewer pixels | 70-80% smaller | Noticeable softness |
| 720p to 480p | 50% fewer pixels | 35-45% smaller | Moderate softness |
For more on resolution choices, see our 4K video conversion guide.
Method 3: Adjust Bitrate / CRF Value
Increasing the CRF value (lower quality) or setting a target bitrate directly controls file size:
CRF Method (Variable Bitrate — Recommended)
# CRF 23 (default, good quality)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a copy output.mp4
# CRF 28 (smaller, acceptable quality)
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -c:a copy output.mp4
# CRF 32 (much smaller, noticeable quality loss)
ffmpeg -i input.mp4 -c:v libx264 -crf 32 -c:a copy output.mp4
Target Bitrate Method (Predictable File Size)
When you need a specific file size:
# Calculate: target_bitrate = (target_size_MB * 8192) / duration_seconds - audio_bitrate
# Example: 100 MB target, 600 seconds, 128k audio
# (100 * 8192) / 600 - 128 = ~1238 kbps
ffmpeg -i input.mp4 -c:v libx264 -b:v 1238k -pass 1 -an -f null /dev/null && \
ffmpeg -i input.mp4 -c:v libx264 -b:v 1238k -pass 2 \
-c:a aac -b:a 128k -movflags +faststart output.mp4
Two-pass encoding analyzes the content first, then distributes bits optimally for the target bitrate.

Method 4: Reduce Frame Rate
Many videos are recorded at 60 fps when 30 or 24 fps would be perfectly fine. Halving the frame rate roughly halves the data needed:
# Reduce from 60fps to 30fps
ffmpeg -i input_60fps.mp4 -r 30 -c:v libx264 -crf 18 \
-c:a copy -movflags +faststart output_30fps.mp4
# Reduce to 24fps (cinematic look)
ffmpeg -i input.mp4 -r 24 -c:v libx264 -crf 18 \
-c:a copy -movflags +faststart output_24fps.mp4
For understanding when different frame rates are appropriate, read our frame rate guide.
Pro Tip: Do not reduce frame rate for gameplay footage, sports, or fast-motion content — the motion blur and judder at lower frame rates is very noticeable. Frame rate reduction works best for talking-head videos, presentations, tutorials, and relatively static content.
Method 5: Trim Unnecessary Content
Often the simplest method: cut out the parts you do not need. Intros, outros, pauses, and off-topic sections can account for 20-40% of a video's duration.
# Keep only from 30 seconds to 5 minutes
ffmpeg -ss 00:00:30 -to 00:05:00 -i input.mp4 \
-c copy -movflags +faststart trimmed.mp4
Our video trimmer provides a visual timeline for precise trimming. Since this uses -c copy, it happens instantly with no re-encoding.
Method 6: Optimize Audio Tracks
Audio typically accounts for 5-15% of video file size, but optimizing it adds up, especially for long recordings:
Reduce Audio Bitrate
# Lower audio bitrate from 320k to 128k (stereo)
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 128k output.mp4
# Use 96k for voice/podcast content
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 96k output.mp4
Convert Stereo to Mono
For content where stereo is unnecessary (lectures, podcasts, meetings):
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 64k -ac 1 output.mp4
Remove Audio Entirely
For B-roll, ambient footage, or silent presentations:
ffmpeg -i input.mp4 -c:v copy -an output_no_audio.mp4
For more on audio optimization, see our audio bitrate quality guide.
Method 7: Use Our Video Compressor (Easiest)
If you want to reduce file size without learning FFmpeg commands, our video compressor does everything automatically:
- Upload your video to the video compressor.
- Choose your target: small file, balanced, or high quality.
- The compressor automatically selects the best codec, resolution, and bitrate.
- Download the compressed video.
This is the fastest method for non-technical users and produces excellent results. The compressor intelligently analyzes your content and applies the optimal combination of the methods described in this guide.
Real-World Compression Results
Here is what you can expect when applying these methods to a typical 10-minute 1080p video (originally 800 MB in H.264):
| Method Applied | Resulting Size | Reduction | Quality Impact |
|---|---|---|---|
| Original (H.264, CRF 18) | 800 MB | Baseline | Reference |
| CRF 23 (raise CRF only) | 400 MB | 50% | Barely noticeable |
| H.265, CRF 24 | 200 MB | 75% | Imperceptible |
| H.265 + 720p | 100 MB | 87% | Slight softness on big screens |
| H.265 + 720p + 30fps | 70 MB | 91% | Soft + reduced motion smoothness |
| H.265 + 720p + 30fps + mono audio | 60 MB | 92% | Soft + mono audio |
| AV1 + 720p + 30fps | 50 MB | 94% | Soft (very slow encoding) |
Combining Methods: Recipes for Common Goals
Email Attachment (Under 25 MB)
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset fast \
-vf "scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease" \
-c:a aac -b:a 96k -ac 1 -tag:v hvc1 \
-movflags +faststart output_email.mp4
See our best video format for email for more tips.
WhatsApp Sharing (Under 16 MB)
ffmpeg -i input.mp4 -c:v libx264 -crf 30 -preset fast \
-vf "scale='min(854,iw)':'min(480,ih)':force_original_aspect_ratio=decrease" \
-c:a aac -b:a 64k -ac 1 -movflags +faststart output_whatsapp.mp4
YouTube Upload (Maximum Quality at Reasonable Size)
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow \
-c:a aac -b:a 192k -movflags +faststart output_youtube.mp4
See our best video settings for YouTube for platform-specific recommendations.
Archive Storage (Smallest Possible, High Quality)
ffmpeg -i input.mp4 -c:v libx265 -crf 22 -preset slow \
-c:a aac -b:a 128k -tag:v hvc1 \
-movflags +faststart output_archive.mp4

What NOT to Do
Avoid these common mistakes when reducing video file size:
- Re-encoding an already compressed video multiple times: Each re-encode introduces generational quality loss. Always work from the original source.
- Using
-crf 0thinking it means "best quality": CRF 0 is lossless and creates enormous files. CRF 18-23 is the sweet spot for H.264. - Reducing resolution below what the platform supports: Uploading 360p to YouTube in 2026 looks terrible on any screen.
- Ignoring the
-movflags +faststartflag: Without it, MP4 files cannot start playing until fully downloaded. - Setting audio bitrate too low for music content: Music needs at least 128 kbps AAC. Speech can go as low as 64 kbps mono.
For a deeper dive into quality preservation during conversion, see our guide on compressing video without losing quality.
Hardware-Accelerated Encoding
If encoding speed is a bottleneck, use GPU acceleration:
# NVIDIA GPU (NVENC)
ffmpeg -i input.mp4 -c:v hevc_nvenc -preset p6 -cq 28 \
-c:a copy output.mp4
# Apple Silicon (VideoToolbox)
ffmpeg -i input.mp4 -c:v hevc_videotoolbox -q:v 60 \
-c:a copy output.mp4
# Intel Quick Sync
ffmpeg -i input.mp4 -c:v hevc_qsv -global_quality 25 \
-c:a copy output.mp4
Hardware encoding is 5-10x faster than software encoding but produces slightly larger files at the same quality. It is ideal for real-time processing or when you have many files to compress.
Summary
Reducing video file size is about making informed trade-offs. The seven methods, ranked by impact:
- Switch to a modern codec (H.265/AV1) — 40-60% reduction, no visible quality loss
- Reduce resolution — 40-70% reduction, slight softness
- Increase CRF/reduce bitrate — 20-60% reduction, variable quality impact
- Reduce frame rate — 20-50% reduction, less smooth motion
- Trim unnecessary content — Variable, no quality loss
- Optimize audio — 5-15% reduction, minimal impact
- Use our video compressor — Automated, balanced results
For most people, method 1 (modern codec) combined with method 3 (sensible CRF) delivers the best results. Use our online video compressor for a one-click solution, or the FFmpeg commands in this guide for full control over every parameter.



