# Check browser media support

Canonical URL: https://encode.wiki/reference/browser-support-check/
Content version: ca42e61ede0a24f789d7287a0001244ad22f4abf
Status: current
License: CC BY-SA 4.0
Checksum (SHA-256): af61dfbc8ddd7e705c3ae38b614014434b826c8a96f8bcbb8ae347ed33fc606b

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.

<BrowserSupportCheck />

## 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](https://html.spec.whatwg.org/multipage/media.html#dom-navigator-canplaytype),
the [MSE specification](https://www.w3.org/TR/media-source-2/#dom-mediasource-istypesupported) and the
[Media Capabilities specification](https://www.w3.org/TR/media-capabilities/).

- **HTML media** uses `canPlayType()`. An empty result means no declared support. `maybe` and
  `probably` are 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](https://www.webmproject.org/vp9/levels/) 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](/reference/video-codec-support/), the
[image codec overview](/codecs/images/) and the [audio codec overview](/codecs/audio/).
