Check browser media support
The table below asks this browser which codec and container combinations it supports, through three media APIs. A positive answer is a declaration, not a decoded file, so play a real output file before you ship it.
Checks run when you press the button.
Positive declaration · Not advertised · Uncertain prediction or API limitation
| Configuration | HTML media | MSE | File decode / smooth / power efficient |
|---|---|---|---|
| AVC Baseline, 8-bit | Not checked | Not checked | Not checked |
| AV1 Main, 8-bit | Not checked | Not checked | Not checked |
| AV1 Main, 10-bit | Not checked | Not checked | Not checked |
| VP8 | Not checked | Not checked | Not checked |
| VP9 profile 0, 8-bit | Not checked | Not checked | Not checked |
| VP9 profile 2, 10-bit | Not checked | Not checked | Not checked |
| HEVC Main | Not checked | Not checked | Not checked |
| AAC LC | Not checked | Not checked | Not checked |
| Opus in WebM | Not checked | Not checked | Not checked |
| Opus in Ogg | Not checked | Not checked | Not checked |
Video probes use 640×360, 30 fps and 500 kbit/s; audio uses stereo, 48 kHz and 128 kbit/s. No media is downloaded or played. Results describe this browser session and do not certify a real file, HDR, DRM or hardware decoding.
Interpret the declarations
Section titled “Interpret the declarations”Each result has a text label beside its icon:
- ✅ is a positive declaration: HTML
probably, MSE support, or a positive decode, smoothness or power-efficiency prediction. - ❌ means the queried API does not advertise support for that configuration. A different container, profile, API or application may still play.
- ⚠️ is HTML
maybe, a missing or rejected API, or a supported configuration without a positive smoothness or power-efficiency prediction.
File decoding, smoothness and power efficiency have separate icons, so a supported result can appear with warnings on the other two. The labels follow the HTML media standard, the MSE specification and the Media Capabilities specification.
- HTML media uses
canPlayType(). An empty result means no declared support.maybeandprobablyare predictions, not a successful decode. - MSE uses
MediaSource.isTypeSupported(). You still need valid initialization segments, timestamps and appends. - File decode uses
MediaCapabilities.decodingInfo()for the listed size, frame rate and bitrate. Its smoothness and power-efficiency predictions do not name a specific hardware decoder.
The VP9 queries use level 2.1 codec strings because the probe configuration (640×360, 30 fps, 500 kbit/s) exceeds VP9 level 1.0 in picture size, sample rate and bitrate.
These probes do not cover image formats, DRM, encrypted media, WebCodecs encoding, or every codec in this wiki. A missing API is not the same as an unsupported codec. A positive 8-bit 4:2:0 result does not extend to 10- or 12-bit, 4:2:2, 4:4:4 or HDR playback.
For format-level detail, see video codec support, the image codec overview and the audio codec overview.