Convert AMR to AU — Free Online Tool
Convert AMR speech recordings to AU format, decoding the compressed Adaptive Multi-Rate audio into uncompressed 16-bit big-endian PCM using the pcm_s16be codec. This is ideal for bringing mobile voice recordings into Unix/Linux audio pipelines or legacy Sun workstation software that expects the classic .au container.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AMR 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
AMR files store audio using the Adaptive Multi-Rate codec (libopencore_amrnb for narrowband at 8 kHz, or libopencore_amrwb for wideband at 16 kHz), a lossy compression scheme specifically engineered for speech intelligibility at very low bitrates (4.75–12.2 kbps). During conversion, FFmpeg fully decodes the AMR-compressed speech frames into raw PCM samples, then re-encodes them into the AU container using pcm_s16be — signed 16-bit integers stored in big-endian byte order. The AU format has almost no overhead: it uses a minimal fixed header followed by raw audio data. Because AMR narrowband operates at 8 kHz, the resulting AU file will also be 8 kHz mono — there is no upsampling. Any quality that was lost when the original audio was encoded to AMR cannot be recovered; the AU file will be a faithful lossless representation of what the AMR file contained, just uncompressed.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool. In this browser-based tool, FFmpeg runs as a WebAssembly binary (FFmpeg.wasm) entirely within your browser — no data leaves your device. |
-i input.amr
|
Specifies the input file as an AMR audio file. FFmpeg detects the AMR container and selects the appropriate decoder — libopencore_amrnb for narrowband AMR (8 kHz) or libopencore_amrwb for wideband AMR (16 kHz) — to decompress the speech frames. |
-c:a pcm_s16be
|
Sets the audio codec for the output to signed 16-bit big-endian PCM. This is the default and most compatible codec for the AU container, producing uncompressed audio stored in Sun's native big-endian byte order — the direct decoded output of the AMR frames with no additional compression. |
output.au
|
Defines the output filename with the .au extension. FFmpeg uses this extension to select the Sun AU muxer, which writes the minimal 24-byte AU header (encoding type, sample rate, channel count, and data size) followed by the raw pcm_s16be audio data. |
Common Use Cases
- Importing voice memos recorded on older Nokia or feature phones (which saved audio as .amr) into Unix-based audio editing tools that natively read .au files
- Feeding mobile call recordings into legacy Sun Microsystems or NeXT audio software that only accepts the AU container format
- Preparing speech samples from AMR-encoded VoIP archives for analysis with command-line Unix tools like sox or au utilities that expect PCM-encoded .au input
- Uncompressing AMR voice messages from messaging apps so they can be played or processed on Unix servers without requiring AMR codec support
- Converting AMR telephone recordings to a stable, headerless-friendly PCM format for archival on Unix systems where AU is a well-understood legacy standard
- Stripping AMR compression from speech data before passing audio through a signal processing pipeline that requires raw PCM in big-endian byte order
Frequently Asked Questions
The AU file will be a lossless representation of the audio information stored inside the AMR file, but AMR itself is a lossy codec — meaning some audio quality was permanently discarded when the recording was originally saved as AMR. The conversion to AU decompresses those AMR frames faithfully into PCM, so no additional quality is lost during this specific step. What you hear in the AU file is exactly what the AMR file contained, just uncompressed.
AMR achieves very aggressive compression — as low as 4.75 kbps — specifically because it discards audio data that is not critical for speech intelligibility. The AU file stores uncompressed PCM audio (pcm_s16be), which uses a fixed 16 bits per sample with no compression at all. A one-minute AMR narrowband file at 12.2 kbps is roughly 92 KB, while the equivalent AU/PCM file at 8 kHz mono 16-bit is about 960 KB — nearly 10 times larger. This size increase is entirely expected and normal.
The AU format itself supports stereo and various sample rates, but AMR narrowband is inherently mono and limited to 8 kHz, while AMR wideband (AMR-WB) is mono at 16 kHz. This tool defaults to the narrowband decoder (libopencore_amrnb), so the output AU file will be mono at 8 kHz. If your source file is AMR-WB, the output will be mono at 16 kHz. You cannot obtain stereo output from a mono AMR source.
Replace -c:a pcm_s16be with -c:a pcm_mulaw (for G.711 µ-law) or -c:a pcm_alaw (for G.711 A-law) in the command. Both are valid AU container codecs and are common in telephony contexts, which pairs well with AMR's speech-oriented origins. For example: ffmpeg -i input.amr -c:a pcm_mulaw output.au. Note that µ-law and A-law are also lossy but are extremely lightweight and universally supported in telephony systems.
Yes. In a Unix/Linux or macOS shell you can loop over all AMR files in a directory with: for f in *.amr; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.amr}.au"; done. On Windows Command Prompt, use: for %f in (*.amr) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". Each file is processed independently, and the output filename matches the input name with the .au extension.
Essentially no. The AMR format stores very little metadata to begin with — it has no standardized title, artist, or timestamp tags. The AU format's header is also extremely minimal, containing only the data offset, data size, encoding type, sample rate, and channel count. FFmpeg will populate these technical fields correctly, but there are no text-based tags to carry over. If you need rich metadata on the output side, consider converting to WAV or FLAC instead of AU.
Technical Notes
AMR narrowband (the default codec in most .amr files) operates at a fixed 8 kHz sample rate, which is the classic telephone bandwidth — sufficient for speech but too narrow for music or broadband audio. When decoded to pcm_s16be for AU output, this 8 kHz mono constraint is preserved exactly as-is; FFmpeg does not interpolate or upsample. The pcm_s16be codec stores samples as signed 16-bit integers in big-endian byte order, which is the native byte order of SPARC and 68k processors that Sun Microsystems used, explaining why AU defaults to big-endian. On modern x86/ARM systems the byte order is little-endian, so applications reading the AU file must handle the byte swap — most Unix audio tools do this transparently. The AU format has no mandatory chunk structure beyond its 24-byte minimum header, making it extremely simple to parse programmatically. One known limitation: AU does not support multiple audio tracks, chapter markers, or subtitle streams, but AMR has none of these either, so nothing is lost in that regard. The conversion introduces no generation loss beyond what already existed in the AMR source.