Convert WAV to AMR — Free Online Tool

Convert WAV audio files to AMR format using the libopencore_amrnb codec, optimized for speech compression at mobile telephony bitrates. This is ideal for shrinking high-quality uncompressed voice recordings into compact AMR files compatible with feature phones, VoIP systems, and messaging platforms.

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

WAV files typically store uncompressed PCM audio (commonly pcm_s16le at 16-bit depth), which means they carry every sample with no lossy compression. During conversion to AMR, FFmpeg re-encodes the audio stream using the libopencore_amrnb codec, which is a narrowband speech codec designed to operate at sample rates of 8kHz with bitrates ranging from 4.75 kbps to 12.2 kbps. If your WAV file has a higher sample rate (e.g., 44.1kHz or 48kHz) or stereo channels, FFmpeg will automatically downsample to 8kHz mono to meet the AMR-NB specification. This is a lossy transcoding process — the original PCM data is discarded and replaced with a heavily compressed speech-optimized representation — so the resulting AMR file will be dramatically smaller but suited only for voice content, not music or broadband audio.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles decoding the WAV input and encoding to AMR output entirely within your browser via WebAssembly.
-i input.wav Specifies the input WAV file. FFmpeg will detect its PCM codec (typically pcm_s16le), sample rate, bit depth, and channel count from the WAV header before beginning the decode and downsample pipeline.
-c:a libopencore_amrnb Sets the audio encoder to libopencore_amrnb, the open-source implementation of the AMR Narrowband codec. This encoder enforces the 8kHz mono constraint and produces AMR-NB frames compatible with GSM/mobile telephony systems.
-b:a 12200 Sets the AMR-NB encoding mode to 12.2 kbps, which corresponds to Mode 7 (the highest quality mode) in the AMR-NB standard. This gives the best possible speech intelligibility the narrowband codec can deliver while still producing files roughly 1/100th the size of the original uncompressed WAV.
output.amr Defines the output filename with the .amr extension, which triggers FFmpeg to write the IETF AMR file container header followed by the encoded AMR-NB speech frames.

Common Use Cases

  • Preparing voice memos or dictation recordings captured as WAV on a PC for playback on older feature phones or embedded telephony hardware that only supports AMR
  • Compressing WAV recordings from call center or IVR systems into AMR for long-term voice archive storage where disk space is constrained
  • Converting WAV audio interviews or field recordings into AMR for submission to platforms or messaging apps (such as older WhatsApp versions or MMS systems) that use AMR as their native voice note format
  • Reducing the file size of broadcast-quality WAV voice-overs before transmission over low-bandwidth networks or satellite links used in remote journalism
  • Producing AMR audio prompts from high-quality WAV source files for use in embedded GSM modules or SIM-based IoT devices that play speech audio
  • Extracting and re-encoding WAV voice tracks from multi-track recording sessions into individual AMR clips for mobile telephony testing and QA workflows

Frequently Asked Questions

Yes, and this is expected — AMR-NB is a narrowband speech codec that hard-limits audio to 8kHz mono, so any music, stereo content, or high-frequency detail in your WAV file will be lost entirely. For human speech recorded cleanly, AMR at 12.2 kbps (the default used here) is generally intelligible and acceptable for telephony use. However, it is not suitable for music, sound effects, or any audio where fidelity beyond voice is important.
AMR-NB (libopencore_amrnb) is a mono-only codec — it does not support stereo channels. FFmpeg automatically downmixes your stereo WAV to mono during the conversion. If your WAV has two channels with distinct left and right content, they will be mixed together in the output. This is a fundamental limitation of the AMR-NB specification, not a tool setting you can override.
AMR-NB requires a fixed sample rate of 8000 Hz. If your WAV file is recorded at 44.1kHz, 48kHz, or any other rate, FFmpeg will resample it down to 8kHz before encoding. This resampling is part of why AMR sounds narrowband — frequencies above 4kHz are removed, which is perfectly adequate for telephone-quality speech but will strip detail from any non-voice content.
Replace the value after -b:a in the command with one of the valid AMR-NB bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (in bits per second). For example, use -b:a 4750 for the smallest possible file, though speech intelligibility decreases at lower bitrates. The default of 12200 bps gives the best quality AMR-NB can offer and is recommended unless file size is a critical constraint.
Yes. On Linux or macOS you can loop over files in the terminal: for f in *.wav; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.wav}.amr"; done. On Windows Command Prompt, use: for %f in (*.wav) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". The browser-based tool processes one file at a time, but the FFmpeg command is fully scriptable for bulk operations.
AMR-WB (libopencore_amrwb) supports 16kHz audio and bitrates up to 23.85 kbps, delivering noticeably better speech quality — sometimes called HD Voice. To use it, change the codec flag to -c:a libopencore_amrwb and set a wideband-compatible bitrate. However, AMR-WB has narrower device support than AMR-NB and the output file extension is typically .awb rather than .amr. The default in this tool uses AMR-NB because it is far more universally compatible with legacy mobile and telephony systems.

Technical Notes

AMR-NB encoded via libopencore_amrnb is a Mode-based codec — the eight selectable bitrates correspond to fixed codec modes rather than variable bitrate targets, so FFmpeg maps your -b:a value to the nearest valid mode. The output AMR file uses the IETF storage format (.amr header 0x2321414d52...), which is distinct from the 3GPP in-band AMR used inside .3gp containers. WAV files can carry a wide range of PCM bit depths (8, 16, 24, 32-bit) and sample rates, all of which are flattened to 8kHz 16-bit mono before AMR encoding — so starting from a higher-quality WAV source provides no benefit over a clean 8kHz mono WAV in terms of the final AMR output. Metadata stored in WAV INFO chunks (artist, title, etc.) is not carried over to the AMR container, as AMR has no standardized metadata block. If your WAV file contains codecs other than standard PCM (such as ADPCM or FLAC-in-WAV), FFmpeg will decode those transparently before re-encoding to AMR. One known limitation: some strict AMR parsers on embedded devices reject files where the frame count or header alignment is slightly off; if you encounter playback issues, verify the output with a tool like amrplayer or test on the target device directly.

Related Tools