Export settings, answered

CRF or VBR for a video export?
Pick what you want to hold still.

Both are variable bitrate. The real choice is what you fix: CRF, which HandBrake calls Constant Quality, fixes a quality level and lets the file size land where it lands. A VBR bitrate target, which HandBrake recommends encoding in more than one pass, fixes the average data rate and lets the quality move. HandBrake recommends constant quality unless you have a reason not to. Our own review presets use 2-pass VBR, and this page explains why both of those are right.

See the plans

Video hosting for filmmakers · 5 GB free · Paid plans from USD 9/month

By uncompressed.io · Updated September 2026

The short answer

CRF when only the picture matters,
VBR when the size or data rate must be known.

If nothing downstream cares how big the file is, use a quality target. If a size limit, a storage budget or a stream that has to play over a real connection cares, use a bitrate target and give it two passes.

HandBrake says it plainly on its quality guide, a page that is not marked as a draft: “Always use constant quality unless you have a specific reason not to.” The same page notes that HandBrake’s default settings and most of its official presets use constant quality. A second HandBrake article, which HandBrake itself labels a draft that may contain incomplete or incorrect information, goes further: “Unless you really need to aim for a target filesize (which we recommend against), it is highly recommended that you use Constant Quality.”

That advice is written for the general case, where the file is watched from a disk or handed to a platform that encodes it again anyway. The exception it leaves open, a specific reason, is exactly the case of a file that is streamed to someone as it is. That is where we land, and the section on our presets below says so.

What each mode actually fixes

What you set, what floats,
what you give up.

The x265 documentation describes CRF as “quality-controlled variable bitrate” that does not try to reach any particular bitrate target. HandBrake’s draft article puts the other side in one line: with average bitrate you control the size of the output file but give up control over the video’s quality.

CRF / Constant Quality
2-pass VBR
1-pass average bitrate
Capped CRF
You set
A quality number(RF or CRF)
A target averagebitrate, often amaximum too
A target averagebitrate
A quality number plusa maximum rate anda buffer size
Whatfloats
File size and bitrate,set by the complexityof the picture
Quality from shotto shot
Quality, with lessplanning than two passes
Size, below the cap;quality on the busiestshots
Encodetime
One pass
Two passes; HandBrake'sdraft says up to twiceas long
One pass
One pass
Use itwhen
The file is kept orre-encoded later, andsize does not matter
Size or data ratemust be predictable
Rarely; HandBrake's draftrecommends multi-passwhen targeting a bitrate
You want quality firstwith a ceiling forstreaming

Sources: x265 Command Line Options (--crf, --bitrate, --pass, --vbv-maxrate, --vbv-bufsize) and HandBrake's draft article Constant Quality vs Average Bit Rate, both fetched 18 September 2026. x265 describes multi-pass as storing each pass in a stats file that the next pass uses to tune the quantizer of each frame.

Constant quality spends bits where the picture needs them, which HandBrake’s draft describes as not wasting bits on less complex frames. That is its strength, and also why its file size cannot be known before the encode finishes. A bitrate target turns that around: the size is known in advance, and the encoder has to share a fixed budget between easy and hard shots.

If you choose constant quality

HandBrake’s RF ranges,
and which way the scale runs.

Recommended RF, x264 and x265
480p / 576p
RF 18 to 22
720p
RF 19 to 23
1080p
RF 20 to 24
2160p (4K)
RF 22 to 28

HandBrake Documentation, Adjusting quality, fetched 18 September 2026. For these encoders a lower RF gives higher quality and a larger file. HandBrake notes the scale runs the other way for encoders such as Apple VideoToolbox. The draft Constant Quality article gives slightly different x264 figures; the table uses the non-draft page.

These are HandBrake’s numbers for HandBrake’s encoders. The x265 encoder’s own documentation gives its CRF range as 0 to 51 with a default of 28. We do not quote defaults or “visually lossless” values for other encoders here, because we could not verify them from their maintainers’ pages today.

What we do, and why

Our presets use 2-pass VBR, not CRF,
and that is deliberate.

The free export presets we publish for Premiere Pro and Media Encoder are set to VBR, 2-pass, with a target and a maximum. The Resolve preset restricts the bitrate and the Compressor setting uses a custom data rate. None of them uses a constant quality mode.

The reason is the specific reason HandBrake leaves room for. Browser playback uses your uploaded export without another platform re-encode. Codec, device and connection requirements still apply. There is no ladder of smaller versions for a slow connection to fall back on, so whatever data rate the export carries is the data rate the viewer’s connection has to sustain. A constant quality encode of a quiet interview can come out small, and the same RF on a snowstorm or a fast pan can come out much larger. With a bitrate target you know the number before you upload, for the stream and for your storage.

Our published spec asks for H.265 Main10, constant frame rate and 2-pass VBR. Our export table gives HEVC 40 to 80 Mbps for 4K and 16 to 32 Mbps for 1080p, both at 24 or 30 fps. The single starting point we give new members is 80 Mbps HEVC 10-bit, covering 1080p through 4K. Ten minutes at that rate is about 6 GB, which you can know before pressing export. The presets and the full table are on the export presets page.

A bitrate target is an average, not a flat line. Two-pass VBR still moves bits from calm shots to busy ones, and a maximum setting limits how far the peaks go. That is closer to what a constant quality encode does than the name suggests.

When constant quality is still the better call here

If you know your viewers are on fast, wired connections, or the film is downloaded rather than streamed, a constant quality export is a perfectly good upload. Nothing on our side re-encodes it. Check the average bitrate it produced before you send the link, as in the steps below.

A workflow you can repeat

Encode once at constant quality, measure,
then decide.

1

Encode at constant quality

Pick an RF inside HandBrake's range for your resolution. For x264 and x265, move it down for more quality and a bigger file, up for the opposite.

2

Work out the average bitrate

File size in megabytes, times 8, divided by the running time in seconds, gives megabits per second. A 6,000 MB file that runs 600 seconds averages 80 Mbps.

3

Compare it with the destination

A platform that re-encodes: the size hardly matters. A link streamed as uploaded: ask whether your viewer's connection sustains that average, with room for peaks.

4

Switch only if you need to

If the average is too high, or the size too big for your storage, re-export with 2-pass VBR at the rate you want, or cap the CRF encode if your tool allows it.

For a platform that re-encodes

Constant quality is fine. The platform builds its own versions, so your upload only needs to be a clean source. Stay with HandBrake's default advice.

For a disk, an archive or a download

Constant quality. Size is a storage question, and quality holding steady across the film is the point.

For a link streamed as uploaded

A bitrate target, or capped CRF. You are choosing the data rate the viewer has to receive, so choose it on purpose.

What a bitrate number buys in picture terms is covered in video bitrate explained, and the numbers people use for 4K are in what bitrate to export 4K video at.

Questions

Frequently asked

Is CRF better quality than 2-pass VBR?

Neither is better in general. HandBrake's draft article on the subject lists faster encoding as the benefit of Constant Quality, because it needs no second pass, and describes multi-pass as the way to get better quality and bit-rate distribution when you target a bitrate. Constant quality wins when you do not care what size comes out. A bitrate target wins when the size or the data rate is the thing you have to guarantee.

Isn't CRF a kind of VBR?

Yes. The x265 documentation describes CRF as quality-controlled variable bitrate. Export dialogs use VBR to mean a variable bitrate that aims at an average you type in, which is why the two get set against each other. The useful split is quality target versus bitrate target, not constant versus variable.

What CRF or RF value should I use?

HandBrake's quality guide gives RF ranges for its x264 and x265 encoders: 18 to 22 for 480p and 576p, 19 to 23 for 720p, 20 to 24 for 1080p and 22 to 28 for 2160p. Lower numbers mean higher quality and bigger files on those encoders. The scale runs the other way for some hardware encoders, such as Apple VideoToolbox, so check which encoder you picked before you copy a number.

Can I combine a quality target with a bitrate ceiling?

Yes, on x265. Its documentation says that both a VBV maximum rate and a VBV buffer size are required to enable VBV in CRF mode. That keeps the quality target on calm shots and caps the local bitrate on busy ones. Whether your export app exposes those two settings depends on the app.

The encode you choose is the one they see

uncompressed.io stores and streams the export you upload with no re-encode on our side, so your rate control decision reaches the viewer intact. Codec, device and connection still apply. Start on the free plan and test one file.