CRF vs Bitrate: Which One Should You Set?

Use CRF when you care how it looks. Use a bitrate when you care how big it is. That is the whole decision, and almost every "which settings should I use" question comes down to which of those two you are actually being asked for.

What each one does

CRF (constant rate factor) sets a quality level and lets the file size fall where it may. The encoder spends what each scene needs: a still interview costs little, a handheld shot of a waterfall costs a lot. You get consistent quality and an unpredictable size.

Bitrate (ABR/VBR with a target) sets the size and lets quality fall where it may. The encoder must fit the budget, so hard scenes get starved and easy scenes get more than they need. You get a predictable size and inconsistent quality.

The CRF scale

CRFQualityUse for
18Visually transparentMasters, footage you will edit again
20–21ExcellentArchiving, big screens
23–24Very goodThe sensible default for sharing
26–28AcceptableChat, email, anything size-constrained
30+Visibly degradedOnly when nothing else fits

Lower is better quality and a bigger file. Each +6 roughly halves the bitrate. The scale is not a percentage and it is not linear — CRF 46 is not "half as good as 23", it is unwatchable.

Why two-pass exists

When you must hit a size, one pass has to guess how hard the rest of the clip will be while it is still encoding the start. Two-pass measures the whole clip first, then distributes the budget knowing where the difficult scenes are. Same target, noticeably better result, and far more likely to land under the limit rather than near it.

That is why target-size mode here runs two passes and constant-quality mode runs one: with CRF there is no budget to distribute.

Rules of thumb

  • No hard limit? CRF 23–24, and stop thinking about it.
  • A hard limit (email, Discord, an upload form)? Target size, two-pass.
  • Target works out under ~0.04 bits per pixel per frame? Lower the resolution instead of accepting mush.
  • Uploading to YouTube, Instagram or TikTok? CRF at 1080p. They re-encode anyway; the size limit is not your constraint.

Compress an MP4 → Runs in your browser. Nothing is uploaded.

Compress on your iPhone

The app does this on the device, with nothing uploaded.