Halloween specialTrick or treat — fix the footage!All three plans are reduced. The perpetual license saves $30Through Nov 2, 11:59 p.m. PT

See pricing

How to Reduce Video File Size Without Visibly Losing Quality (Tested)

We shrank a 49 MB phone-style video by 77 to 94 percent and scored every result. Here's which settings cut size and which ones cost you picture quality.

Key takeaways

  • File size is bitrate times duration. To shrink a file, spend fewer bits per second where your eyes won't notice.
  • Phone and screen recordings use a high, fixed bitrate; re-encoding them at a constant quality setting cut our test file by 77 percent for a 1.9-point drop in VMAF.
  • H.265 halved the size again at a similar score; slower presets barely helped.
  • At the same file size, keeping the resolution and raising compression scored higher than shrinking to 720p.
  • Compress once from the highest-quality copy, and check the result at full screen before you delete the original.

You can usually cut a video file to a fraction of its size without a visible difference, because most cameras and screen recorders write far more data than the picture needs. The trick is to re-encode at a constant quality instead of a fixed bitrate, and to pick an efficient codec.

Every re-encode loses something, so "without losing quality" really means "without losing quality you can see." In this guide, you'll learn what makes video files big, which settings we measured to shrink a file the most for the least visible change, how to hit a target size, and how to do it in KwaFlux or with FFmpeg.

Contents

  1. What makes a video file big
  2. Our test: seven ways to shrink one file
  3. Which method should you choose?
  4. Method 1: Re-encode at a constant quality (CRF)
  5. Method 2: Switch to H.265
  6. Method 3: Hit a target size
  7. Smaller wins: audio, tracks, length
  8. How to do it in KwaFlux
  9. Common problems
  10. FAQ

What makes a video file big

A video's file size is its bitrate multiplied by its duration, plus a little for the container. A one-minute clip at 16 Mbps is 16 × 60 ÷ 8 = 120 MB, whatever its resolution. So there are only a few levers:

  • Bitrate: how many bits each second gets. The biggest lever by far.
  • Codec efficiency: newer codecs such as H.265 and AV1 describe the same picture in fewer bits than H.264.
  • Resolution and frame rate: fewer pixels or frames need fewer bits, but cost detail or smoothness.
  • Audio: usually a small share, but not zero.
  • Duration: trimming makes a file smaller with no quality cost at all.

Phones and screen recorders use fast hardware encoders at a generous fixed bitrate, so they can keep up in real time. That leaves a lot of room for a slower, smarter encoder.

Our test: seven ways to shrink one file

We made a "phone-style" original, 30 seconds of 1080p film encoded with a fast encoder set to 16 Mbps (49.2 MB, about 13 Mbps on average), then shrank it seven ways. We scored every result with VMAF (0 to 100, higher is closer to the master) against the uncompressed master, the same way we scored the original. All results use 128 kbps AAC audio.

ResultSizeSmaller byVMAFEncode time
Original (16 Mbps target, fast encoder)49.2 MB—83.1—
H.264, CRF 20, medium11.2 MB77%81.211 s
H.264, CRF 20, slow10.9 MB78%81.216 s
H.264, CRF 23, medium7.4 MB85%80.19 s
H.265, CRF 24, medium4.7 MB90%79.736 s
H.264, two-pass to a 5 MB target5.2 MB89%78.2not timed
H.265, CRF 28, medium2.8 MB94%77.330 s
H.265, CRF 24, scaled to 720p2.7 MB95%75.121 s

The test footage is from Tears of Steel (CC BY 3.0); times are from one Intel laptop CPU.

What the numbers say:

  1. Most of the saving is free. Going from a fixed 16 Mbps setting to CRF 20 cut 77 percent of the size for a 1.9-point drop, a difference hard to spot at normal viewing.
  2. H.265 is the next big step. CRF 24 in H.265 was less than half the size of H.264 CRF 20, at a slightly lower score, and it took about three times as long to encode.
  3. Slower presets are a small gain. "Slow" saved 3 percent over "medium" here.
  4. Don't downscale to save space if people watch on big screens. At almost the same size, the 1080p H.265 CRF 28 file scored 77.3 and the 720p file 75.1.

Which method should you choose?

Your goalMethodTypical setting
Smaller file, plays everywhereMethod 1H.264, CRF 20 to 23
Smallest file at good quality, modern devicesMethod 2H.265, CRF 24 to 28
Must fit a limit (email, chat, form upload)Method 3Two-pass to the target size
Archive the originalDon't compressKeep the camera file
Upload to a platform that re-encodesMethod 1 at CRF 18 to 20Give the platform a clean, not tiny, file

For more on how the codecs compare, see H.264 vs H.265 vs AV1.

Method 1: Re-encode at a constant quality (CRF)

CRF (constant rate factor) tells the encoder to hold a quality level and use only the bits each scene needs: few on still shots, more on action. Lower numbers mean higher quality and bigger files; for H.264, 18 to 23 covers most uses.

ffmpeg -i input.mp4 -c:v libx264 -preset medium -crf 20 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4

-movflags +faststart moves the index to the front, so the file starts playing before it has fully downloaded.

Method 2: Switch to H.265

H.265 (HEVC) needs roughly half the bits of H.264 for similar quality, at the cost of slower encoding and less support on old devices and some web browsers.

ffmpeg -i input.mp4 -c:v libx265 -preset medium -crf 24 -pix_fmt yuv420p -tag:v hvc1 -c:a aac -b:a 128k -movflags +faststart output.mp4

-tag:v hvc1 lets Apple devices and QuickTime recognize the file. H.265 CRF numbers aren't the same scale as H.264's: CRF 24 in H.265 landed close to CRF 23 in H.264 in our test, at a much smaller size.

Sidenote: AV1 compresses better still, but encoding is slow on most computers and older phones can't play it smoothly. For sharing today, H.265 is the safer step down.

Method 3: Hit a target size

When a file must fit a limit, work backwards from the size:

  1. Target size in megabits: megabytes × 8. For 25 MB, that's 200 megabits.
  2. Divide by the duration in seconds. For 60 seconds, that's 3.33 Mbps in total.
  3. Subtract the audio. With 128 kbps audio, about 3.2 Mbps is left for video.
  4. Leave a few percent for the container: aim for about 3.1 Mbps.

Then encode in two passes, so the encoder can spread the bits where they're needed:

ffmpeg -y -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 1 -an -f null NUL
ffmpeg -i input.mp4 -c:v libx264 -preset medium -b:v 3100k -pass 2 -c:a aac -b:a 128k -movflags +faststart output.mp4

On macOS, write /dev/null instead of NUL. In our test, aiming at 4.98 MB produced 5.18 MB, about 4 percent over, so leave that margin if the limit is strict.

Smaller wins: audio, tracks, length

  • Audio: 128 kbps AAC is plenty for speech and most music. Going from 256 to 128 kbps saves about 1 MB per minute.
  • Extra tracks: remove commentary, second-language, or data tracks you don't need. -map 0:v:0 -map 0:a:0 keeps only the first video and audio track.
  • Length: trim the parts nobody needs. It's the only change with no quality cost at all.
  • Frame rate: a 60 fps screen recording of slides can go to 30 fps. Keep 60 fps for games and sport.

How to do it in KwaFlux

KwaFlux's Compressor (module Video & Audio Compression) shrinks video and audio in batches without command lines:

  1. In the sidebar, open Compressor and add or drop your files. Images are skipped; the Compressor handles video and audio only.
  2. Under Compression method, choose Quality first, then High quality (hard to tell apart from the original; saves less space), Balanced (a balance of quality and size), or Smallest file (smallest size; the drop in quality is visible), or choose Size first and type a Target size when the file must fit a limit.
  3. Start compressing. Each finished file reports "Compressed from … to …". If a target is so small that keeping the size would look poor, KwaFlux resizes the picture and says so. If compressing wouldn't make a file smaller, you get a copy of the original instead of a worse file.

For a specific codec, such as H.265 in MP4, use Converter and choose the format and codec there.

Common problems

ProblemLikely causeFix
Compressed file is bigger than the originalThe original was already efficientKeep the original; nothing to gain
H.265 file won't play on an old TV or in a browserNo HEVC decoderUse H.264 at CRF 20 to 23
Video looks blocky in dark or fast scenesCRF too high or target too smallLower the CRF by 2, or allow a bigger target
File missed the target sizeContainer overhead and audioAim 4 to 5 percent under the limit
Colors look washed out after compressing10-bit or HDR source converted to 8-bit SDR without tone mappingKeep HDR in H.265 10-bit, or tone-map first
Platform made it blurry anywayThe platform re-encodes every uploadUpload a cleaner file, around CRF 18 to 20

Final thoughts

Shrinking a video well is mostly about not wasting bits: switch from a fixed bitrate to a constant quality, move to H.265 when your viewers' devices can play it, and work backwards from the limit when you must fit one. Compress once from the highest-quality copy, and keep the original until you've checked the result. For why repeated compression adds up, see why downloaded videos look blurry.

Shrink videos in batches, on your own computer

KwaFlux's Compressor and Video Converter reduce video and audio by quality or by target size. Media files are not uploaded for processing. It runs on Windows 10 (64-bit, version 1809 or later), Windows 11, and macOS 12 or newer on Apple Silicon. Importing files and exploring the app need no account. Signing in with an active paid plan is required only to export, convert, repair a file, or download a file from a link.

Download KwaFlux · See plans

Try It on Your Own Footage

Download KwaFlux and preview effects on your own footage for free before you pay — no account needed, and your media is processed on your GPU, not uploaded for processing. Video previews run 1, 3, or 5 seconds; stabilization previews run 5, 15, or 30 seconds.

Frequently asked questions

How can I compress a video without losing quality?

Re-encode at a constant quality setting instead of a fixed bitrate, and use an efficient codec. Every re-encode loses a little, but CRF 20 in H.264 cut our test file by 77 percent with a difference hard to spot.

Is H.265 smaller than H.264 at the same quality?

Yes, usually by around half. In our test, H.265 at CRF 24 was 4.7 MB against 11.2 MB for H.264 at CRF 20, with a slightly lower score. It takes longer to encode and isn't supported everywhere. See H.264 vs H.265 vs AV1.

Does lowering the resolution reduce file size?

Yes, but it's often the wrong lever. At almost the same size, our 720p file scored lower than a 1080p file with more compression. Downscale only if viewers watch on small screens. See is higher resolution better?

What CRF value should I use?

For H.264, 18 to 23 covers most uses: 18 for near-original quality, 23 for sharing. For H.265, about 22 to 28. Test two values on a short clip and compare at full screen.

Why is my phone video so large?

Because phones encode in real time with fast hardware at a high fixed bitrate, which leaves a lot of room. A slower encoder at a constant quality can describe the same picture in far fewer bits.

Sources

  1. Blender Foundation, Tears of Steel (CC BY 3.0, test clip) (accessed 2026-10-27)
  2. FFmpeg Codecs Documentation (libx264, libx265, aac) (accessed 2026-10-27)
  3. FFmpeg Wiki, "Encode/H.264" (CRF, presets, two-pass) (accessed 2026-10-27)
  4. FFmpeg Wiki, "Encode/H.265" (accessed 2026-10-27)
  5. Netflix, "VMAF" repository (vmaf_v0.6.1.json model) (accessed 2026-10-27)
  • H.265
  • convert

KwaFlux writer and editor. Articles are reviewed by the KwaFlux editorial team and based on our product research notes and published specifications.