Convert FLAC to AMR — Free Online Tool
Convert FLAC lossless audio files to AMR format using the libopencore_amrnb codec, optimized for speech encoding and mobile telephony. This tool runs entirely in your browser via FFmpeg.wasm — no uploads required — and displays the exact FFmpeg command for local processing of files over 1GB.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLAC 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
FLAC stores audio as a losslessly compressed PCM stream, preserving every sample of the original recording. During conversion to AMR, FFmpeg decodes the FLAC audio to raw PCM, then re-encodes it using the libopencore_amrnb codec — a narrowband Adaptive Multi-Rate codec designed specifically for speech. AMR-NB operates at a fixed 8kHz sample rate and supports only mono audio, so FFmpeg will automatically downsample and downmix your FLAC file to meet these constraints. The resulting AMR file is dramatically smaller than the source but optimized purely for speech intelligibility, not music fidelity.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool, which handles decoding the FLAC input, resampling and downmixing the audio to AMR-NB requirements, and encoding the output. |
-i input.flac
|
Specifies the input FLAC file. FFmpeg reads the losslessly compressed audio stream and decodes it to raw PCM internally before passing it to the AMR encoder. |
-c:a libopencore_amrnb
|
Selects the libopencore_amrnb encoder for the audio stream, which implements the AMR Narrowband codec used in GSM mobile telephony. This encoder constrains the output to 8kHz mono, regardless of the input FLAC's sample rate or channel count. |
-b:a 12200
|
Sets the AMR-NB encoding mode to 12200 bits per second (12.2 kbps), which is Mode 7 — the highest quality mode available in the AMR-NB standard, corresponding to the GSM Enhanced Full Rate codec target. |
output.amr
|
Defines the output filename with the .amr extension, which signals FFmpeg to use the AMR container format compatible with the libopencore_amrnb encoded stream. |
Common Use Cases
- Preparing a voice memo or spoken-word recording originally captured in FLAC for playback on older mobile phones or feature phones that support AMR natively
- Converting a losslessly recorded interview or podcast segment to AMR for embedding in a multimedia messaging service (MMS) or 3GPP video container
- Archiving field recordings of speech or dictation from a high-quality FLAC recorder into the compact AMR format used by many voice note apps
- Reducing the file size of FLAC-encoded voice recordings for transmission over bandwidth-constrained channels such as legacy VoIP or radio systems
- Testing speech codec performance by converting a reference FLAC speech sample to AMR-NB to evaluate intelligibility at different AMR bitrates
- Producing AMR audio assets for integration into IVR (interactive voice response) systems or telephony platforms that require AMR-encoded prompts
Frequently Asked Questions
Yes — this is a significant lossy conversion with noticeable quality reduction, especially for music. AMR-NB was engineered for human speech at an 8kHz sample rate, so your FLAC file's full-frequency content (typically 20Hz–22kHz+) gets hard-truncated to 4kHz maximum bandwidth. For voice recordings and speech, the result is intelligible and compact; for music, instruments, or anything with rich high-frequency content, the quality degradation is severe and irreversible.
AMR-NB (libopencore_amrnb) supports only mono audio — the codec specification does not include a stereo mode. FFmpeg automatically downmixes your stereo or multi-channel FLAC to a single mono channel during the conversion. If your FLAC source has separate left/right content, that stereo separation is lost in the output. This is a fundamental limitation of the AMR-NB standard, not a tool configuration issue.
Replace the '-b:a 12200' value with a lower AMR-NB bitrate. Valid AMR-NB bitrates are: 4750, 5150, 5900, 6700, 7400, 7950, 10200, and 12200 (bits per second). For example, use '-b:a 4750' for the smallest possible file size at the cost of speech intelligibility, or '-b:a 7950' for a balance between size and clarity. The default of 12200 bps used by this tool provides the highest AMR-NB quality.
No — the AMR container format has very limited or no standardized support for rich metadata tags. FLAC's extensive Vorbis comment metadata (artist, album, title, genre, date, ReplayGain tags, cue sheets, etc.) will not carry over to the AMR output. If preserving metadata is important, keep your original FLAC file as the archival source and treat the AMR file purely as a speech-delivery artifact.
Yes — AMR-WB uses the libopencore_amrwb codec and operates at 16kHz sample rate instead of 8kHz, doubling the audio bandwidth and significantly improving speech quality. Change the command to use '-c:a libopencore_amrwb' and set a compatible wideband bitrate such as '-b:a 23850'. However, AMR-WB output typically uses the .awb extension or a 3gp container, and compatibility with older devices may be more limited than AMR-NB.
Yes — on the command line, you can use a shell loop to process multiple files. On Linux or macOS, run: for f in *.flac; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.flac}.amr"; done. On Windows Command Prompt, use: for %f in (*.flac) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". The browser tool processes one file at a time, so the command-line approach is recommended for bulk conversions.
Technical Notes
AMR-NB (Adaptive Multi-Rate Narrowband), encoded here via the libopencore_amrnb library, is constrained to an 8kHz sample rate and mono channel — parameters baked into the codec standard for GSM telephony. Any FLAC file with a higher sample rate (44.1kHz, 48kHz, 96kHz, etc.) will be resampled to 8kHz by FFmpeg's resampling engine, and stereo files are downmixed to mono. The bitrate parameter '-b:a' in AMR is not a continuous range but a discrete set of eight Mode Indicator values (4750 to 12200 bps) corresponding to the AMR codec's internal encoding modes. AMR uses variable-frame encoding internally but FFmpeg targets the specified mode. The libopencore_amrnb library must be compiled into your local FFmpeg build to run this command; many default FFmpeg distributions include it, but some Linux package manager builds omit it due to patent licensing considerations — use a build from ffmpeg.org or one explicitly listed as including non-free codecs. ReplayGain data, cue sheets, and all FLAC-specific metadata are discarded during conversion as the AMR container does not accommodate them.