AudioUtils

What Is Opus? The Modern Audio Codec Explained

Opus is an IETF-standard, royalty-free audio codec that handles speech and music in one design. Learn how it works, where it is used, and how to convert.

The Short Answer

Opus is an open, royalty-free audio codec standardized by the Internet Engineering Task Force as RFC 6716 in September 2012. It is designed as a single codec that covers everything from 6 kbps narrowband speech to 510 kbps high-resolution stereo music, with latency low enough for real-time communication. By any objective measurement Opus is the best lossy audio codec currently available — it outperforms MP3, AAC, and Vorbis at every bitrate where they overlap, and it is the codec inside almost every modern voice and video call you make: Discord, WhatsApp, Zoom, Microsoft Teams, Google Meet, Signal, and the WebRTC stack underneath all of them.

What makes Opus unusual is that it solved two normally separate problems in one design: low-bitrate speech (where you want a vocal-tract model) and music (where you want a transform codec). Most codecs pick one and do the other badly. Opus does both, and switches between them automatically inside a single stream.

A Brief History

Opus was developed jointly between 2010 and 2012 by an unusually broad coalition: Xiph.Org Foundation (Vorbis, FLAC, Theora), Skype (which Microsoft acquired during development), Mozilla, Broadcom, the Octasic semiconductor company, Google, and Microsoft itself. The IETF's codec working group was specifically chartered to produce a royalty-free codec suitable for WebRTC, and the resulting RFC 6716 was published in September 2012.

The codec was assembled from two existing designs. SILK, originally developed by Skype for its voice client and previously deployed in millions of Skype calls, contributed the speech coding engine. CELT (Constrained Energy Lapped Transform), developed at Xiph by Jean-Marc Valin, contributed the music coding engine. The two designs were merged into a single bitstream specification with a hybrid mode that runs both engines simultaneously for medium-bitrate audio. Subsequent revisions — Opus 1.1 (2013), 1.2 (2017), 1.3 (2018), 1.4 (2023), and 1.5 (2024) — improved the encoder without changing the bitstream, so old Opus files keep decoding cleanly while new files benefit from better encoder analysis.

The IETF mandate was important politically: Opus was specifically designed and licensed so that no patent claim could be brought against it. The reference encoder, decoder, and specification are all under BSD-style licenses, and the included patents from the contributing companies are royalty-free. This is what allowed the entire WebRTC ecosystem — the audio side of every browser-based voice and video call — to standardize on a single codec without licensing negotiations.

Hybrid Codec Design

Opus is genuinely two codecs in one bitstream:

SILK is a linear predictive coder optimized for the human voice. It models the vocal tract as a time-varying filter and encodes the residual after that model is subtracted, similar in concept to AMR-WB and the speech codecs in mobile phones. SILK is what makes Opus exceptional at very low bitrates for speech — at 16 kbps a SILK-mode Opus stream sounds noticeably better than an AMR-WB stream at the same bitrate, and far better than MP3 at 32 kbps.

CELT is a transform codec like AAC or Vorbis, but using a modified discrete cosine transform with much shorter analysis windows (2.5–20 ms) than typical music codecs. The short windows are what enable low-latency operation. CELT is what makes Opus excellent for music: at 96 kbps it matches HE-AAC and at 128 kbps it is transparent for most listeners on most material.

Hybrid mode runs SILK on the lower frequencies and CELT on the higher frequencies for the same audio block. This is used at medium bitrates (around 24–40 kbps for wideband and superwideband content) where pure SILK starts to lose musical detail and pure CELT struggles with vocal clarity.

The encoder picks the mode automatically based on signal analysis and target bitrate. When someone on a Discord call holds their phone up to play a song, the Opus encoder transparently switches from SILK-mode speech to CELT-mode music mid-stream. No other widely deployed codec does this — AAC, MP3, and Vorbis are music codecs that handle speech adequately; AMR and Speex are speech codecs that handle music badly.

Bitrate Range

Opus supports an unusually wide range:

  • 6 kbps — narrowband speech (8 kHz sample rate). Usable for very low bandwidth, comparable to older mobile codecs.
  • 12 kbps — wideband speech, intelligible.
  • 16 kbps — wideband speech, clear and natural sounding. This is roughly Discord's voice quality.
  • 24–32 kbps — fullband speech, near-broadcast quality. Hybrid mode kicks in here.
  • 48 kbps — usable music. Better than MP3 at 96 kbps on most material.
  • 64 kbps — competent music. Roughly equivalent to 128 kbps MP3 LAME.
  • 96 kbps — very good music. Equivalent to AAC LC at 96 kbps and to 192–256 kbps MP3.
  • 128 kbps — transparent for most listeners on most material. Spotify HiFi delivers Opus at this rate to some platforms.
  • 256 kbps — diminishing returns; useful for critical listening or highly demanding stereo content.
  • 510 kbps — the maximum. Stereo high-resolution audio with no audible difference from lossless.

For a deeper look at the bitrate-versus-quality curve see audio bitrate explained and the codec comparisons in Opus vs MP3 and Opus vs AAC.

Frame Sizes and Latency

Opus supports six configurable frame durations per packet: 2.5, 5, 10, 20, 40, and 60 ms. Most real-time applications use 20 ms (the WebRTC default), which gives the encoder enough audio to model intelligently while keeping latency low. Voice messaging tools that prioritize storage over latency typically use 60 ms.

Algorithmic latency — the minimum delay introduced by encoding plus decoding, before any network or buffering effects — is 5 to 66.5 ms depending on frame size and lookahead. At 5 ms you can run a full-duplex voice call without the kind of perceptible echo that derails conversation. By comparison, MP3 has algorithmic latency around 60–100 ms and AAC LC sits around 20–40 ms. This is why Opus, not MP3 or AAC, is the codec inside WebRTC: only Opus can keep two-way conversation under the 150 ms total delay budget that humans tolerate before the back-and-forth feels broken.

CBR vs VBR

Opus supports three rate-control modes:

  • VBR (variable bitrate) — the default. The encoder spends more bits on complex content and fewer on simple content. Average bitrate matches the configured target; instantaneous bitrate varies. Best quality at a given file size.
  • CVBR (constrained VBR) — VBR with a maximum-bitrate cap. Used for situations where the network has a fixed peak rate (some VoIP gateways, some streaming pipelines).
  • CBR (constant bitrate) — every packet exactly the same size. Used in WebRTC and other real-time protocols where consistent network load matters more than per-frame efficiency.

For stored files, VBR is correct in essentially every case. CBR exists for streaming network protocols where packet rate predictability is the constraint.

Channel Layouts

Opus officially specifies channel layouts for mono, stereo, and surround up to 7.1 (and ambisonics in newer extensions). The stereo coding is "joint stereo with intensity coding" — the encoder can use mid/side coding when the two channels are correlated and full dual-mono when they are not. For surround content, channel families 1 and 2 cover the standard ITU surround layouts and channel mapping family 3 (added in RFC 8486) covers ambisonics for VR/360-degree audio.

File Extension and Container

A standalone Opus file uses the '.opus' extension and is stored as Opus inside an Ogg container. The Ogg framing is what gives the file seek tables, embedded Vorbis Comments metadata, and per-page CRC32 protection.

Opus inside MP4 also exists (signaled as codec ID 'opus' in the MP4 sample description). YouTube uses Opus inside the WebM container for many video streams. WebRTC streams Opus packets directly without any file container. So in practice you encounter Opus as:

  • '.opus' (Ogg) — standalone audio files. The extension you download from Wikipedia.
  • '.ogg' (Ogg Vorbis or Ogg Opus) — ambiguous. Verify with ffprobe; see What is OGG.
  • WebM streams — YouTube, Wikimedia Commons, HTML5 audio.
  • WebRTC RTP packets — Discord, Zoom, Teams, browser-based calls.

Where Opus Is Actually Used

In 2026, Opus is the audio plumbing of the modern internet:

  • WebRTC — the codec everyone agreed on. Mandatory in the spec. Powers every browser-based voice and video call.
  • Discord — voice channels, video calls, and screen-share audio. Discord's official client has used Opus since 2015.
  • WhatsApp — voice messages and voice/video calls. The 'voice note' files are .opus inside Ogg.
  • Zoom, Microsoft Teams, Google Meet — all use Opus for audio when running over WebRTC, which is the modern default.
  • FaceTime — Apple uses AAC-LD/AAC-ELD historically but has been adding Opus support in recent iOS/macOS builds for cross-platform interoperability.
  • YouTube — Opus is the audio codec for many WebM video streams (the 'opus' adaptive audio tracks visible in YouTube's quality menu) and for music videos at higher bitrates.
  • Wikimedia Commons — Wikipedia pronunciations and free music are Ogg Opus.
  • Telegram — voice messages.
  • Signal — voice and video calls.
  • PlayStation 5 and Xbox Series X — game voice chat uses Opus internally.

That list covers approximately every two-way audio stream a typical user generates in a week.

Browser Support

Opus playback support in modern browsers:

  • Chrome / Edge / Opera — full support since 2013.
  • Firefox — full support since 2012.
  • Safari (macOS) — Opus in WebM was supported from Safari 14 (2020); Opus in CAF and Opus in Ogg landed in Safari 14.1 / iOS 14.5 (2021). Modern Safari decodes all three containers.
  • Safari (iOS) — same as macOS since 14.5. The historical iOS Opus gap is closed.
  • Mobile Chrome / Firefox — full support, all platforms.

Practically speaking, every browser and every operating system shipped after roughly 2021 handles Opus natively in HTML5 'audio' tags, WebRTC, and standalone files.

iOS Support History

iOS support for Opus has improved unevenly:

  • iOS 11 (2017) — added Opus decoding support to AVFoundation, but only inside CAF containers.
  • iOS 14 (2020) — full system-level support for Opus in Ogg and Opus inside MP4.
  • iOS 14.5 (2021) — Safari supports Opus in HTML5 audio.
  • WhatsApp voice notes (.opus inside Ogg) play directly in the Files app on modern iOS.

Older iPhones still on iOS 13 or earlier will struggle with bare '.opus' files. For those cases, convert Opus to MP3 or convert Opus to WAV for universal playback.

Limitations

Opus is technically excellent but not without weaknesses:

  • Hardware decoders are uncommon. Bluetooth speakers, car stereos, hi-fi receivers, and dedicated music players almost universally lack Opus hardware decoding. Anything that decodes audio in software handles it; anything tied to a specific DSP usually does not. Modern Bluetooth still negotiates SBC, AAC, or aptX rather than Opus over the air.
  • Music distribution is still AAC / FLAC. Apple Music, Spotify Premium, and most other paid services use AAC for lossy and ALAC/FLAC for lossless. Opus is used in some Spotify mobile streams and YouTube Music but is not the dominant download/sync format.
  • Metadata tooling is thinner. Vorbis Comments work in Opus, and Mp3tag, Picard, and Kid3 all handle it, but the tagging ecosystem has fewer integrations than MP3's ID3v2 or FLAC's Vorbis Comments.
  • Some legacy DAWs and editors still treat Opus as a second-class import. Re-importing a recorded Opus stream into Pro Tools or Logic typically requires converting to WAV first.

Working with Opus Files

For everyday tasks: the Opus to MP3 converter is the right tool when you have a WhatsApp voice note or downloaded '.opus' file and need to play it on hardware that does not understand Opus. The Opus to WAV converter gives you an editable uncompressed file for DAWs. Going the other direction, MP3 to Opus and WAV to Opus produce small, high-quality files for web apps or your own voice messages. The Opus converter covers all combinations.

A practical caveat: re-encoding from a lossy source (MP3, AAC) to Opus does not improve quality — you can never recover what the first encoder threw away. If you have the original WAV or FLAC, encode straight to Opus from that source for the best result.

For the format context, see What is OGG (the container Opus rides inside) and the codec comparisons in Opus vs MP3 and Opus vs AAC.

Opus is not yet as widely recognized as MP3, but it is more widely deployed: every WebRTC call, every WhatsApp voice note, every Discord voice channel runs through Opus packets, and most users have never seen the codec name. That is the sign of a successful infrastructure technology — invisible, royalty-free, and good enough that nobody has reason to replace it.

More to Read

What Is WAV? Everything You Need to KnowWhat Is FLAC? The Lossless Audio FormatWhat Is M4A? Apple's Audio Format ExplainedWhat Is AAC? Advanced Audio Coding ExplainedWhat Is AIFF? Apple's Lossless Audio FormatWhat Is WMA? Windows Media Audio ExplainedSample Rate Explained: 44.1kHz vs 48kHz vs 96kHzWhy WAV Files Are So Large (And What to Do About It)What Is M4A? The iPhone Audio Format ExplainedAudio File Size Comparison: MP3, WAV, FLAC, OGG, AACWhat Is Vorbis? The Open Audio Codec ExplainedWhat Is ALAC? Apple Lossless Audio ExplainediTunes and Apple Music Audio Formats ExplainedWhat Is HLS Audio? HTTP Live Streaming ExplainedAIFF vs. AIF: What Is the Difference?Android Audio Formats: Native Support and Best PracticesiPhone Audio Formats: What iOS Supports & Doesn'tMP3 Bitrate Guide: 128 to 320 kbps ExplainedAudio Bitrate vs. Sample Rate: What's the Difference?Audio Transcoding vs. Converting: What Is the Difference?Audio Normalization: Peak vs Loudness — When to Use EachAudio Quality Settings: Bitrate, Sample Rate, Bit DepthAudio Sample Rate Explained: 44.1 vs 48 vs 96kHzWhat Is VBR vs CBR? Bit Allocation in Audio EncodingContainer vs Codec: The Most Confusing Thing in AudioPCM Audio Explained: Why WAV Files Are So LargeAudio Bitrate Guide: Right Settings for Every Use CaseAudio Compression Explained: File Size vs Dynamic RangeID3 Tags Explained: MP3 Metadata StandardMP3 vs WAV: Which Format Should You Use?MP3 vs FLAC: Lossy vs Lossless ComparedMP3 vs AAC: Which Codec Sounds Better?MP3 vs OGG (Vorbis): The Complete ComparisonFLAC vs WAV: Lossless Formats ComparedM4A vs MP3: Which Should You Choose?Lossless vs Lossy Audio: The Complete GuideAudio Formats Explained: The Complete GuideHow to Convert Audio Files: Complete GuideHow to Reduce Audio File Size Without Losing QualityHow to Convert iPhone Voice Memo to MP3 FreeHow Audio Compression WorksBest Audio Format for WebsitesHow to Batch Convert Audio FilesHow to Extract Audio from Video FilesBest Audio Format for Music ProductionBest Audio Format for PodcastsBest Audio Format for GamingBest Audio Format for Music StreamingBest Audio Format for Archiving MusicDoes Converting MP3 to WAV Improve Quality?How to Convert MP3 to WAV for Music ProductionHow to Convert MP3 to WAV Without Losing QualityMP3 vs WAV for Audio Editing in a DAWWhen Should You Convert MP3 to WAV?How to Convert MP3 to WAV on Mac and WindowsHow to Convert WAV to MP3 Without Losing QualityConvert WAV to MP3 for Sharing and EmailWAV File Too Large? Convert to MP3How to Convert iPhone Voice Memo to MP3 FreeHow to Play M4A Files on Android (Convert to MP3)M4A vs MP3: Which Has Better Quality and Smaller Size?How to Convert MP3 to OGG for Unity Game DevelopmentOGG vs MP3 for Web Audio: Which Should You Use?WAV vs AIFF: Which Uncompressed Format?AAC vs OGG: Which Lossy Codec Wins?M4A vs AAC: What's the Difference?How to Convert FLAC to MP3 Without Losing QualityBest Bitrate for FLAC to MP3 ConversionConvert AAC to MP3: Best Quality SettingsHow to Extract Audio from MP4 FilesConvert iPhone MOV Video to MP3How to Convert WAV to MP3 (The Complete Guide)How to Convert MOV to MP3 (iPhone & QuickTime)How to Convert MP3 to WAV for Editing and DAWsHow to Convert YouTube to MP3 Legally (3 Ways)Best MP3 to WAV Settings for Editing and DAWsBest WAV to MP3 Bitrate for Music, Podcasts, and VoiceMOV to MP3 on Mac: Fastest Ways ComparedHow to Convert M4A to MP3 on iPhone Without a ComputerHow to Convert FLAC to MP3 on MacHow to Convert FLAC to MP3 on WindowsHow to Convert OGG to MP3 on MacHow to Convert MP4 to MP3 on MacHow to Convert MP4 to MP3 on iPhoneHow to Convert MP4 to MP3 on AndroidHow to Convert WMA to MP3 on MacHow to Convert AIFF to MP3 on MacHow to Convert MOV to MP3 on WindowsMP3 vs WMA: Which Format Should You Choose?AAC vs FLAC: Lossy or Lossless — Which to Choose?OGG vs Opus: What's the Difference?Best Audio Format for Discord in 2026Best Audio Format for Video EditingM4A to WAV: How to Convert and WhyHow to Convert FLAC to OGG VorbisHow to Convert AAC to WAV for EditingOpus Audio for Web Developers: A Practical GuidePrivacy-First Audio Conversion: Why Browser-Based MattersHow to Convert WMA to MP3 on WindowsHow to Convert AIFF to MP3 on WindowsHow to Convert OGG to MP3 on WindowsHow to Convert FLAC to MP3 on iPhoneHow to Convert AAC to MP3 on MacHow to Convert M4A to MP3 on Mac: 3 Easy MethodsHow to Convert Audio Files with AudacityHow to Convert Audio Files with VLCAudacity vs AudioUtils: Which Should You Use?AIFF vs FLAC: Which Lossless Format Is Better?WMA vs MP3: Which Sounds Better?OGG vs AAC: Which Audio Codec Is Better?M4A vs OGG: Which Lossy Audio Codec to UseBest Audio Format for Zoom RecordingsBest Audio Format to Use in AudacityBest Audio Format for Voice RecordingGarageBand Audio Formats: What to Use and WhyAudio Sample Rates: 44.1, 48, 96 kHz ExplainedFLAC to AAC: Bitrate Guide and Practical StepsOGG to AAC: Cross-Platform Audio Migration GuideWMA to OGG: Escape the Windows Media EcosystemWMA to FLAC: Lossless Archiving of Your Old WMA LibraryFLAC to Opus: Web Streaming Optimization GuideAIFF to M4A: Apple Production Workflow GuideWAV to AIFF: Windows to Mac Audio WorkflowBest Audio Format for iMovie: Import and Export GuideAdobe Premiere Pro Audio Format GuideLogic Pro Audio Guide: Best Import & Export SettingsOBS Studio Audio Format and Settings GuideTwitch Audio Requirements: Format, Bitrate & QualitySpotify Audio Format: What You Need to KnowYouTube Audio Requirements: Quality, Format & LUFSTikTok Audio Requirements: Format, Bitrate, and QualityBest Audio Format for Ringtones: iPhone and AndroidBest Audio Format for Car USB: MP3, FLAC, or WAV?How to Convert AAC to MP3 on iPhoneHow to Convert FLAC to MP3 on AndroidHow to Convert OGG to MP3 on AndroidHow to Convert WAV to MP3 on iPhoneHow to Convert AIFF to MP3 on iPhoneHow to Convert M4A to MP3 on WindowsOpus to MP3: Complete Conversion GuideFLAC vs Opus: When to Use Each Audio CodecWAV vs MP3: The Honest Quality ComparisonAAC vs. MP3 for Streaming: Which Is Better?Best Audio Format for AudiobooksConvert Audio on Linux: Command Line and Browser OptionsFFmpeg vs. AudioUtils: When to Use EachAudio Formats for Podcast Apps: Spotify, Apple, and MoreHow to Convert Audio Without Installing SoftwareHow to Convert WMA to MP3 on Mac (Step-by-Step Guide)OGG to FLAC: What to Expect from the ConversionAAC to FLAC: Convert and What to ExpectOpus to WAV: How to Convert and Why You Might Need ToWAV to Opus: The Web Developer's Audio GuideOGG vs FLAC: Which Should You Use?WAV vs FLAC for Archiving: Which Is Best?M4A vs FLAC: Apple AAC vs Lossless Quality ComparedBest Audio Format for Speech-to-Text TranscriptionBest Audio Format for WhatsApp Voice MessagesAudio Formats Windows Media Player Plays NativelyAudio Formats VLC Supports and Its Conversion FeaturesAudio Formats Foobar2000 SupportsAudio Formats Plex Media Server SupportsKodi Audio Format: What Works & What Needs ConversionAudio Formats for PS4 and PS5 USB PlaybackAudio Formats for Xbox USB PlaybackAudio on Nintendo Switch: Limitations and WorkaroundsMP3 vs AAC for AirPods: Does the Codec Matter?How to Play FLAC on iPhone (iOS 11 and Later)How to Play FLAC on Android NativelyWAV to FLAC: Converting Without Any Quality LossAIFF to WAV: macOS to Windows Audio WorkflowM4A to OGG: Converting Apple Audio to Open-SourceOpus Bitrate Guide: 32, 64, 96, 128, 192 kbps ExplainedReduce Audio File Size Without Losing QualityAudio Format Support on Raspberry Pi with mpd and mopidyBest Audio Format in 2025: The Definitive GuideIs yt-dlp Legal? What You Need to KnowLegal Ways to Download Music for Offline ListeningCreative Commons Music for Content Creators: Full GuideWMA to MP3: What to Expect and How to ConvertAIFF to MP3: GarageBand Exports and Quality SettingsMP3 vs. WAV for Podcasting: Which Format to UseBest Audio Format for Discord: Opus, MP3, and File LimitsBest Audio Format for TikTok: Specs and Upload TipsBest Audio Format for Instagram Reels and StoriesHow to Convert Audio on Mac: GarageBand & QuickTimeHow to Convert Audio on iPhone: Files App & BrowserHow to Batch Convert Audio Files: FFmpeg & BrowserFLAC vs. ALAC: Lossless Audio Format ComparisonAudio File Too Large? How to Reduce Audio File SizeAudio Formats for Zoom: Recordings, Uploads, and SharingExtract Audio from MP4 Without Software (Browser Method)VBR vs CBR for MP3: When Each Mode Is the Right ChoiceMP3 128 kbps vs 320 kbps: Does the Difference Matter?FLAC vs WAV for Music Production: The Practical AnswerM4A vs MP3 for iPhone: Which Format to Use and WhenOGG Vorbis vs MP3: Quality, Compatibility & When OGG WinsBest Audio Format for YouTube Uploads in 2026Best Audio Format for Audacity: Import, Edit, and ExportBest Audio Format for Premiere Pro: Timelines & ExportHow to Convert iPhone Voice Memo to MP3 (Free, No App)How to Convert Zoom Recording to MP3 (M4A or MP4 Export)How to Convert Google Meet Recording to MP3Why Is My Audio File So Large? How to Reduce ItLossless Audio: Is It Worth It? The Honest AnswerHow to Extract Audio from a Zoom Webinar RecordingMP3 File Corrupted: How to Diagnose and Fix ItAudio Format for Spotify: Upload Specs & What HappensBest Free Audio Converter: Browser-Based vs DesktopHow to Compress Audio in Audacity: Size & DynamicsFFmpeg Compress Audio: MP3, FLAC, Opus & AAC One-LinersCompress MP3 Without Losing Quality: What's PossibleHow to Make a Ringtone From an MP3 (iPhone & Android)How to Trim an MP3 Without Losing QualityHow to Cut Audio in Audacity (2026 Step-by-Step)How to Merge Audio Files: Three Real MethodsHow to Remove Vocals From a Song (Honest 2026 Guide)How to Record Audio on Mac: 2026 GuideHow to Record Audio on Windows: 2026 GuideHow to Record Audio on iPhone: 2026 GuideHow to Edit MP3 Metadata: Tools & WorkflowsHow to Find BPM of a Song: 5 MethodsHow to Split Audio Files: 3 Methods That Work