Convert WebM to OPUS Online
Extract Opus audio from WebM without re-encoding, free, in your browser.
.webm · up to 100 MB
What it's for
WebM to Opus: direct lossless extraction
Demux without re-encoding
The WebM already has Opus. FFmpeg extracts the stream without touching it. Zero loss, maximum speed.
YouTube, Meet, Loom
All use WebM+Opus internally. Extract the narration or soundtrack directly.
100% private
Your WebM recording never leaves your device. Local processing with FFmpeg.wasm.
Perfect for Discord bots
Screencasts with narration become .opus clips ready for immediate playback.
How it works
Three steps, no hassle
Upload your WebM file
Drag or select your .webm video. Works with browser recordings, screencasts, and YouTube downloads.
Direct lossless demux
FFmpeg.wasm extracts the Opus stream from the WebM without decoding it. Zero additional loss, maximum speed.
Download the extracted Opus
Your .opus contains exactly the same audio as the original WebM. Ready for Discord, bots, and VoIP.
FAQ
Got questions?
WebM was presented by Google in May 2010 at Google I/O as an open, royalty-free video format, based on the Matroska container with VP8 video and Vorbis audio for the initial version. Opus support in WebM was added to the WebM specification in December 2013, and Chrome 33 (released February 20, 2014) was the first browser to support it. Since 2014, all WebM files produced by Chrome, Firefox, Edge, or any modern browser using the MediaRecorder API (introduced in 2013) use Opus for audio by default.
Demux (demultiplex) is the operation of separating the streams from a multimedia container without processing the data. In the WebM→Opus case, the WebM container packages the VP8/VP9/AV1 video stream and the Opus audio stream interleaved. Extracting the Opus stream by demux produces a .opus file that contains bit-for-bit the same Opus data as the WebM. There is no decoding, no re-encoding, no additional loss. It is like extracting a photo from a PDF — the photo is identical to the original. Demux speed is limited only by file reading, not by any audio computational process.
Yes. Chrome's MediaRecorder API, available since Chrome 49 (2016) for general use, records WebM with VP8/VP9 video and Opus audio by default. WebM files produced by tools like Loom (which uses MediaRecorder internally), Chrome screen recording extensions, exported Google Meet recordings, and browser Zoom recordings are all WebM with Opus. The demux extracts that Opus directly.
Yes. YouTube offers its audio streams in two formats: M4A (AAC) for codec 140 and WebM (Opus) for codec 251. YouTube's WebM audio streams are Opus at 160 kbps stereo. When downloading a YouTube video with yt-dlp using -f 251, you get the WebM with Opus directly, which you can demux with this tool. YouTube's codec 251 is Opus at 160 kbps in WebM, the highest quality format YouTube offers for audio.
There are three cases: very old WebM files (pre-2014) using Vorbis instead of Opus; WebM files produced with video encoding software that forced Vorbis (HandBrake in older versions, FFmpeg if -c:a libvorbis was explicitly specified); and WebM from sources like Amazon Video that use proprietary audio codecs inside the WebM container (unusual but possible). In these cases, the tool detects the codec and converts Vorbis or other codecs to Opus via transcoding rather than demux.
Yes. Screencasts recorded with OBS Studio (in WebM), Loom, Google Meet, browser Zoom, or Chrome's MediaRecorder API produce WebM with Opus audio capturing the system microphone. The demux extracts that narration as a clean .opus file, without the screen video. This is useful for reusing tutorial narration, recorded lectures, and presentations as standalone audio files for podcasts or Discord.
Convert WebM to Opus: direct lossless demux from browser recordings and YouTube
WebM was presented by Google at Google I/O on May 19, 2010 as a completely royalty-free and patent-free video format, designed specifically for the web. The format uses the Matroska container (with a restricted profile renamed as WebM) with VP8 video (later VP9 and AV1) and initially Vorbis audio. Opus support in WebM was formalized in the WebM specification by Google in December 2013, and the first production implementation was Chrome 33, released February 20, 2014. Since that date, any WebM produced by a modern browser (Chrome, Firefox, Edge, Opera, Safari since 2023 with partial support) using the MediaRecorder API contains Opus audio by default. This makes WebM the only mass-consumer video format that practically guarantees Opus audio inside it. The implications are significant: every screen recording made in Chrome or Firefox since 2014 using extensions like Loom, Screencastify, or the native navigator.mediaDevices.getUserMedia() + MediaRecorder API produces a WebM with Opus. Every YouTube audio stream available as codec 251 is Opus at 160 kbps in WebM. Exported Google Meet recordings, voice notes from some web applications, and podcasts recorded from web platforms like Zencastr or Riverside.fm in WebM mode, all natively contain Opus. Converting WebM to Opus in this context is not really a codec conversion: it is a demultiplexing operation, where the Opus audio stream is separated from the WebM container and repackaged in an OGG container (the standard container for Opus as a standalone file, defined in RFC 7845 of April 2016). There is no audio decoding, no re-encoding, no modification of the audio data. The resulting .opus file is bit-perfect relative to the original Opus.
The technical history of Opus in WebM explains why this tool is essentially a demuxer rather than a converter. Opus was included in the WebM specification in December 2013 after the IETF published RFC 6716 in September 2012 and RFC 7845 (Ogg Encapsulation for the Opus Audio Codec) was in draft as of April 2016. Chrome 33 (February 2014) was the first stable implementation; Firefox 28 (March 2014) followed shortly after. The MediaRecorder API, specified by the W3C in the Media Capture and Streams API Level 2, began supporting WebM+Opus in Chrome 49 (March 2016) for general web page use. Since then, the standard workflow for audio recording in modern web applications is: navigator.mediaDevices.getUserMedia() → MediaRecorder with mimeType 'audio/webm;codecs=opus' → Blob chunks → .webm file. The result is a WebM that often has only an audio track (no video), which technically is an audio-only WebM with Opus. The Opus audio stream inside a WebM uses the same format as Opus in OGG: 20 ms Opus frames by default, in Matroska container with CodecID A_OPUS and CodecPrivate containing the OpusHead header. The only difference from OGG+Opus is the outer container. YouTube has used Opus for its WebM audio streams since 2014 (codec itag 251: Opus 160 kbps in WebM; itag 250: Opus 70 kbps; itag 249: Opus 50 kbps). yt-dlp with -f 251 downloads the YouTube WebM+Opus directly; this tool then demuxes the Opus to get a standalone .opus file.
Convertir.ai executes the WebM→Opus operation entirely in the browser with FFmpeg.wasm. The process: FFmpeg.wasm opens the WebM, analyzes the audio stream, detects whether the codec is Opus (CodecID A_OPUS in Matroska). If it is Opus, it executes -vn -c:a copy: reads the Opus frames from the WebM and repackages them in an OGG container with the OpusHead and OpusTags header structure defined in RFC 7845. This operation involves no audio decoding whatsoever: the data of each Opus frame is copied byte-for-byte from the WebM to the OGG. The operation speed is limited only by file reading and OGG writing in memory, with no CPU load from audio processing. If the WebM has Vorbis instead of Opus (pre-2014 WebM or produced with explicit Vorbis encoding), FFmpeg detects the Vorbis codec, decodes to PCM at 44.1 kHz, applies resampling to 48 kHz, and re-encodes with libopus, adding one transcoding generation in that case. For WebM files from MediaRecorder screen recordings that have only an audio track and no video, the operation is identical: FFmpeg ignores empty tracks and extracts the single Opus audio stream. WebM metadata (title, artist, date in the Matroska segment info) is transferred to OpusTags in the resulting .opus file. The .opus file in OGG is directly compatible with Discord (chat attachments), discord.js and discord.py bot clients, VLC 2.1+, mpv, Firefox 15+, Chrome 25+, and all modern players with Opus support. The service is completely free, no signup, no file limit, and no watermark.