Convert AMR to FLAC — Free Online Tool
Convert AMR voice recordings to FLAC using the open-source FLAC codec, transforming speech-optimized mobile audio into a lossless archive format. Because AMR is already a lossy codec, FLAC preserves every bit of the decoded audio with no further quality degradation — ideal for archiving voice memos, call recordings, and dictation files.
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 audio is decoded from its highly compressed, speech-optimized bitstream — which uses adaptive multi-rate encoding tuned for narrow-band or wide-band voice frequencies — into raw PCM audio samples. Those PCM samples are then re-encoded using the FLAC codec, which applies lossless compression. Because AMR is a lossy format, the original source quality cannot be recovered; FLAC simply captures the decoded output with mathematical perfection, meaning no additional quality is lost in the conversion step itself. The resulting FLAC file will be significantly larger than the AMR source, reflecting the true uncompressed audio data that AMR had originally discarded.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that handles AMR demuxing and decoding via the libopencore libraries, as well as FLAC encoding. |
-i input.amr
|
Specifies the input AMR file. FFmpeg reads the '#!AMR' or '#!AMR-WB' file header to automatically determine whether the source uses the narrow-band (8 kHz) or wide-band (16 kHz) AMR codec variant. |
-c:a flac
|
Selects the FLAC encoder for the audio stream, decoding the AMR bitstream to PCM first and then re-encoding losslessly using FLAC's linear predictive coding — ensuring no additional quality loss beyond what AMR already introduced. |
-compression_level 5
|
Sets FLAC's compression effort to level 5 on a scale of 0–8. This is the default and balances encoding speed with file size; it has absolutely no effect on audio quality, since all FLAC compression levels are lossless. |
output.flac
|
Defines the output filename with the .flac extension, which FFmpeg uses to confirm the FLAC container format and write the losslessly compressed audio stream along with any metadata tags recovered from the AMR source. |
Common Use Cases
- Archiving voice memos recorded on an older Nokia or Android phone in AMR format into a future-proof lossless format that any audio software can open
- Preserving court-admissible or legally sensitive call recordings where no further audio degradation is acceptable after the initial AMR compression
- Importing dictation recordings from a mobile app that exports AMR into an audio editor like Audacity or Adobe Audition, which handle FLAC more reliably than AMR
- Preparing AMR voice samples for speech recognition or machine learning pipelines that require uncompressed or lossless PCM-equivalent input
- Converting AMR field recordings from journalists or researchers into FLAC for long-term storage in digital archives that mandate lossless formats
- Transcribing AMR voicemail exports into a FLAC file compatible with transcription services that do not accept narrow-band AMR input
Frequently Asked Questions
No — AMR is a lossy codec that permanently discards audio information when the original recording was made, particularly outside the narrow speech frequency range it targets. Converting to FLAC re-encodes the decoded PCM output losslessly, which means no further quality is lost, but the quality ceiling is still set by the original AMR bitrate (as low as 4.75 kbps for narrow-band AMR-NB). FLAC is the right choice to stop any additional degradation, not to recover what AMR already removed.
AMR achieves very small file sizes through aggressive lossy compression specifically tuned for speech — a one-minute AMR-NB file at 12.2 kbps is only around 90 KB. FLAC stores the fully decoded PCM audio losslessly, so a one-minute mono file at 8 kHz (typical for AMR-NB) will expand to several megabytes even with FLAC's compression. This size increase is expected and reflects the actual audio data that was encoded inside the AMR container.
AMR-NB (Narrow-Band) encodes audio at 8 kHz sample rate, capturing only the core speech frequencies, while AMR-WB (Wide-Band) uses 16 kHz, producing noticeably clearer and more natural-sounding voice. The FLAC output will inherit whichever sample rate the source AMR file uses — an AMR-NB source produces a FLAC at 8 kHz, and an AMR-WB source produces one at 16 kHz. You cannot synthesize the missing frequencies by converting to FLAC; the bandwidth is determined entirely at the time of the original AMR recording.
The flag -compression_level 5 in the command controls how hard the FLAC encoder works to reduce file size, with values ranging from 0 (fastest, largest file) to 8 (slowest, smallest file). Critically, this affects only encoding speed and file size — all compression levels are mathematically lossless and produce bit-identical decoded audio. For AMR sources, which are small to begin with, the difference between level 0 and level 8 output sizes is minimal, so the default of 5 is a sensible balance.
Yes. On Linux or macOS you can run a shell loop: for f in *.amr; do ffmpeg -i "$f" -c:a flac -compression_level 5 "${f%.amr}.flac"; done. On Windows Command Prompt use: for %f in (*.amr) do ffmpeg -i "%f" -c:a flac -compression_level 5 "%~nf.flac". Each AMR file is processed sequentially, producing a matching FLAC file with the same base name.
AMR files carry very minimal metadata — most real-world AMR recordings store no tags at all beyond what the wrapping application adds. FFmpeg will attempt to copy any recognized metadata tags into the FLAC container's Vorbis comment block, but in practice you will often end up with an untagged FLAC file. You can add tags manually using FFmpeg's -metadata flag, for example: ffmpeg -i input.amr -c:a flac -compression_level 5 -metadata title="Interview" -metadata date="2024-01-15" output.flac.
Technical Notes
AMR exists in two codec variants: libopencore_amrnb for narrow-band (8 kHz, bitrates 4.75–12.2 kbps) and libopencore_amrwb for wide-band (16 kHz, bitrates 6.6–23.85 kbps). FFmpeg's AMR demuxer detects the variant automatically from the file header. The decoded PCM is handed directly to the FLAC encoder, which operates as a single-channel (mono) stream in virtually all real-world AMR files, since AMR does not support stereo — attempting to treat the output as stereo is not meaningful. The FLAC container fully supports replay gain, cue sheets, and rich Vorbis comment metadata, none of which AMR offers, so archivists can enrich the output after conversion. One known limitation: some AMR files created by proprietary mobile applications use a raw AMR bitstream without the standard '#!AMR
' magic header, which can cause FFmpeg to fail to detect the format; in that case, explicitly specifying -f amr before the -i flag resolves the issue. The -compression_level parameter has no effect on decoded audio fidelity whatsoever — it only governs the LPC and Rice coding efficiency in the FLAC bitstream.
' magic header, which can cause FFmpeg to fail to detect the format; in that case, explicitly specifying -f amr before the -i flag resolves the issue. The -compression_level parameter has no effect on decoded audio fidelity whatsoever — it only governs the LPC and Rice coding efficiency in the FLAC bitstream.