Convert AMR to M4B — Free Online Tool

Convert AMR voice recordings to M4B audiobook format, transcoding from the narrow-band AMR speech codec to AAC audio inside an MPEG-4 container with chapter and bookmarking support. Ideal for transforming mobile voice memos or telephony recordings into a format compatible with Apple Books, podcast apps, and audiobook players.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

AMR (Adaptive Multi-Rate) files store audio using a codec specifically engineered for human speech at very low bitrates — as low as 4.75 kbps — making them unsuitable for direct use in audiobook or podcast players. During this conversion, FFmpeg decodes the AMR audio stream (via libopencore_amrnb for narrowband AMR) into raw PCM, then re-encodes it using the AAC codec at 128 kbps and wraps it in an MPEG-4 container with the .m4b extension. The -movflags +faststart flag repositions the MOOV atom to the beginning of the file, enabling streaming and progressive playback in apps like Apple Books. Because AMR is speech-optimized and typically mono at 8 kHz, the output AAC file will be limited by the quality ceiling of the original recording — the transcoding cannot recover audio fidelity that was never captured. M4B also supports chapter markers, though adding chapters requires additional metadata tools after this initial conversion.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In this browser-based tool, the equivalent FFmpeg.wasm runs entirely in your browser via WebAssembly — no server is involved.
-i input.amr Specifies the input file in AMR format. FFmpeg will auto-detect whether it is AMR-NB or AMR-WB and select the appropriate decoder (libopencore_amrnb or libopencore_amrwb) to decode the speech-compressed audio into raw PCM.
-c:a aac Re-encodes the decoded AMR audio stream using the AAC codec, which is the standard audio codec for MPEG-4 containers and the format expected by Apple Books and audiobook players that support M4B.
-b:a 128k Sets the AAC output bitrate to 128 kbps. This is a good general-purpose setting for speech content, though for AMR-NB sources the practical quality ceiling is lower due to the 8 kHz source sample rate — you can reduce this to 64k for smaller files without perceptible quality loss on narrowband speech.
-movflags +faststart Relocates the MPEG-4 MOOV atom (the file index) to the beginning of the M4B file. This is critical for audiobook use — it allows Apple Books, podcast apps, and media players to begin playback and seek through the file immediately without buffering the entire file first.
output.m4b Specifies the output filename with the .m4b extension. The M4B extension signals to Apple Books and compatible players that this is an audiobook file with bookmarking support, distinguishing it from a standard .m4a audio file despite sharing the same MPEG-4 container structure.

Common Use Cases

  • Converting recorded mobile phone calls or voice memos saved as AMR files into M4B for organized long-form listening with bookmarking in Apple Books
  • Transforming AMR-format lecture or interview recordings from older Nokia or Android devices into an audiobook-compatible format for students or researchers
  • Packaging a series of AMR voice recordings from a telephony system into M4B so podcast apps can track playback position and resume where the listener left off
  • Archiving AMR speech recordings from VoIP or telecom systems into the widely supported M4B/AAC format for long-term compatibility with media players
  • Preparing AMR-encoded dictation or spoken notes for import into audiobook management software like Calibre or iTunes, which recognize M4B natively

Frequently Asked Questions

No — AMR was designed exclusively for speech compression at very low bitrates (as low as 4.75 kbps), and the original recording is already lossy. Re-encoding to AAC at 128 kbps increases the bitrate but cannot restore audio detail that was discarded during the original AMR encoding. The output will sound as clear as the AMR source, just in a more compatible container. If the AMR file sounds intelligible as speech, the M4B output will too.
AMR narrowband (AMR-NB) captures audio at only 8 kHz sample rate, which cuts off frequencies above 4 kHz — exactly the telephone-quality sound you are describing. This is a fundamental property of the AMR-NB source, not a limitation of the conversion to M4B. AAC is capable of excellent fidelity, but it is encoding the already bandwidth-limited AMR audio. If your AMR file uses AMR-WB (wideband), the 16 kHz sample rate will result in noticeably better output quality.
The M4B container supports chapters and bookmarking, and Apple Books or compatible players will remember your playback position automatically. However, this FFmpeg command alone does not embed chapter markers — it only creates a valid M4B file. To add chapter timestamps, you would need to supply a chapter metadata file to FFmpeg using the -i flag for a second metadata input, or use a tool like mp4chaps after conversion.
Replace the value after -b:a in the command. For example, use -b:a 64k for a smaller file with acceptable speech quality, or -b:a 192k for higher fidelity if your source is AMR-WB. For speech-only content converted from AMR-NB, bitrates above 96k offer diminishing returns since the original source is capped at 8 kHz bandwidth. A full example: ffmpeg -i input.amr -c:a aac -b:a 64k -movflags +faststart output.m4b
Yes, using a shell loop. On Linux or macOS: for f in *.amr; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.amr}.m4b"; done. On Windows Command Prompt: for %f in (*.amr) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b". Each AMR file in the folder will be converted to a separate M4B file with the same base filename.
Yes. AMR-NB operates at 8 kHz and is decoded via the libopencore_amrnb codec, while AMR-WB operates at 16 kHz and uses libopencore_amrwb. FFmpeg typically detects the correct decoder automatically from the file, so the same command works for both. The practical difference is output quality: AMR-WB files will produce noticeably cleaner-sounding M4B audio, closer to FM radio quality for speech, since twice as much of the frequency spectrum is preserved.

Technical Notes

AMR audio is inherently mono in the narrowband variant (AMR-NB), so the resulting M4B will be a mono AAC file unless the source is AMR-WB which can support stereo in some implementations. The M4B container is structurally an MP4 file with a different extension and an audiobook MIME type recognized by Apple devices and compatible players. The -movflags +faststart flag is essential for M4B usability: it moves the file index (MOOV atom) to the front of the file so players can begin playback and seek without reading the entire file first — particularly important for streaming over a network or opening large audiobooks. Metadata tags (title, artist, album) present in the AMR file, if any, will not automatically transfer since AMR has minimal metadata support; consider adding ID3-style tags to the M4B output using -metadata title='...' flags in the FFmpeg command. The AAC codec used here is FFmpeg's native AAC encoder, which produces compliant output compatible with Apple Books, VLC, and most podcast applications. If you need maximum Apple compatibility, substituting -c:a libfdk_aac (if available in your FFmpeg build) produces slightly higher quality AAC output at the same bitrate.

Related Tools