Video Formats & Browser Support
A complete reference of which video formats and codecs are supported across browsers, devices, and platforms.
Not all video formats play everywhere. This reference covers what works where, so you can make informed decisions about your output format.
Container Formats vs Codecs
A video file has two layers:
- Container (file format). The wrapper that holds video, audio, and metadata together. Examples:
.mp4,.webm,.mkv,.mov - Codec: The algorithm that compresses/decompresses the actual video data. Examples: H.264, H.265, VP9, AV1
The same container can hold different codecs. An .mp4 file usually contains H.264 video, but it can also contain H.265 or AV1. Browser support depends on both the container and the codec.
Browser Support Matrix
Desktop Browsers
| Codec | Chrome | Firefox | Safari | Edge |
|---|---|---|---|---|
| H.264 (MP4) | Yes | Yes | Yes | Yes |
| VP9 (WebM) | Yes | Yes | Yes (14.1+) | Yes |
| AV1 (MP4/WebM) | Yes (70+) | Yes (67+) | Yes (17+) | Yes (79+) |
| H.265/HEVC (MP4) | No | No | Yes (11+) | Partial |
| VP8 (WebM) | Yes | Yes | Yes (14.1+) | Yes |
Mobile Browsers
| Codec | iOS Safari | Chrome Android | Samsung Internet |
|---|---|---|---|
| H.264 (MP4) | Yes | Yes | Yes |
| VP9 (WebM) | Yes (15+) | Yes | Yes |
| AV1 (MP4/WebM) | Yes (17+) | Yes (device-dependent) | Partial |
| H.265/HEVC (MP4) | Yes (11+) | No | Partial |
Hardware Decoding Support
Hardware decoding matters for battery life and performance, especially on mobile:
| Codec | Apple Silicon | Intel (12th+) | AMD (RDNA 3+) | Qualcomm (8 Gen 2+) | Older devices |
|---|---|---|---|---|---|
| H.264 | Yes | Yes | Yes | Yes | Yes |
| VP9 | Yes (M1+) | Yes | Yes | Yes | Most (2018+) |
| AV1 | Yes (M3+) | Yes | Yes | Yes | No (software only) |
| H.265 | Yes | Yes | Yes | Yes | Most (2017+) |
Input Formats (What JuicePress Accepts)
JuicePress can read these container formats regardless of their internal codec:
| Format | Extension | Common Codecs Inside |
|---|---|---|
| MPEG-4 | .mp4 | H.264, H.265, MPEG-4 Part 2 |
| QuickTime | .mov | H.264, ProRes, HEVC |
| AVI | .avi | MPEG-4, DivX, Xvid, H.264 |
| Matroska | .mkv | H.264, H.265, VP9, AV1 |
| WebM | .webm | VP8, VP9, AV1 |
| GIF | .gif | GIF (LZW) |
Output Format (What JuicePress Produces)
JuicePress outputs H.264 video in an MP4 container. This is deliberate:
- 99%+ browser support. Works on every modern browser and device
- Universal hardware decoding. No software fallback needed, saves battery
- CMS and CDN compatibility. Every platform, CMS, and CDN handles MP4/H.264
- Social media ready. Twitter, LinkedIn, Facebook, Instagram all accept H.264 MP4
- No fallback needed. You don't need to serve multiple formats
When H.264 MP4 Isn't Enough
In rare cases you might need a different format:
| Scenario | Consider | Why |
|---|---|---|
| Bandwidth-critical at scale | AV1 with H.264 fallback | 40-50% smaller files |
| Transparency needed | WebM (VP9 with alpha) | H.264 doesn't support alpha channels |
| Apple ecosystem only | H.265/HEVC | Better compression than H.264, native Apple support |
| Archival / editing | ProRes (MOV) | Not for web delivery |
For 99% of websites, H.264 MP4 is the right choice. It's the format JuicePress is optimized for.
MIME Types for Serving Video
When serving video files, make sure your server sends the correct Content-Type header:
| Format | MIME Type |
|---|---|
| MP4 (H.264) | video/mp4 |
| WebM (VP9) | video/webm |
| MP4 (AV1) | video/mp4; codecs=av01.0.05M.08 |
Most web servers and CDNs handle .mp4 correctly out of the box. If your videos aren't playing, check the MIME type first.
