VP9 is an open, royalty-free video compression format developed by Google and finalized in 2013 as the successor to VP8. Among video codecs, it targets the same efficiency class as H.265, delivering substantially smaller files than H.264 at comparable visual quality, and it is most closely associated with web streaming.
VP9 is usually carried in the WebM container, which is based on Matroska, although it can also be stored in MP4. Its design strongly influenced AV1, which later superseded it as the main open codec for new deployments.
How VP9 compresses video
VP9 is a block-based hybrid codec, like H.264 and H.265. Each frame is divided into blocks, each block is predicted from already decoded pixels, and only the prediction residual is transformed, quantized and entropy coded. The decoder repeats the same prediction and adds the decoded residual to reconstruct the image.
Its main tools differ from H.264 in scale and flexibility. Frames are split into 64×64 superblocks, which are recursively partitioned down to 4×4 blocks so that flat areas use large blocks and detailed areas use small ones. Residuals are transformed with DCT and ADST transforms from 4×4 up to 32×32, and an in-loop deblocking filter smooths block edges before frames are used as references.
Inter prediction uses up to three active reference frames selected from a pool of eight stored frames, with motion vectors at one-eighth pixel precision. VP9 also supports hidden alternate reference frames, which are encoded and used for prediction but never displayed, giving the encoder a high-quality anchor for the surrounding frames.
VP9 profiles and key parameters
VP9 defines four profiles that set the bit depth and chroma subsampling a decoder must handle. The profile matters most for HDR and professional use, because 8-bit decoders cannot play 10-bit streams.
| Profile | Bit depth | Chroma subsampling | Typical use |
|---|---|---|---|
| Profile 0 | 8-bit | 4:2:0 | Standard web streaming |
| Profile 1 | 8-bit | 4:2:2, 4:4:0, 4:4:4 | Screen content and higher chroma detail |
| Profile 2 | 10-bit or 12-bit | 4:2:0 | HDR streaming |
| Profile 3 | 10-bit or 12-bit | 4:2:2, 4:4:0, 4:4:4 | Rare professional workflows |
Encoder settings control the trade-off between file size, quality and speed. The reference encoder offers several rate control modes, and the table below summarizes the parameters that most often affect results.
| Parameter | What it controls | Practical guidance |
|---|---|---|
| Rate control mode | Constant quality, constrained quality, VBR or CBR | Constant quality for files, CBR for live |
| Quality value | Quantizer target, roughly 0 to 63 | Lower values give higher quality and larger files |
| Speed or cpu-used | Encoder search effort | Slow settings for on-demand, fast settings for real time |
| Two-pass encoding | Analysis before final encode | Improves bitrate distribution for on-demand video |
| Tiles | Parallel encoding and decoding regions | Useful for high resolutions and multicore decoding |
| Keyframe interval | Maximum distance between keyframes | Often a few seconds for adaptive streaming |
VP9 compared with H.264, H.265 and AV1
VP9 sits between H.264 and AV1 in the generational order of delivery codecs. Its compression efficiency is broadly comparable to H.265, while its licensing model is closer to AV1, which explains its strong adoption on the web and weaker adoption in broadcast.
| Codec | Licensing | Relative efficiency | Main strength |
|---|---|---|---|
| H.264 | Patent pools, royalties | Baseline | Universal hardware support |
| VP9 | Royalty-free | Much better than H.264 | Web streaming and browsers |
| H.265 | Multiple patent pools | Similar to VP9 | Broadcast, devices, HDR ecosystems |
| AV1 | Royalty-free | Better than VP9 | Next-generation streaming |
Efficiency comparisons depend heavily on the encoder implementation and settings, not only on the format. A carefully tuned VP9 encode can outperform a fast H.265 encode, so published gains should be read as ranges rather than fixed percentages.
Where VP9 is used
VP9 became a mainstream format for large video platforms that serve browsers and Android devices, because it reduced bandwidth without license fees. It is also a standard option in WebRTC, where its support for scalable coding helps conferencing servers send different quality layers to different participants.
| Scenario | Is VP9 a good fit | Reason |
|---|---|---|
| Adaptive web streaming to browsers | Yes | Wide browser support and lower bitrates than H.264 |
| Video conferencing in WebRTC | Yes | Scalable coding and royalty-free use |
| Older smart TVs and set-top boxes | Sometimes | Hardware decoding is not universal |
| Professional editing and mastering | No | Long-GOP delivery codec, not an intermediate |
| New services targeting modern devices | Consider AV1 first | Better efficiency where hardware support exists |
Services usually deploy VP9 as one rung in a multi-codec ladder, alongside H.264 for maximum compatibility and AV1 for the newest devices, and the player selects the best codec the device can decode efficiently.
Limitations and common mistakes
VP9’s main weakness is encoding cost. High-quality settings in the reference encoder are considerably slower than common H.264 encoders, which matters for large libraries and live production.
- Assuming hardware decoding exists on every target device, which can lead to high battery use or dropped frames.
- Using single-pass constant bitrate for on-demand files, which wastes bits on easy scenes and starves complex ones.
- Choosing Profile 0 for HDR, which cannot carry the required 10-bit signal.
- Editing VP9 directly, since long GOP structures make scrubbing slow; transcode to an intermediate codec first.
- Ignoring tile settings at 4K, which can limit multicore decoding performance.
A plain-language summary
VP9 is a method for shrinking video files so they can stream smoothly over the internet. It works by noticing what stays the same from one moment to the next and storing only the changes, much like describing a scene once and then only noting what moved.
Compared with the older and very common H.264 format, VP9 can deliver similar picture quality with noticeably less data. It is also free to use without license fees, which is why many websites adopted it for playback in web browsers.
An example from practice
An online education company streams thousands of hours of lecture video and wants to cut its bandwidth bill without lowering quality. Its existing ladder uses only H.264, from 360p up to 1080p.
The engineering team adds a parallel VP9 ladder encoded with two-pass constrained quality, keyframes every two seconds and tiles enabled for the 1080p rung. Browsers that support VP9 receive it automatically, while older devices continue to receive H.264.
After quality checks with objective metrics and viewing tests, the team finds that VP9 renditions reach similar visual quality at noticeably lower bitrates for most lectures, especially screen recordings with static slides. The trade-off is longer encoding time, which they handle by encoding new uploads overnight.