Convert MP3 to AMR — Free Online Tool
Convert MP3 audio files to AMR format using the libopencore_amrnb codec, optimized for speech and mobile telephony applications. AMR's ultra-low bitrates (as low as 4.75 kbps) make it ideal for compressing voice recordings where file size matters far more than music fidelity.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MP3 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
This conversion decodes the MP3 audio stream (which uses the MPEG Layer III psychoacoustic compression model optimized for music and general audio) and re-encodes it using the AMR-NB (Narrowband) codec via libopencore_amrnb. AMR-NB operates at a fixed 8 kHz sample rate, so if your MP3 has a higher sample rate (typically 44.1 kHz or 48 kHz), FFmpeg will downsample the audio automatically. The encoder then applies AMR's speech-focused compression algorithm, which is tuned to preserve the formant frequencies and cadence of human voice rather than the full frequency range of music. The result is a dramatically smaller file, though any musical content or high-frequency audio will sound noticeably degraded since AMR-NB tops out at 4 kHz of audio bandwidth.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool. In this browser-based tool, FFmpeg runs entirely via WebAssembly (FFmpeg.wasm) on your device — no audio data is sent to a server. |
-i input.mp3
|
Specifies the input file, an MP3 encoded with the MPEG Audio Layer III codec (libmp3lame). FFmpeg will decode this compressed audio stream into raw PCM before re-encoding it to AMR format. |
-c:a libopencore_amrnb
|
Selects the AMR-NB (Narrowband) audio encoder from the OpenCORE library for the output. This codec is specifically tuned for speech compression at 8 kHz and is the standard choice for producing .amr files compatible with mobile telephony systems. |
-b:a 12200
|
Sets the AMR-NB encoding bitrate to 12,200 bps (12.2 kbps), which corresponds to the MR122 mode — the highest quality mode available in AMR-NB. This provides the best speech intelligibility within the constraints of the codec while still resulting in a file roughly 10x smaller than a 128 kbps MP3. |
output.amr
|
Defines the output filename with the .amr extension, which tells FFmpeg to use the AMR file storage format (RFC 4867). This container wraps the AMR-NB encoded audio stream with the required file header recognized by mobile devices and telephony applications. |
Common Use Cases
- Compressing recorded voicemails or voice memos originally saved as MP3 for storage on older mobile phones or embedded systems with strict memory limits
- Preparing speech audio for integration into telephony systems or IVR (Interactive Voice Response) platforms that natively accept AMR files
- Reducing the file size of interview or dictation recordings for transmission over low-bandwidth connections where MP3 is still too large
- Converting MP3 voice recordings to AMR for compatibility with feature phones or legacy Android devices that use AMR as their native voice recording format
- Archiving spoken-word content such as lectures or podcasts in AMR when storage is severely constrained and music fidelity is not a concern
- Generating AMR audio assets for multimedia messaging (MMS) or embedded audio in mobile applications targeting older 3G-era device ecosystems
Frequently Asked Questions
Almost certainly not. AMR-NB was engineered exclusively for human speech and limits audio bandwidth to approximately 300 Hz–3400 Hz — the range of a telephone call. Music, background scores, or any audio with significant bass or high-frequency content will sound heavily muffled and distorted. This conversion makes practical sense only for recordings that are primarily spoken word, such as voicemails, interviews, or dictation.
AMR-NB (Narrowband) is hardcoded to operate at 8 kHz — this is a fundamental constraint of the codec specification, not a limitation of FFmpeg or this tool. When your MP3 source file has a sample rate of 44.1 kHz or 48 kHz, FFmpeg automatically resamples the audio down to 8 kHz as part of the conversion. This downsampling is irreversible and is the primary reason AMR is unsuitable for music. If you need higher audio quality in AMR, consider AMR-WB (Wideband), which operates at 16 kHz, though it still remains speech-focused.
Replace the value after -b:a with one of the valid AMR-NB bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (in bits per second). For example, to use the lowest possible bitrate, the command becomes: ffmpeg -i input.mp3 -c:a libopencore_amrnb -b:a 4750 output.amr. Note that AMR-NB operates at fixed mode bitrates — these specific values correspond to the codec's defined encoding modes, and values between them are not supported.
No. The AMR container format does not support ID3 tags or any equivalent metadata standard. All embedded metadata from your MP3 — including title, artist, album art, and track number — will be lost during this conversion. If preserving metadata is important, you should retain the original MP3 file alongside the AMR version.
Significantly smaller. A typical MP3 at 128 kbps produces about 1 MB per minute of audio. An AMR-NB file at the default 12.2 kbps produces roughly 0.09 MB per minute — approximately an 11x reduction. At the lowest AMR-NB bitrate of 4.75 kbps, that ratio grows to about 27x. This dramatic compression is why AMR became the standard for mobile voice recordings in the 3G era, where storage and bandwidth were severely limited.
Yes, using a shell loop. On Linux or macOS, you can run: for f in *.mp3; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.mp3}.amr"; done. On Windows Command Prompt, use: for %f in (*.mp3) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". This is especially useful for processing large batches of voice recordings, since the browser-based tool handles one file at a time.
Technical Notes
The libopencore_amrnb encoder implements the AMR-NB codec as standardized in 3GPP TS 26.071. A critical constraint is the mandatory 8 kHz sample rate and mono channel requirement — FFmpeg will automatically downmix stereo MP3 input to mono and resample to 8 kHz, both of which are lossy irreversible operations. The eight available bitrate modes (4.75–12.2 kbps) are not arbitrary: they correspond to the codec's fixed Mode Indication values (MR475 through MR122), and the encoder will silently snap any non-standard bitrate request to the nearest valid mode. The .amr file extension corresponds to the AMR file storage format defined in RFC 4867, which uses the magic number '#!AMR' at the start of the file. Note that libopencore_amrnb must be compiled into FFmpeg as it is a separately licensed library — some minimal FFmpeg builds omit it. The browser-based tool here handles this transparently via FFmpeg.wasm, but users running the command locally should verify their FFmpeg build includes AMR support by running ffmpeg -codecs | grep amr.