If you have sent a voice message, joined a video call or watched something on YouTube this week, you have used Opus. It is probably the most-used audio codec in the world by number of streams, and almost nobody outside audio engineering has heard of it — partly because it works, and partly because it usually hides inside a file named something else.
Audio compression used to be two separate jobs with two separate families of codec.
Speech codecs were built for phone calls. They are extremely efficient at low bitrates because they model the human voice specifically — but run music through one and it comes out as a warbling mess, because music is nothing like a voice.
Music codecs like MP3 and AAC were built for recordings. They handle anything, but they need more data, and crucially they introduce a delay: an MP3 encoder works on chunks of around 26 milliseconds and needs to look ahead, so by the time sound comes out the other end, enough time has passed to make a live conversation awkward.
So an application that carried both — a call with music playing, a stream that switches between talking and a song — had to either pick one badly or switch codecs mid-stream.
Opus does both in one codec, and switches between its speech mode and its music mode automatically as the content changes. That is the whole reason it won.
The second thing Opus got right is latency. Its frames can be as short as 2.5 milliseconds, and a typical real-time configuration runs around 20 milliseconds end to end — low enough that two people can interrupt each other naturally, which is the actual test of whether a voice call feels alive.
It also degrades gracefully. Packets go missing on a real network constantly, and Opus can reconstruct short gaps and adjust its bitrate on the fly as the connection changes. A call that stays intelligible while someone walks out of Wi-Fi range is doing this.
Meaningfully, and the gap is widest exactly where it matters most — at low bitrates.
It is royalty-free and an open IETF standard, which is the other half of the explanation for its spread: a messaging app can ship it without licensing negotiations.
Here is where Opus becomes a practical problem rather than an invisible success.
Opus is a codec, not a file format — the distinction that explains most playback failures. It has to live inside a container, and it usually lives in one of these:
.opus — an Ogg container holding an Opus track. This is what exported voice messages typically are..ogg — the same container, older extension..caf — Apple’s container, used for some iOS voice recordings.The result is the familiar annoyance: you export a voice note, get a .opus file, and your audio player refuses it — while the same audio played perfectly inside the messaging app, which bundles its own decoder. The file is not corrupt. The player simply does not know Opus.
Converting Opus to MP3 is a compatibility decision, not a quality one. Opus is already lossy, so re-encoding to MP3 decodes it and compresses again — the second pass can only lose more. The result is never better than the Opus you started with, and if you pick a low MP3 bitrate it will be noticeably worse.
So convert when you must — handing a file to someone with old software, importing into an editor that will not read it, uploading somewhere that rejects the format — and use a generous bitrate when you do, 192 kbps or higher for music. The extra file size costs you nothing compared to audible damage you cannot undo.
If you only need to listen, a player that handles Opus natively avoids the loss entirely.
The honest summary: Opus is technically the better choice almost everywhere, and MP3 is still the safer one when you do not control what opens the file.
.opus, .ogg, WebM, MKV or .caf — the codec is not the extension