Opus Format: Complete Technical Reference
Opus is the most advanced open audio codec available today. Designed for internet transmission, it outperforms every rival at low and medium bitrates. The IETF standardized it in 2012, and it has quietly become the codec powering modern voice and video communication.
History of the Opus Codec
Opus came from a merge of two codecs: SILK, developed by Skype for voice communication, and CELT, developed by the Xiph.Org Foundation for music and general audio. The IETF published Opus as RFC 6716 in September 2012. Mozilla and Xiph drove the development. The goal was a single codec that could handle everything from narrow-band telephone speech to full-bandwidth stereo music with minimal latency. WebRTC adopted Opus as a mandatory codec, which forced browser makers to implement it. Chrome, Firefox, and Edge all added Opus support. The result: Opus became the default codec for web voice and video calls everywhere.
Technical Specifications
Opus operates from 6 kbps to 510 kbps. It supports sample rates of 8 kHz, 12 kHz, 16 kHz, 24 kHz, and 48 kHz. The codec auto-selects between SILK mode for speech, CELT mode for music, and a hybrid mode that blends both. Frame sizes range from 2.5 ms to 60 ms — the 20 ms default gives 48 kHz stereo at around 64-96 kbps with excellent quality. Algorithmic latency is as low as 5 ms in low-delay mode, making it suitable for real-time applications. At 64 kbps, Opus sounds noticeably better than MP3 at 128 kbps. At 96 kbps, it matches or exceeds AAC at 128 kbps. It supports mono, stereo, and up to 255 channels. Completely patent-free under a BSD-style license.
Pros and Cons
Pros: Best-in-class quality at low bitrates — beats MP3, AAC, and Vorbis. Free and open-source with no patent restrictions. Excellent for both speech and music in a single codec. Ultra-low latency for real-time communication. Native support in all major browsers. Mandatory in WebRTC. Cons: Not universally supported on consumer hardware — car stereos, older MP3 players, and some smart TVs do not play Opus files. Apple devices require iOS 11 or macOS Sierra and later for Opus playback. The OGG container used for Opus files shares the same .ogg or .opus extension confusion. Encoding requires slightly more CPU than MP3 on constrained devices. Not widely accepted by music distribution platforms, which still prefer MP3 or AAC.
Device and Software Compatibility
Chrome, Firefox, Edge, and Opera play Opus natively in the browser. Safari added Opus support in version 14.1 (2021). Android supports Opus from Android 5.0 (Lollipop) onward. iOS supports it from iOS 11. Windows 10 version 1903 and later play Opus without extra codecs. VLC plays Opus on every platform. Discord streams audio in Opus. WhatsApp, Telegram, Signal, and Zoom all use Opus for voice. FFmpeg handles Opus encoding and decoding on every platform. MPD, foobar2000, and most open-source audio players support Opus. YouTube accepts Opus in WebM containers for uploads.
Opus vs AAC and MP3
In formal listening tests, Opus at 96 kbps is rated equivalent to AAC at 128 kbps and MP3 at 160 kbps. Opus at 64 kbps beats MP3 at 128 kbps for music quality. For speech specifically, Opus at 24 kbps is intelligible and natural-sounding — far ahead of what MP3 or AAC can achieve at that bitrate. The trade-off is compatibility: MP3 still plays everywhere, and AAC has Apple behind it. Opus wins on efficiency and openness. For web applications, streaming audio, and any system you control end-to-end, Opus is the clear technical choice.
When to Use Opus
Use Opus for web applications and browser-based audio playback. Voice and video calling infrastructure. Podcast apps and streaming services that control their own players. Game audio in web games. Any scenario where low bitrate and high quality matter simultaneously. Avoid Opus for music distribution where buyers may use any device — MP3 or AAC is safer. Avoid it for CD or physical media. For archival, use FLAC or WAV. Convert to Opus only at the delivery stage when targeting a browser or WebRTC environment.