[ BLOG ]For Frontend Engineers · 8 min read

WebM vs MP4 — Which Video Format Is Best for the Web?

Ask this question in a developer forum and you’ll get a dozen opinions, most of them out of date. The web video format landscape has shifted significantly in the last few years — Safari added VP9 support, AV1 crossed the threshold into practical use, and H.265 remains a dead end for open web delivery. Here’s a clear-eyed look at what the landscape actually looks like in 2026, and what you should be shipping.

The short answer

Serve WebM (VP9) first, MP4 (H.264) as fallback. That combination covers every browser in active use today with near-optimal compression. Everything else is a refinement from there.

<video autoplay muted loop playsinline poster="clip.webp">
  <source src="clip.webm" type="video/webm" />
  <source src="clip.mp4"  type="video/mp4"  />
</video>

Container vs codec: clearing up the confusion

People often use “WebM” and “MP4” as if they’re codecs. They’re not — they’re containers. The codec is the algorithm that actually compresses the video data.

ContainerCommon video codecsExtension
MP4 (MPEG-4 Part 14)H.264, H.265/HEVC, AV1.mp4
WebMVP8, VP9, AV1.webm
MOV (QuickTime)H.264, ProRes, HEVC.mov

H.264 — the universal baseline

H.264 (also called AVC) in an MP4 container has been the bedrock of web video since 2010. 100% browser support, hardware-accelerated playback on every device made in the last decade. Its limitation is efficiency — it produces the largest files at a given quality level. Use H.264 as your fallback — never as your only source.

VP9 — the pragmatic modern choice

VP9 (in a WebM container) typically achieves 30–50% better compression than H.264 at the same perceived quality. Browser support as of 2026: Chrome, Firefox, Edge, Opera — all have had VP9 for years. Safari added VP9 support in version 16 (September 2022), which means all actively updated Apple devices now support it.

AV1 — the future that’s nearly ready

AV1 achieves roughly 20–30% better compression than VP9. Browser support as of 2026: Chrome 70+, Firefox 67+, Edge 80+, Safari 17+ (2023). The practical barrier is encoding speed: AV1 encodes significantly slower than VP9. Worth adding as a tertiary <source> if you can automate the encode pipeline:

<video autoplay muted loop playsinline poster="clip.webp">
  <source src="clip-av1.webm" type="video/webm; codecs=av01.0.05M.08" />
  <source src="clip-vp9.webm" type="video/webm" />
  <source src="clip.mp4"      type="video/mp4"  />
</video>

HEVC / H.265 — don’t use it for the web

Only Safari supports HEVC for web delivery. Chrome, Firefox, and Edge do not. Safari supports VP9 now, so there’s no reason to reach for HEVC. Skip it.

Browser support summary, 2026

CodecChromeFirefoxEdgeSafari
H.264 (MP4)
VP9 (WebM)✓ (v16+, 2022)
AV1 (WebM/MP4)✓ (v17+, 2023)
HEVC (MP4)partial

The practical recommendation

For 95% of projects: WebM (VP9) + MP4 (H.264). Two files, two <source> elements, done. ExportForWeb produces this pair automatically from a single drop.

[ TRY IT ]

Stop wrestling with video formats.

ExportForWeb handles the whole thing: WebM (VP9) + MP4 (H.264) + a WebP thumbnail, from a single drag-and-drop. Native macOS, no uploads.

Sign up for early access

Free during early access · macOS · Apple Silicon & Intel