Convert AIFF to AMR — Free Online Tool
Convert AIFF audio files to AMR format using the libopencore_amrnb codec, compressing uncompressed PCM audio down to speech-optimized bitrates as low as 4.75 kbps. Ideal for reducing high-fidelity Apple audio recordings to mobile-friendly voice files compatible with telephony systems and legacy mobile devices.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AIFF 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
AIFF files store audio as uncompressed PCM data (typically pcm_s16be, meaning 16-bit big-endian signed integers) at full resolution — a one-minute stereo AIFF at 44.1 kHz occupies roughly 10 MB. During conversion to AMR, FFmpeg decodes the raw PCM stream and re-encodes it using the libopencore_amrnb codec, which applies Adaptive Multi-Rate compression specifically designed for speech. AMR-NB (Narrowband) operates at a fixed 8 kHz sample rate with 8-bit mono output, so FFmpeg automatically downmixes stereo to mono and resamples from the AIFF's original sample rate. The result is a dramatically smaller file — a bitrate of 12,200 bps (the AMR highest quality mode) produces files roughly 500x smaller than the original uncompressed AIFF. This is a lossy, destructive conversion; the original high-fidelity audio data cannot be recovered from the AMR output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the same engine that runs inside this browser tool via WebAssembly. All subsequent flags are interpreted as instructions to this process. |
-i input.aiff
|
Specifies the input file: an AIFF container holding uncompressed PCM audio (commonly pcm_s16be — 16-bit big-endian signed integer samples, Apple's default AIFF encoding). FFmpeg reads the raw PCM stream from this file to begin the conversion pipeline. |
-c:a libopencore_amrnb
|
Selects the libopencore_amrnb encoder for the audio stream — the open-source AMR Narrowband codec implementation. This replaces the uncompressed PCM data from the AIFF with AMR-compressed speech frames at 8 kHz mono, which is the defining characteristic of the output file's voice-telephony compatibility. |
-b:a 12200
|
Sets the AMR-NB bitrate to 12,200 bits per second, which is the highest available quality mode for AMR Narrowband (Mode 7, sometimes called MR122). This produces the most intelligible speech output within the AMR-NB constraint — approximately 1.5 KB per second of audio, versus roughly 176 KB per second for a 16-bit 44.1 kHz stereo AIFF. |
output.amr
|
Defines the output filename with the .amr extension, which signals to FFmpeg to wrap the libopencore_amrnb-encoded stream in the AMR file container. The .amr extension is recognized natively by Android devices, mobile telephony platforms, and multimedia players that support the ITU-T GSM speech codec family. |
Common Use Cases
- Preparing voice memos or interview recordings originally captured in AIFF on macOS for upload to telephony or IVR systems that only accept AMR input
- Reducing the file size of spoken-word AIFF recordings — such as dictation or narration — for transmission over low-bandwidth mobile networks
- Converting Apple Logic Pro or GarageBand vocal guide tracks exported as AIFF into AMR files for playback on older feature phones or embedded devices
- Archiving phone-script or voiceover reference recordings from a high-quality AIFF master into a compact AMR file for sharing with mobile QA testers
- Converting AIFF-format audiobook chapter samples or spoken previews into AMR for compatibility with mobile apps that use the AMR container natively
- Generating AMR voice attachments from AIFF source files for MMS or email clients on platforms that require the .amr extension for inline audio playback
Frequently Asked Questions
Yes, and significantly so for anything other than speech. AIFF stores audio as uncompressed PCM at full bit depth (16, 24, or 32 bits) and full sample rates (44.1 kHz or higher), while AMR-NB is limited to 8 kHz mono — roughly telephone quality. Music, sound effects, or any wide-frequency content will sound muffled and narrow. For human voice content recorded cleanly, AMR at 12,200 bps is intelligible and acceptable, but the conversion is irreversible and lossy. Always keep your original AIFF file as the master.
AMR-NB was designed exclusively for mobile telephony, where mono speech transmission is the standard — stereo is simply not part of the specification. When FFmpeg converts your stereo AIFF, it automatically downmixes both channels into a single mono channel before encoding with libopencore_amrnb. If your AIFF contains important stereo separation (e.g., a two-speaker interview with left/right channel isolation), that spatial information will be permanently merged. For dual-channel interview recordings, consider splitting channels before conversion if you need to preserve speaker separation.
AMR-NB (Narrowband) encodes at 8 kHz sample rate with bitrates from 4,750 to 12,200 bps, targeting basic voice intelligibility. AMR-WB (Wideband) encodes at 16 kHz and supports higher bitrates (up to 23,850 bps), producing noticeably better voice quality — closer to HD Voice. The default command uses AMR-NB (libopencore_amrnb) for maximum compatibility with older devices and systems. If your target platform supports AMR-WB and your AIFF source contains speech with important clarity (e.g., professional narration), switch to -c:a libopencore_amrwb for better results. Check your target device or system's AMR variant support before choosing.
Replace the -b:a 12200 value with any of the eight valid AMR-NB bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (all in bits per second). For example, use -b:a 4750 for the smallest possible file — roughly 1.4 KB per second of audio. Note that AMR-NB is strict about these fixed bitrate modes; FFmpeg will snap to the nearest valid value if you enter something else. For voice content where intelligibility is the priority over quality, 7950 or 10200 often offer a good balance between file size and clarity.
No. The AMR container format has virtually no support for embedded metadata tags. AIFF files can store metadata such as artist name, title, and comments in their FORM chunk, but the AMR format specification does not define equivalent metadata fields. FFmpeg will silently drop all tag information during this conversion. If preserving metadata matters for your workflow, document the AIFF tags separately before converting, or consider a format like M4A or OGG if metadata retention is a hard requirement.
The single-file command shown is a direct template for batch processing. On Linux or macOS, run: for f in *.aiff; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.aiff}.amr"; done — this loops through all AIFF files in the current directory and converts each one, preserving the base filename. On Windows Command Prompt, use: for %f in (*.aiff) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". This is especially useful for batches over 1 GB total that exceed the browser tool's per-file limit.
Technical Notes
The libopencore_amrnb encoder used in this conversion is an open-source implementation of the 3GPP AMR-NB codec and must be compiled into FFmpeg at build time — it is not included in all FFmpeg distributions due to patent licensing considerations. If you run the command locally and receive an 'encoder not found' error, you will need to install a version of FFmpeg built with --enable-libopencore-amrnb, such as the builds from ffmpeg.org's Windows packages or via Homebrew on macOS (brew install ffmpeg). The AMR-NB format hard-caps its sample rate at 8,000 Hz, meaning FFmpeg will insert an automatic resampling step regardless of whether your AIFF was recorded at 44.1 kHz, 48 kHz, or 96 kHz — all high-frequency content above 4 kHz is discarded. The .amr file extension is used for both AMR-NB and AMR-WB single-channel files; multi-channel AMR would use .3ga, though that is not relevant here. AMR files produced by this command are compatible with Android's native media player, most feature phones, and telephony middleware platforms such as Asterisk and FreeSWITCH.