WebM works in Chrome 6+, Firefox 4+, Opera 10.60+, Edge 79+, Samsung Internet 4+, Safari 14.1+ on macOS, and iOS 15+. Learn WebM browser support and quirks.

Prince Dewani
May 1, 2026
WebM is an open, royalty-free media file format that the WebM Project released in 2010 for use in HTML5 video and audio. It supports Chrome 6+, Firefox 4+, Opera 10.60+, Edge 79+, Samsung Internet 4+, and Safari 14.1+ on macOS, while Safari 15+ on iOS adds WebM playback to iPhone and iPad. Internet Explorer never added native WebM support.
This guide covers what WebM is, the browsers that play it and on which systems, the trade-offs against MP4, how to check WebM support at runtime, and the known issues to plan around before you ship WebM video.
WebM is an open, royalty-free audio and video file format that Google introduced in May 2010 at Google I/O. It is based on a profile of the Matroska container, holds VP8, VP9, or AV1 video, and pairs that with Vorbis or Opus audio. The WebM Project, an open-source group, develops and maintains the format, and the Alliance for Open Media now stewards AV1 inside it. WebM is the default open video format on Chrome, Firefox, Opera, and Edge.
WebM works in every modern desktop browser and most mobile browsers, with Chrome, Firefox, and Opera supporting it since 2010 and 2011, and Safari adding native WebM support on macOS in April 2021 and on iOS in September 2021.
Chrome supports WebM from Chrome 6, released in September 2010, on Windows, macOS, Linux, and ChromeOS. VP8 video and Vorbis audio worked from the start, Chrome added VP9 in Chrome 29 in August 2013, and AV1 in WebM arrived in Chrome 70 in October 2018. Chrome 1 to 5 did not support WebM.
Microsoft Edge supports WebM in two ways. The legacy EdgeHTML browser supports VP9 in WebM from Edge 14 in August 2016, but only when the user installs the Web Media Extensions package from the Microsoft Store. Chromium Edge supports WebM by default from Edge 79 in January 2020 and follows the same codec rules as Chrome.
Firefox supports WebM from Firefox 4, released in March 2011, on Windows, macOS, Linux, and Android. VP8 and Vorbis worked from version 4, Firefox added VP9 in Firefox 28 in March 2014, and AV1 in WebM arrived in Firefox 67 on Windows in May 2019. Firefox 1 to 3.6 did not support WebM.
Safari supports WebM from Safari 14.1 on macOS Big Sur 11.3 and later, released April 29, 2021. Apple added VP8 and VP9 video with Vorbis audio in this version. Safari on iOS and iPadOS supports WebM from iOS 15 and iPadOS 15, released September 20, 2021. Safari 3 to 14.0 on macOS and iOS 3 to 14 did not support WebM playback.
Opera supports WebM from Opera 10.60, released July 1, 2010, the first browser to add native WebM. Modern Opera is built on Chromium and supports VP8, VP9, and AV1 inside WebM out of the box from Opera 16 in November 2013. Opera Mobile supports WebM from Opera Mobile 12 in March 2012 on Android.
Samsung Internet supports WebM from version 4, released in March 2016, on Galaxy phones and tablets. It is built on Chromium, so it supports VP8, VP9, and AV1 inside WebM by default and follows the same codec rules as Chrome for Android.
Chrome for Android supports WebM from Chrome 25, released in February 2013, on Android 4.0 and later. The legacy stock Android Browser added partial VP8 support in Android 2.3.3 (Gingerbread) in 2011 but never added VP9. On modern Android phones, use Chrome for Android, Firefox for Android, or Samsung Internet for full WebM support.
Internet Explorer does not support WebM in any version. Google released a WebM Components for IE9 plugin in January 2011, but Microsoft never added native WebM support in IE 9, 10, or 11. The plugin no longer installs on Windows 10 or 11. IE is end-of-life, so use a modern browser for any new WebM work.
WebM and MP4 are both modern video containers but differ in licensing, codec mix, and browser reach. MP4 is the older, more compatible default, while WebM is the open, royalty-free option built for the web.
| Dimension | WebM | MP4 |
|---|---|---|
| Container origin | Profile of Matroska, trimmed for the web | ISO Base Media File Format (ISO/IEC 14496-12) |
| Video codecs | VP8, VP9, AV1 | H.264, HEVC, AV1 |
| Audio codecs | Vorbis, Opus | AAC, AC-3, MP3 (Opus also legal, support uneven) |
| Licensing | Fully royalty-free | Container free; H.264 and HEVC inside carry patent fees from MPEG LA, Via LA, Access Advance |
| Browser reach | Chrome, Firefox, Edge, Opera, Safari 14.1+ on macOS, iOS 15+ on iPhone. Not in older Safari or any IE version. | Every modern desktop and mobile browser, including Internet Explorer 9+ |
| File size at same quality | VP9 about 25 to 50% smaller than H.264; AV1 the smallest | HEVC about 25 to 50% smaller than H.264; AV1 the smallest |
| Best fit | Open-web video, YouTube, Wikimedia, MediaRecorder output | Premium streaming, broadcast, anywhere H.264 or HEVC compatibility matters |
You can confirm WebM support inside any browser using the HTMLMediaElement.canPlayType() API or the MediaSource.isTypeSupported() API. Both return a string that tells you whether the browser will play WebM with a given video and audio codec combination.
The canPlayType() call returns one of three values: probably (the browser is sure it can play the file), maybe (likely yes), or "" (an empty string, which means no). Test each codec combination you plan to ship: VP8 with Vorbis for the widest reach, VP9 with Opus for better quality, or AV1 with Opus for the smallest files.
Paste this snippet into the browser DevTools console to confirm WebM support for the three common codec combinations:
// Run in the DevTools console of any browser to test WebM playback.
const v = document.createElement("video");
const canVp8 = v.canPlayType('video/webm; codecs="vp8, vorbis"');
const canVp9 = v.canPlayType('video/webm; codecs="vp9, opus"');
const canAv1 = v.canPlayType('video/webm; codecs="av01.0.04M.08, opus"');
console.log("WebM with VP8 + Vorbis:", canVp8 || "no");
console.log("WebM with VP9 + Opus:", canVp9 || "no");
console.log("WebM with AV1 + Opus:", canAv1 || "no");
if (window.MediaSource) {
console.log(
"MSE WebM (VP9 + Opus):",
MediaSource.isTypeSupported('video/webm; codecs="vp9, opus"')
);
}If every result is empty, the browser cannot play WebM and your page should fall back to MP4 with H.264. The webmproject.org/detect page also offers a one-click visual test using a small VP8 file.
Note: WebM playback breaks across older Safari, iOS, and Android Browser builds. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
WebM has the broadest open-source support of any web video format, but a few real edge cases still break in production. The biggest hits are older Safari versions, iOS playback quirks, and missing transparency in some browsers.
In my experience, the most surprising failure happens on iOS 14 and earlier. Safari silently shows the poster image and never fires the canplay event, so a JavaScript player that waits for canplay hangs forever. Always pair the <video> element with a <source type="video/mp4"> fallback when you target iPhone visitors.
All WebM version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance