Extract Audio from WebM to AMR — Free Online Tool
Extract audio from a WebM file and convert it to AMR format using the libopencore_amrnb codec — a speech-optimized, narrow-band codec originally designed for mobile telephony. This tool is ideal for repurposing WebM voice recordings or video narrations into a compact, phone-compatible audio format.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WebM file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
During this conversion, FFmpeg discards the WebM video stream entirely and targets only the audio track. The audio — originally encoded in either Opus or Vorbis inside the WebM container — is fully decoded and then re-encoded from scratch using the libopencore_amrnb codec at 12,200 bps (the highest AMR-NB bitrate). Because AMR-NB is a narrow-band format, it resamples the audio to 8,000 Hz mono, which is optimized for human speech frequencies (300 Hz–3,400 Hz). This means any stereo channels, music, or wide-frequency audio in the source WebM will be downmixed and significantly narrowed in fidelity — a deliberate tradeoff of the AMR format for maximum compression of voice content.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool. This is the same engine running in your browser via WebAssembly — the command shown is fully portable to any desktop installation of FFmpeg. |
-i input.webm
|
Specifies the input WebM file. FFmpeg will read the Matroska-based WebM container and identify all streams inside it — in this case a VP9 video track and an Opus or Vorbis audio track. |
-vn
|
Disables video output entirely, telling FFmpeg to ignore the VP9 video stream from the WebM file. Since AMR is a pure audio format with no video container support, this flag is required to prevent an error. |
-c:a libopencore_amrnb
|
Selects the libopencore_amrnb encoder to produce AMR Narrow-Band audio. This codec decodes the source Opus or Vorbis audio from the WebM and re-encodes it into the AMR-NB bitstream format, automatically enforcing the 8,000 Hz mono constraint of the standard. |
-b:a 12200
|
Sets the AMR-NB encoding bitrate to 12,200 bps, which is the highest quality mode available in the AMR-NB standard. Higher bitrate within this codec means better speech intelligibility; this value corresponds to the AMR Mode 7 (MR122) encoding frame type. |
output.amr
|
Defines the output filename with the .amr extension, which tells FFmpeg to write a raw AMR bitstream file. The AMR container is minimal — there is no wrapper metadata, no tagging support, just the encoded speech frames. |
Common Use Cases
- Converting a WebM screen recording of a voice-over tutorial into an AMR file for playback on feature phones or older mobile devices that don't support Opus or WebM
- Extracting narration audio from a WebM video interview to send as a compact voice memo compatible with SMS or MMS attachments on cellular networks
- Repurposing a WebM conference call recording into AMR format for archival in a telephony system that stores call recordings in AMR
- Converting a WebM voice annotation or browser-recorded audio clip into an AMR file for import into a telecom platform or IVR system
- Stripping the video from a WebM lecture recording and producing a small AMR audio file for distribution over low-bandwidth mobile networks in regions where data is expensive
- Preparing speech-only WebM audio for use in embedded systems or automotive head units that support AMR but not Opus or WebM
Frequently Asked Questions
Yes, and substantially so if your source audio contains anything beyond speech. Opus in WebM typically operates at 128 kbps or higher with a full 48,000 Hz sample rate, delivering near-transparent audio quality. AMR-NB caps out at 12,200 bps with an 8,000 Hz sample rate, meaning it captures only the narrow speech frequency band. Music, ambient sound, and stereo content will sound noticeably degraded or muffled. For pure voice recordings like phone calls, interviews, or narrations, the result is still quite intelligible — AMR was purpose-built for exactly that use case.
No. AMR is an extremely minimal container format and does not support metadata tags like title, artist, album, or date. Any metadata embedded in the source WebM file — including chapter markers, language tags, or multiple audio track labels — will be lost in the conversion. If metadata preservation is important, consider converting to a format like M4A or OGG instead, which support ID3 or Vorbis comment tags.
AMR-NB (libopencore_amrnb) only supports mono audio at 8,000 Hz. FFmpeg will automatically downmix your stereo Opus or Vorbis track from the WebM into a single mono channel before encoding. This means any stereo panning or spatial separation will be lost. For voice content this is rarely a problem, but be aware that anything mixed in stereo — such as a podcast with a music intro — will be collapsed into a single centered channel.
AMR-NB supports a fixed set of bitrates defined by the codec standard: 4750, 5150, 5900, 6700, 7400, 7950, 10200, and 12200 bps. You can change the '-b:a 12200' value in the command to any of these options. For example, use '-b:a 7950' for a smaller file with slightly lower speech quality, or keep '-b:a 12200' for the best available AMR-NB quality. Note that these are not arbitrary values — FFmpeg will snap to the nearest valid AMR-NB bitrate mode if you specify something else.
The displayed command processes a single file, but you can easily adapt it for batch processing in a shell script. On Linux or macOS, use: 'for f in *.webm; do ffmpeg -i "$f" -vn -c:a libopencore_amrnb -b:a 12200 "${f%.webm}.amr"; done'. On Windows Command Prompt, use: 'for %f in (*.webm) do ffmpeg -i "%f" -vn -c:a libopencore_amrnb -b:a 12200 "%~nf.amr"'. This is particularly useful for converting large archives of WebM voice recordings from browser-based capture tools.
Yes. The libopencore_amrwb codec provides AMR Wideband encoding, which supports a 16,000 Hz sample rate and bitrates up to 23,850 bps — offering noticeably better speech quality than the narrow-band AMR-NB used in this tool. To use it, replace '-c:a libopencore_amrnb' with '-c:a libopencore_amrwb' and update the '-b:a' value to a valid AMR-WB bitrate such as 23850. AMR-WB files typically use the '.awb' extension, though '.amr' is sometimes used. Check that your target device or platform supports AMR-WB before switching, as not all systems that handle AMR-NB also support the wideband variant.
Technical Notes
The AMR-NB format produced by libopencore_amrnb is rigidly constrained: it outputs 8,000 Hz mono audio only, making it incompatible with any source audio characteristics that fall outside that profile. FFmpeg handles the necessary downsampling and downmixing automatically during the conversion from WebM, but this is a lossy, lossy pipeline — the Opus or Vorbis audio in the WebM is first decoded to PCM, then re-encoded into AMR, so two generations of lossy encoding are applied. The output file will be extremely small compared to the source WebM, often 10–20x smaller, because 12,200 bps is a very low bitrate. AMR files have virtually no container overhead and no support for subtitles, chapters, multiple audio streams, or cover art — all of which WebM can carry. Compatibility is strongest on Android devices, IVR systems, and telecom infrastructure; desktop media players may require a plugin or codec pack to play .amr files natively. If your WebM source has multiple audio tracks, FFmpeg will select the default track (usually the first one) unless you specify a stream with '-map 0:a:0' or similar.