What is the OPUS file format?
Files with the .opus extension contain audio - music tracks or human speech - compressed with a lossy method. For compression, both the SILK algorithm and an algorithm based on the MDCT transform called CELT are used, providing a high level of flexibility and low complexity that enables the format to encode sound in real-time, even on relatively modest processors.
A unique feature of sounds stored in .opus files is that their parameters can differ in each fragment (a so-called "frame", covering 20 ms by default):
- Bitrate - from 6 kbps up to 510 kbps
- Bandwidth
- Complexity
- Algorithm type (SILK, CELT, or a hybrid blend of both)
The .opus format is an open standard defined by the IETF (Internet Engineering Task Force), created by the Xiph.Org Foundation in collaboration with Skype Technologies (now part of Microsoft). The reference implementation is contained within libopus, available under the New BSD licence. Sound in this format can be stored at one of five internal bandwidths (narrowband through fullband, up to 48 kHz) and supports up to 255 channels in multi-stream mode. It was designed to be used within file containers, most commonly an OGG file, and is also widely used for real-time voice communication on the web via WebRTC. Modern browsers natively decode .opus in both Ogg and WebM containers.
Security & safety
RISK: LOWAn .opus file is plain compressed audio - it contains no executable code, so the format itself is safe. Standard caveats only: malformed media files can target player vulnerabilities (keep VLC/players updated), and voice messages can carry sensitive personal content - mind what you upload to online converters.
Format details
in a nutshellPrograms that open OPUS files
Technical details
deep spec| Codec architecture | Hybrid of SILK (speech, LPC-based) and CELT (music/general audio, MDCT-based) modes; encoder selects or blends automatically per frame |
| Container format | Ogg container with .opus extension; also embedded in WebM (.weba) and Matroska (.mkv) files |
| Bitrate range | 6 kbps to 510 kbps, configurable and variable per frame |
| Frame size | 2.5 ms to 60 ms; default 20 ms; adjustable per packet for latency vs. quality trade-off |
| Internal sampling rate | Always processed at 48 kHz internally; decoder can output at 8, 12, 16, 24, or 48 kHz |
| Bandwidth modes | Five: narrowband (8 kHz), mediumband (12 kHz), wideband (16 kHz), super-wideband (24 kHz), fullband (48 kHz) |
| Maximum channels | Up to 255 channels in multi-stream Ogg encapsulation (RFC 7845 channel mapping) |
| MIME type | audio/ogg; codecs=opus for file delivery; audio/opus for RTP streaming transport |
| Magic bytes | OggS (hex 4F 67 67 53) at offset 0; OpusHead string at byte offset 28 in the first Ogg page payload |
| Reference implementation | libopus library (BSD-3-Clause licence); opusenc and opusdec CLI tools in the opus-tools package |
| Algorithmic delay | Minimum 26.5 ms look-ahead; low enough for real-time voice and video communication |
| Encoder complexity | Adjustable from 0 (fastest, lowest quality) to 10 (slowest, highest quality) to suit CPU constraints |
| Browser support | Native in Chrome, Firefox, Edge, and Opera; Safari added support from version 11 on macOS and iOS |
| Typical applications | VoIP, WebRTC, podcast and music streaming, voice messages in apps such as Discord and WhatsApp |
| Released | 2012 (codec standardized as RFC 6716, September 2012; Ogg encapsulation RFC 7845, 2016) |
| Open standard | Yes · royalty-free |
| Specification | datatracker.ietf.org |