Opus plays in Chrome 33+, Edge 14+, Firefox 15+, Opera 20+, Safari 11+ on macOS and iOS, and Samsung Internet 5+. Learn the codec, containers, limits.

Prince Dewani
May 6, 2026
Opus is an open, royalty-free audio codec from the Xiph.Org Foundation that the IETF standardized as RFC 6716, combining the SILK speech codec with the CELT music codec. It plays in Chrome 33+, Edge 14+, Firefox 15+, Opera 20+, Safari 11+, and Samsung Internet 5+, while Internet Explorer and Opera Mini never added support.
This guide covers what Opus is, the browsers that support it, the key features, the containers that carry it, common use cases, and the known issues.
Opus is a lossy audio codec that handles speech and music in a single bitstream. The Xiph.Org Foundation built it on the SILK speech codec from Skype and the CELT music codec from Xiph, and the IETF published it as RFC 6716. The standard MIME type is audio/ogg with codecs=opus.
Every modern browser engine plays Opus inside the HTML5 audio element on desktop and mobile, with global support sitting around 96.7% of all web traffic, while Internet Explorer and Opera Mini are the only holdouts.
Chrome supports Opus from Chrome 33 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 4 to 32 did not ship an Opus decoder, since the codec only landed when libopus matured in the Chromium media stack. Chrome plays Opus inside Ogg, WebM, and MP4 containers through the audio element and through Media Source Extensions.
Microsoft Edge supports Opus from Edge 14 on Windows. Pre-Chromium EdgeHTML 14 to 18 used the Windows Media Foundation pipeline, while Chromium-based Edge 79+ on Windows, macOS, and Linux shares the Opus decoder with Chrome. Edge for Android plays Opus through the same Chromium media stack.
Firefox supports Opus from Firefox 15 on Windows, macOS, and Linux, and from the same Firefox release on Android. Mozilla bundles a software Opus decoder, which means the codec works on every desktop and mobile build without an OS-level dependency or hardware decoder.
Safari support for Opus is split between iOS and macOS. Safari 11 to 18.3 played Opus only when packaged in a CAF file on macOS High Sierra and iOS 11. Safari 18.4 on macOS Sequoia 15.4, iOS 18.4, iPadOS 18.4, and visionOS 2.4 added Opus inside Ogg containers, which closed the long-standing gap with Chrome and Firefox. Opus inside MP4 still does not play on Safari's audio element.
Opera supports Opus from Opera 20 on Windows, macOS, and Linux, the build that tracked Chromium 33. Opera 9 to 19 did not ship an Opus decoder. Opera Mobile on Android adds Opus from Opera Mobile 80, while Opera Mini does not play Opus on any version because Opera Mini renders pages on a server-side proxy that strips the audio element.
Samsung Internet supports Opus from version 5.0 on Galaxy phones and tablets, since the browser ships the Chromium media stack. The Opus decoder is on by default, so Galaxy users do not need to flip a setting in the app. Opus inside WebM and Opus inside Ogg both work on Samsung Internet 5.0 and later.
Chrome for Android supports Opus from Chrome 33, so any current Android phone or tablet running Chrome plays Opus inside the HTML5 audio element. Firefox for Android also supports Opus from Firefox 15. The Android System WebView used by in-app browsers tracks Chrome and inherits Opus support automatically.
Internet Explorer does not support Opus in any version from IE 5.5 to IE 11. The Trident engine never added an Opus decoder, and IE relied on the older DirectShow stack which had no public Opus filter. Microsoft has retired Internet Explorer 11, so move Opus-dependent web apps to Chromium-based Edge or Chrome for any new work.
Note: Opus playback breaks across older Safari, Internet Explorer, and Opera Mini. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!
Opus pairs voice-and-music versatility with a wide bitrate range and the lowest latency of any general-purpose audio codec. The headline features cover compression behavior, bitrate flexibility, sampling rates, latency, and licensing.
Opus does not stand alone, it always rides inside a container that the browser parses before handing the bitstream to the decoder. The web supports four containers for Opus, and each one has a different MIME type and a different browser footprint.
Opus replaced fragmented audio formats across real-time, streaming, and downloadable workloads. Its low latency and wide bitrate range make it the default voice codec for WebRTC and a strong choice for music streaming, voice notes, and HTML5 audio.
Opus plays cleanly in every modern browser engine, so the painful edge cases land on legacy Safari, Firefox on Linux for very long files, recording in Safari, and a small number of misconfigured server pipelines.
In my experience, the trickiest failure is the Safari recording gap. A WebRTC chat app that records calls as Ogg Opus on Chrome and Firefox will silently fail on Safari, since MediaRecorder reports false for the codec. Always probe canRecordType before allocating a recorder, and route Safari users to an AAC fallback or your call analytics will show silent dropouts.
All Opus 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