Convert WebM to WEBA — Free Online Tool

Extract and convert the audio track from a WebM video into a WEBA file — an audio-only WebM container encoding the stream with the Opus codec. Because both WebM and WEBA share the same Opus audio codec, this conversion strips the video stream and repackages the audio with minimal quality impact, making it ideal for lightweight web audio delivery.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

WebM files typically carry a VP9 video stream alongside an Opus or Vorbis audio track, all wrapped in a Matroska-based container. Converting to WEBA discards the video stream entirely using the -vn flag and re-encodes (or in many cases near-passthrough encodes) the audio using the Opus codec at the specified bitrate. Because WEBA is simply a WebM container restricted to audio-only content, the output is structurally identical to a WebM file but without any video data. If the source audio is already Opus-encoded, the main cost is a light re-encode to enforce the target bitrate; if the source uses Vorbis, the codec is transcoded to Opus. The result is a compact, streaming-ready audio file natively supported in modern browsers via the HTML5 audio element.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all media demuxing, decoding, encoding, and muxing for this conversion entirely within your browser via WebAssembly.
-i input.webm Specifies the input WebM file, which contains a VP9 video stream and an Opus or Vorbis audio stream in a Matroska-based container.
-c:a libopus Sets the audio encoder to libopus, encoding the output audio track using the Opus codec — the standard and most efficient audio codec for the WEBA/WebM container and native HTML5 web audio playback.
-b:a 128k Targets an audio bitrate of 128 kilobits per second for the Opus encoder, which provides transparent quality for most music and speech content while keeping the WEBA file compact.
-vn Disables video output entirely, dropping the VP9 video stream from the WebM source and producing a valid audio-only WEBA file. Without this flag, FFmpeg would attempt to include the video stream, which is not permitted in the WEBA format.
output.weba Specifies the output filename with the .weba extension, which signals to FFmpeg to write a WebM container carrying only the Opus audio track — the defining structure of the WEBA format.

Common Use Cases

  • Strip the audio from a WebM screen recording or tutorial video to produce a standalone podcast episode or lecture audio file for web distribution.
  • Extract background music or sound effects from a WebM animation or motion graphics file to reuse as looping audio assets in a web project.
  • Reduce bandwidth consumption on a web page by serving only the audio track of a WebM presentation to users who do not need the video component.
  • Convert a WebM video of a live performance or conference talk into a WEBA audio file so listeners can follow along on low-data connections without streaming video.
  • Prepare audio-only versions of WebM educational content for accessibility purposes, such as screen-reader-friendly or audio-described media files.
  • Archive just the audio commentary from a WebM gameplay recording while discarding the large video stream to save storage space.

Frequently Asked Questions

If the WebM source already uses Opus audio, the conversion re-encodes the stream at the specified bitrate (defaulting to 128k), which introduces a small amount of generation loss. Opus at 128 kbps is considered transparent for most content, so the quality difference is rarely perceptible. If the source uses Vorbis audio instead, the transcode to Opus at 128k still yields excellent quality, as Opus is generally more efficient than Vorbis at equivalent bitrates. To minimize any loss, you can raise the bitrate to 192k or 256k in the command.
A WEBA file is simply a WebM container that holds only audio tracks — no video, no subtitles, no chapters. The underlying container format is identical (Matroska-based), and both support the same Opus and Vorbis codecs. The .weba extension signals to browsers and media players that the file is audio-only, which allows the HTML5 audio element to handle it directly without expecting a video stream. Functionally, renaming a WEBA file to .webm and stripping its video would produce the same result.
Yes. WEBA with Opus audio is supported natively in Chrome, Firefox, Edge, and Opera via the HTML5 audio element. Safari added WebM/Opus support in version 16 (2022), so modern Safari on macOS and iOS handles it as well. If you need maximum browser compatibility including older Safari versions, consider converting to an AAC-based format like M4A instead. For most current web deployments, WEBA with Opus is a reliable, royalty-free choice.
Replace the value after -b:a with your desired bitrate. For example, to encode at 192 kbps run: ffmpeg -i input.webm -c:a libopus -b:a 192k -vn output.weba. Common options are 64k for voice content, 128k for general music or mixed audio, and 192k–256k for high-fidelity music. Opus delivers very good quality even at 96k, so 128k is typically more than sufficient for most use cases.
Yes, with a simple shell loop. On Linux or macOS run: for f in *.webm; do ffmpeg -i "$f" -c:a libopus -b:a 128k -vn "${f%.webm}.weba"; done. On Windows Command Prompt use: for %f in (*.webm) do ffmpeg -i "%f" -c:a libopus -b:a 128k -vn "%~nf.weba". Each file is processed sequentially, and the output WEBA files are placed in the same directory with the same base name.
FFmpeg copies stream metadata by default during this conversion, so tags embedded in the WebM's Matroska container — such as title, artist, or date — are generally preserved in the WEBA output. However, WebM metadata support is less standardized than formats like MP3 or FLAC, and some players may not display it. If you need to explicitly copy all metadata, you can add -map_metadata 0 to the command. Chapter and subtitle data from the WebM are dropped entirely, since the WEBA format does not support those features.

Technical Notes

WEBA uses the same Matroska-derived container as WebM but is constrained to a single audio stream with no video, subtitle, or chapter support. The Opus codec used by default is standardized in RFC 6716 and is optimized for both low-latency streaming and high-quality music reproduction, making it well-suited to the web delivery use cases WEBA targets. One important limitation is that WEBA only supports lossy encoding — unlike the source WebM format, which can carry lossless video and near-lossless configurations, there is no lossless audio path available in WEBA. The -vn flag is non-negotiable for this conversion; omitting it would cause FFmpeg to attempt to mux the VP9 video stream into the WEBA output, which is not a valid WEBA file. If the source WebM contains multiple audio tracks, FFmpeg will by default select only the first (or best-ranked) audio stream; use -map 0:a:1 to explicitly select an alternate track. File sizes are dramatically smaller than the source WebM because the VP9 video stream — which accounts for the vast majority of a typical WebM file's size — is completely removed.

Related Tools