Handbrake Compress Video: CRF, Presets and Target Size

Handbrake Compress Video: CRF, Presets and Target Size Explained

The four settings that matter

Handbrake exposes dozens of controls, and the great majority of them will never change your output in a way you'd notice. When the goal is simply "make this file smaller without wrecking it", four settings do essentially all the work:

Constant Quality (RF) — the single biggest lever on file size. Encoder preset — how hard the encoder works, which trades time for efficiency. Resolution — whether you scale the picture down before encoding. Video encoder — H.264 versus H.265, which decides how much compression you get per unit of quality, and what will be able to play the result.

Everything else — the filters, the detelecine options, the audio passthrough matrix — matters for specific jobs, not for shrinking a file.

Constant Quality (RF) is the main dial

Handbrake calls it RF; the underlying encoder calls it CRF, Constant Rate Factor. Either way it's a quality target, not a size target. You tell the encoder how much visual fidelity to hold on to, and it spends whatever bitrate that costs — a lot on a complicated action scene, very little on a static talking-head shot. That's why a CRF encode has unpredictable output size and consistently predictable quality, which is the right trade for most work.

The scale runs 0 to 51 and it's inverted: lower numbers mean higher quality and bigger files. Zero is mathematically lossless and produces files larger than your source, which is almost never what anyone wants.

RF valueRoughly what you getWhen to use it
16–18Visually hard to tell from the sourceArchiving, footage you'll re-edit later
20–23The usual sweet spot; differences are hard to spot in normal viewingMost jobs — Handbrake defaults into this range
24–28Clearly smaller, with softness visible if you look for itSharing, uploads, long recordings
28+Visible blocking and smearing, especially in motionOnly when a hard size limit leaves no choice

A useful rule: a change of about ±6 in RF roughly halves or doubles the file size. If RF 22 gave you a 400MB file and you need something near 200MB, RF 28 is the neighborhood to try first — rather than nudging one step at a time and re-encoding five times.

One thing worth understanding: because RF targets quality rather than size, two clips encoded at the same RF can come out wildly different in megabytes. That's the system working as designed, not a bug — but it's exactly why RF is the wrong tool when you have a hard limit to clear.

Encoder preset: time versus efficiency

The preset dropdown — ultrafast through placebo — controls how much effort the encoder spends looking for compression opportunities. It does not control quality directly. At a fixed RF, a slower preset produces a smaller file at the same visual quality; a faster preset produces a larger file at the same visual quality, much sooner.

Medium is the default and is genuinely fine. Slow typically buys something like 5–10% off the file size for roughly double the encode time, which is worth it on a file you'll keep and not worth it on something you're sending in the next five minutes. Anything past slower hits diminishing returns fast — placebo exists mostly as a joke about that. Going the other way, ultrafast is genuinely useful when you need the job done now and don't care that the file is 30–40% larger than it had to be.

H.264 versus H.265

H.265 (HEVC) gets roughly the same quality as H.264 at somewhere around 25–50% less bitrate, depending on the content. That's a real, large saving — and it costs you compatibility and time. H.265 encodes considerably slower, and while support is now broad, "broad" still isn't "universal": older TVs, some editing software, certain upload forms and a few browsers will refuse an H.265 file that an H.264 file sails through.

The practical split: use H.264 when the file is going to someone else, to a platform, or into an upload form. Use H.265 when the file is for you — archiving a library, freeing up disk — and you control what plays it. If you have hardware encoding available (QuickSync, NVENC, VideoToolbox), it's dramatically faster than the software encoder, at the cost of a somewhat larger file for the same quality.

Hitting an exact file size with two-pass

RF can't hit a target size, because it isn't trying to. When you actually need "under 25MB", switch from Constant Quality to Avg Bitrate and tick 2-pass encoding.

On the first pass the encoder analyses the whole video without writing output, building a map of which sections are complex and which are simple. On the second it encodes for real, spending the bitrate budget where the map says it's needed. That's what lets it land close to a specified average bitrate — and therefore close to a specified file size — instead of merely hoping.

You still have to work out the bitrate yourself. The arithmetic:

target bitrate (kbps) ≈ (target size in MB × 8192) ÷ duration in seconds

Then subtract your audio bitrate, because the container carries both. For a 3-minute video into 25MB with 128kbps audio: 25 × 8192 = 204,800 kilobits; divided by 180 seconds = about 1,138 kbps total; minus 128 for audio leaves roughly 1,010 kbps for video. Aim a little under — 950 or so — because container overhead is real and landing at 25.4MB after all that is a miserable way to spend ten minutes.

Two-pass doubles encode time, which is the price of precision. And be honest about what a tight budget does: 1,010 kbps for 1080p content with a lot of motion will look rough regardless of how cleverly it's allocated. If the result is unacceptable, the answer is usually to drop the resolution to 720p rather than to keep squeezing — a sharp 720p picture reads better than a blocky 1080p one at the same bitrate.

Resolution: the setting people forget

Under the Dimensions tab, scaling 4K down to 1080p removes three quarters of the pixels before the encoder sees them. No CRF value competes with that for raw size reduction, and for anything that will be watched on a phone, in a social feed or in a video call, the lost resolution is invisible.

Handbrake won't do this for you unless you ask — the default preset keeps your source dimensions. If you're fighting a size limit and haven't checked whether your source is 4K, check first. It's frequently the whole problem.

Presets worth starting from

Handbrake's built-in presets are a reasonable starting point and a bad finishing point. Fast 1080p30 is the sensible general default — H.264, RF 22-ish, medium-fast preset, scaled to 1080p. The Web presets target common platform requirements and are a fine base for an upload. The Matroska group outputs MKV, which is excellent for archiving and a poor choice for anything you're sending to another person, since MKV support outside dedicated players is patchy.

Pick the closest preset, then change the two things that actually matter for your job — RF and resolution — rather than building a configuration from scratch.

Common questions

What are the best Handbrake settings for compressing video?

H.264, RF 22–24, preset Medium, scaled to 1080p if the source is 4K. That combination covers the large majority of "make this smaller" jobs. Move RF up toward 26–28 if it's still too large, and drop to 720p before you go past 28.

How do I compress a video to a specific size in Handbrake?

Switch from Constant Quality to Avg Bitrate, enable 2-pass encoding, and calculate the bitrate as (target MB × 8192) ÷ seconds, minus your audio bitrate. Aim slightly under your limit to absorb container overhead.

Is a lower RF number better in Handbrake?

Lower means higher quality and a larger file — the scale is inverted. RF 18 is high quality and big; RF 28 is heavily compressed and small. RF 0 is lossless and produces files larger than your source.

Does a slower Handbrake preset improve quality?

Not directly. At the same RF it gives you a smaller file at the same quality, by spending more time searching for compression opportunities. Slow is worth roughly 5–10% off the size for about double the encode time.

Why is my Handbrake output bigger than the original?

Almost always an RF set too low (near 0–16), or re-encoding a file that was already heavily compressed. An encoder can't recover detail that isn't there, but it will happily spend bitrate trying to reproduce existing compression artifacts faithfully.

Is there a faster option for one-off files?

For a single clip, the setup usually costs more than the encode. A browser-based compressor does the same bitrate arithmetic automatically from a target size in MB, with nothing to install — see the alternatives comparison for where each approach makes sense.

When Handbrake is the wrong tool

Handbrake is the right answer when you're batch-processing a library, need specific encoder parameters, or are doing this often enough that the settings panel becomes muscle memory. It's genuinely excellent software and it's free.

It's the wrong answer when you have one video, a deadline, and a size limit — because the fastest path there is typing the number you need rather than learning what RF means. That's the job SquishyFile is built for: enter a target size in MB and it works out the bitrate maths in your browser, with no install and no two-pass wait. Both tools have their place; the mistake is using the heavy one for a job that takes thirty seconds.

← Back to all posts