Skip to content
Back to Blog
informational

What Is Opus Audio? The Open Codec Behind WhatsApp Calls

2026-05-17 8 min read

What Opus Actually Is

Opus is an open, royalty-free audio codec standardized by the Internet Engineering Task Force (IETF) in RFC 6716, published in September 2012. It was developed by a collaboration between Mozilla, Skype (Microsoft), and the Xiph.Org Foundation — the same nonprofit behind Ogg Vorbis and FLAC. That combination of corporate muscle and open-source philosophy produced something unusual: a codec that is both technically excellent and completely free to use without licensing fees. Unlike MP3 or AAC, which carry patent licensing requirements, Opus can be embedded in any application, hardware device, or web browser without paying royalties. That legal clarity is a big reason it spread so quickly. Chrome added native Opus support in 2012, Firefox followed, and within a few years it became the default audio codec for WebRTC — the technology that powers in-browser voice and video calls. At its core, Opus is actually two codecs merged into one. It combines the SILK codec (originally developed by Skype for voice calls) with the CELT codec (developed by Xiph for low-latency music and audio). A built-in mode-switching mechanism automatically chooses SILK at low bitrates for speech, CELT at higher bitrates for full-bandwidth audio, or a hybrid of both in the middle range. This makes it genuinely versatile in a way that dedicated voice codecs like G.711 or dedicated music codecs like Vorbis simply are not.

The Technical Specs That Make Opus Interesting

Opus operates across a remarkably wide parameter space. Bitrate can be set anywhere from 6 kbps to 510 kbps. Sample rates supported are 8 kHz, 12 kHz, 16 kHz, 24 kHz, and 48 kHz. Frame sizes range from 2.5 ms to 60 ms, which directly affects latency — a 2.5 ms frame introduces far less delay than a 60 ms frame, though smaller frames cost more CPU cycles per second of audio. For voice calls, WhatsApp and similar apps typically encode Opus at around 16–32 kbps with a 20 ms frame size. That 20 ms frame is a sweet spot: it keeps end-to-end algorithmic latency under 25 ms while keeping CPU load manageable on a mid-range Android phone. At 32 kbps, Opus voice quality is widely considered indistinguishable from a wired telephone call and noticeably better than traditional mobile voice (which used AMR-NB at 12.2 kbps). For music streaming or podcast delivery, Opus at 96 kbps produces audio that most listeners cannot distinguish from a 192 kbps MP3 in blind ABX tests. At 128 kbps it is essentially transparent to most ears. The efficiency advantage matters: a one-hour podcast encoded as Opus at 64 kbps produces a file of roughly 28 MB, compared to about 56 MB for the equivalent MP3 at 128 kbps with comparable perceived quality. Opus also includes built-in packet loss concealment (PLC) and forward error correction (FEC). When a network packet is lost during a call, the decoder can reconstruct a plausible approximation of the missing audio rather than producing a click or dropout. This is why WhatsApp calls often sound surprisingly clean even on congested mobile networks.

Why WhatsApp, Discord, and Zoom All Chose Opus

When WhatsApp rebuilt its calling infrastructure around 2015, the choice of Opus was not accidental. The app needed a codec that could handle everything from a 2G connection in rural India (where bandwidth might be 20–40 kbps total) to a 5G connection in South Korea. Opus scales gracefully across that range. At 12 kbps it still produces intelligible speech; at 64 kbps it sounds excellent. Discord uses Opus for both voice channels and video call audio, encoding at 64 kbps by default for standard servers and up to 96 kbps for boosted servers. If you have ever wondered why Discord voice quality varies by server tier, that bitrate ceiling is the reason — and it is set in the server's Voice Channel settings under 'Channel Settings > Overview > Bitrate'. Zoom uses Opus for its audio layer within the WebRTC stack, though Zoom's implementation includes proprietary noise suppression and acoustic echo cancellation layered on top. The codec itself is standard Opus; the processing around it is what Zoom has built as a differentiator. Signal, Telegram, FaceTime on non-Apple devices over cellular, and Google Meet all use Opus or have used it as a primary codec at various points. The WebRTC specification essentially mandates Opus support, which means any browser-based communication tool built on WebRTC inherits Opus by default. The codec has become so embedded in real-time communication infrastructure that avoiding it would now require deliberate effort.

Opus Files in the Wild: Containers and Extensions

Opus audio is almost always stored inside the Ogg container format, which gives it the .opus file extension. You might also see it as .ogg when the file uses Ogg as the container — though .ogg files can contain Vorbis, FLAC, or Speex audio as well, so the extension alone does not confirm the codec. The safest identifier is .opus, which by convention always means Ogg-encapsulated Opus. Opus can also be stored in a Matroska container (.mkv or .mka), and this is common in video files where the audio track uses Opus. WebM files — the open video format used by YouTube and supported natively in all major browsers — can carry Opus audio tracks alongside VP8 or VP9 video. What you will not find is Opus in an MP4 container, at least not with official standardization. The MPEG group has not formally adopted Opus as a codec for the MP4/ISOBMFF container. Some tools will write Opus into an MP4 file anyway, but playback compatibility is inconsistent — Apple's QuickTime and iOS do not support it, and many media players will either refuse to play the file or play it with no audio. This is a real limitation worth knowing before you try to distribute Opus-encoded audio in an MP4 wrapper. For podcasts, Opus in Ogg is gaining traction but has not displaced MP3. The main obstacle is Apple Podcasts, which as of early 2026 still does not support .opus files for podcast feeds. If your audience includes iPhone users who subscribe via Apple Podcasts, you need MP3 or AAC. Spotify and most Android podcast apps handle Opus fine.

Converting To and From Opus

CocoConvert supports converting common audio formats — MP3, WAV, AAC, FLAC, M4A, and OGG Vorbis — to Opus and back. The process is straightforward: upload your file, select Opus as the output format, choose a bitrate (we offer presets from 16 kbps up to 320 kbps, with 64 kbps and 128 kbps being the most commonly used), and download the result. For voice recordings where file size matters — interviews, memos, podcast drafts — 32 kbps Opus is a reasonable starting point. For music or any audio where fidelity is the priority, 128 kbps is a safe choice. Going above 192 kbps with Opus produces diminishing returns; the codec's transparency threshold is lower than MP3's, so you do not need to match the bitrates you might be used to with older formats. When converting from a lossy format like MP3 to Opus, keep in mind that you are re-encoding already-compressed audio. Every lossy-to-lossy conversion introduces generation loss — artifacts from the first encoding get re-processed by the second encoder. If you have the original uncompressed WAV or AIFF source, always convert from that. Converting a 128 kbps MP3 to 128 kbps Opus will not produce audio as clean as converting the original WAV to 128 kbps Opus. CocoConvert cannot currently handle Opus tracks embedded inside MKV or WebM video containers — you would need to extract the audio track first using a tool like FFmpeg before uploading. We are also not able to convert Opus files that use non-standard sampling rates or channel configurations outside the typical mono/stereo range. These are genuine gaps in the current implementation, not things we expect to resolve in the short term.

Opus vs. MP3, AAC, and FLAC: When to Use Which

The codec landscape has too many options and too much tribal loyalty. Here is a practical breakdown without the evangelism. MP3 remains the most compatible lossy format on earth. If you are sending audio to someone and you have no idea what device or software they are using, MP3 at 128 kbps will play. That compatibility advantage is real and will not disappear for years. The downside is efficiency: Opus at 64 kbps matches MP3 at 128 kbps in perceived quality, meaning MP3 files are roughly twice as large for the same listening experience. AAC (the format used by iTunes, Apple Music, and most streaming services) is more efficient than MP3 and more widely supported than Opus, particularly on Apple hardware. If you are producing content for Apple platforms specifically, AAC in an M4A container is the pragmatic choice. Apple devices handle it natively with hardware decoding, which saves battery life. FLAC is lossless — it preserves every bit of the original audio. Use it for archiving, mastering, or any situation where you need to re-edit the audio later without accumulating generation loss. FLAC files are large (a 3-minute song is typically 20–30 MB versus 3–5 MB for a lossy equivalent), but storage is cheap and fidelity is guaranteed. Opus is the right choice when you need good audio quality at low bitrates, when you are building something that runs in a browser or a WebRTC stack, when file size is a meaningful constraint, or when you want an open format with no licensing complications. It is the wrong choice when your audience uses Apple Podcasts, when your target platform is iTunes, or when you need the audio inside an MP4 container for broad device compatibility.

How to Work With Opus Files on Your Computer

Native OS support for Opus is still uneven. On Windows 11, the built-in Media Player and Movies & TV apps can play .opus files without additional software. Windows 10 requires either a codec pack or a third-party player. On macOS, QuickTime Player does not support Opus — you need VLC, IINA, or another third-party player. On Linux, GStreamer-based players (Rhythmbox, Totem) handle Opus natively; so does VLC. For editing, Audacity has supported Opus import and export since version 3.0.0, released in March 2021. To export as Opus in Audacity, go to File > Export > Export Audio, then select 'Opus (OggOpus) Files (*.opus)' from the format dropdown. You can set the quality slider, which maps to a variable bitrate target. Adobe Audition does not support Opus natively as of early 2026 — you would need to convert to WAV first, edit, then convert back to Opus. FFmpeg, the command-line tool, has excellent Opus support. The command `ffmpeg -i input.wav -c:a libopus -b:a 96k output.opus` converts a WAV file to Opus at 96 kbps. Adding `-vbr on` enables variable bitrate mode, which generally produces better quality at the same average bitrate. FFmpeg is free, runs on Windows, macOS, and Linux, and handles the edge cases (unusual sample rates, multi-channel audio, container extraction) that web-based converters including CocoConvert currently cannot. For most users who just need to convert a podcast interview or voice memo to Opus for a specific use case, CocoConvert handles the common scenarios without requiring any software installation. For batch processing, unusual formats, or video container work, FFmpeg is the more capable tool and worth learning if you work with audio regularly.

What Is Opus Audio? The Open Codec Behind WhatsApp Calls | CocoConvert Blog