Extract Audio from WebM to AAC — Free Online Tool

Extract the audio track from a WebM file and save it as an AAC (.aac) file — transcoding from Opus or Vorbis to AAC, the audio codec native to Apple devices, iTunes, and most mobile platforms. Ideal when you need broad hardware and software compatibility from a web-optimized source.

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 audio encoded in either Opus or Vorbis — both open-source codecs optimized for web streaming but with limited native support outside browsers. This tool discards the video stream entirely and re-encodes the audio into AAC using FFmpeg's built-in AAC encoder. Because Opus and Vorbis are not compatible with the AAC container, a full audio transcode is required: the audio is decoded from its source codec and re-encoded at 128k bitrate by default. This means there is a generation loss — two rounds of lossy compression — so starting from the highest quality WebM source available will minimize any audible degradation. The result is a standalone .aac file with no video data, ready for use in Apple ecosystems, mobile apps, and any AAC-compatible player.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool — the open-source multimedia processing engine that handles the WebM decoding and AAC encoding pipeline for this conversion.
-i input.webm Specifies the input WebM file. FFmpeg reads the Matroska-based WebM container and identifies all streams inside — in this case, typically a VP9 video stream and an Opus or Vorbis audio stream.
-vn Disables video output entirely, telling FFmpeg to ignore the VP9 (or other) video stream from the WebM file. This is what makes the output a pure audio file rather than a video file with audio.
-c:a aac Selects FFmpeg's built-in AAC encoder to re-encode the audio. Since Opus and Vorbis (the audio codecs used in WebM) are incompatible with the AAC format, this encoder fully decodes and re-encodes the audio stream into AAC.
-b:a 128k Sets the AAC output bitrate to 128 kilobits per second, a standard default that balances file size and audio quality. For reference, the source WebM Opus audio is often encoded at a similar or lower bitrate, so raising this value above the source bitrate will not recover lost quality.
output.aac Names the output file and signals FFmpeg to write a raw AAC bitstream in ADTS format. The .aac extension tells FFmpeg to use the ADTS muxer, which produces a headerless AAC file compatible with virtually all modern media players and Apple devices.

Common Use Cases

  • Extracting the audio from a WebM screen recording or tutorial video to create a standalone podcast episode or audio guide
  • Converting browser-recorded WebM audio (captured via MediaRecorder API with Opus encoding) to AAC for upload to iTunes, Apple Podcasts, or iOS apps
  • Pulling the soundtrack from a WebM music video downloaded from a web source to create an AAC audio file compatible with iPhone and iPod music libraries
  • Preparing AAC audio assets from WebM source files for use in iOS or macOS app development, where AAC is the preferred native audio format
  • Stripping audio from a WebM video file to reduce file size for archiving or distribution when only the audio content is needed
  • Converting Opus-encoded WebM audio to AAC for compatibility with car stereos, smart TVs, or media players that support AAC but not Opus

Frequently Asked Questions

Yes, there will be some quality loss. WebM files typically use Opus or Vorbis audio — both of which are lossy formats — and converting to AAC requires decoding and re-encoding, introducing a second round of lossy compression. The audible impact depends on the source bitrate and the target AAC bitrate; at 128k, the result is generally transparent for most listeners. To minimize degradation, use the highest-bitrate WebM source available and consider raising the AAC output bitrate to 192k or 256k if you can tolerate a larger file.
Yes, the source codec matters. Opus cannot be stored in an AAC container, so FFmpeg must fully decode the Opus stream and re-encode it as AAC — there is no lossless passthrough option here. This is different from container remux operations where the audio can be copied without re-encoding. If your WebM uses Vorbis instead of Opus, the same applies: a full transcode to AAC is always necessary for this conversion.
A raw .aac file is an ADTS-framed AAC bitstream without a container wrapper, while .m4a and .mp4 files wrap AAC audio inside the MPEG-4 container (MP4/M4A). Raw .aac files are broadly compatible but lack support for chapter markers, cover art, and rich metadata tagging. If you need those features — for example, for podcast distribution or iTunes library management — you may want to use an M4A output instead. For simple audio extraction and playback, raw AAC works fine on virtually all modern devices.
Metadata preservation from WebM to raw AAC is limited. FFmpeg will attempt to map compatible metadata tags (like title, artist, and album), but WebM uses Matroska-style tagging which does not always translate cleanly into the AAC ADTS format. Cover art embedded in the WebM will not be carried over to a raw .aac file. If metadata fidelity is important, verify the output with a tag editor after conversion.
Replace the '-b:a 128k' flag with your desired bitrate. For example, use '-b:a 192k' for higher quality or '-b:a 96k' for a smaller file. The full command would look like: ffmpeg -i input.webm -vn -c:a aac -b:a 192k output.aac. AAC at 192k or 256k is generally considered excellent quality, while 128k is a reasonable default for most listening scenarios. Bitrates above 320k offer diminishing returns for AAC.
The single-file command shown here processes one file at a time, but you can wrap it in a shell loop for batch processing. On Linux or macOS, run: for f in *.webm; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k "${f%.webm}.aac"; done. On Windows Command Prompt, use: for %f in (*.webm) do ffmpeg -i "%f" -vn -c:a aac -b:a 128k "%~nf.aac". This will process every WebM file in the current directory and produce a matching .aac file for each.

Technical Notes

WebM audio is most commonly encoded in Opus (the modern default, especially for browser-captured media) or Vorbis (the older WebM audio codec). Neither can be remuxed into an AAC stream — both require a full decode-encode transcode cycle. FFmpeg's native AAC encoder (used here) is solid and widely compatible, though the third-party libfdk_aac encoder — if available in your local FFmpeg build — generally produces slightly better quality at equivalent bitrates due to its more mature psychoacoustic model. The output .aac file uses the ADTS framing format, which is broadly supported but does not carry cover art, chapters, or multiple audio tracks — features that WebM can technically support. If your source WebM contains multiple audio tracks, only the first (default) audio track will be extracted. For users converting browser-captured WebM recordings (e.g., from MediaRecorder), note that Opus in WebM sometimes uses variable bitrate encoding with no strict bitrate ceiling, so the perceived quality of the output depends heavily on the original recording conditions rather than just the source bitrate value.

Related Tools