CRF vs Bitrate
Which should you use?
Quick verdict
Use CRF when you want consistent perceptual quality and flexible file size - ideal for one-off encodes and archives. Use target bitrate (or 2-pass) when you must hit a specific file size or a fixed streaming data rate.
CRF (Constant Rate Factor) and target bitrate are two ways to control the output of an x264/x265 encode. They answer different questions: CRF asks how good should it look, while target bitrate asks how big should it be. The right choice depends on whether quality or file size is your fixed constraint.
With CRF you set a quality level and the encoder spends as many or as few bits as each scene needs, so the final size varies. With target bitrate you fix the data rate and quality varies with scene complexity. A 2-pass encode at a target bitrate analyzes the video first to distribute those bits more wisely.
At a glance
| Property | CRF | Bitrate |
|---|---|---|
| What it fixes | Perceptual quality | Data rate / size |
| What varies | File size | Quality per scene |
| Predictable size | No | Yes |
| Best for | One-off encodes, archives | Streaming, upload limits |
| Passes needed | Single pass | 1-pass or 2-pass |
| Lower value means | Better quality, bigger file | Smaller file, lower quality |
Choose CRF when
- You want consistent quality across the whole video
- The final file size does not need to be exact
- You are doing one-off encodes, re-encodes, or local archives
- You want the fastest single-pass workflow
Choose Bitrate when
- You must meet a hard file size limit
- You are streaming at a fixed data rate
- An upload or platform caps the bitrate
- You want 2-pass for the best quality at an exact size