Convert AAC to M4B — Free Online Tool

Convert AAC audio files to M4B format, adding audiobook and podcast features like chapter support and bookmarking while keeping the same AAC audio codec. Since both formats share the AAC codec, this conversion is essentially a container remux — fast and lossless in terms of audio quality.

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

AAC and M4B share the same underlying AAC audio codec, so this conversion is primarily a container switch rather than a full re-encode. FFmpeg wraps the existing AAC audio stream inside an MPEG-4 container (.m4b) and applies the -movflags +faststart flag, which relocates the moov atom to the beginning of the file. This is a key structural change that enables progressive playback and makes the file compatible with audiobook players and podcast apps that rely on fast seeking and bookmarking. The audio data itself is re-encoded at 128k by default, but because the source is already AAC, you can also stream-copy it (using -c:a copy) to avoid any generation loss entirely.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles the AAC-to-M4B container conversion and audio re-encoding in this command.
-i input.aac Specifies the input file — a raw AAC audio file. FFmpeg reads the AAC audio stream from this file and uses it as the source for the M4B output.
-c:a aac Sets the audio codec for the output to AAC using FFmpeg's built-in AAC encoder. Since M4B natively uses AAC audio, this keeps the codec consistent with the container's intended format.
-b:a 128k Sets the output audio bitrate to 128 kilobits per second. This is the standard quality level for AAC audio in audiobook and podcast contexts, balancing file size against intelligibility; you can raise it to 192k or higher for music content.
-movflags +faststart Moves the MP4 moov atom (the file's metadata and index structure) to the beginning of the output file. This is critical for M4B audiobook use because it enables immediate playback, accurate chapter seeking, and bookmark resumption in audiobook apps like Apple Books and Overcast.
output.m4b Defines the output filename and its .m4b extension, which tells FFmpeg to write an MPEG-4 container and signals to audiobook and podcast applications that this file should be treated as an audiobook with support for chapters and bookmarks.

Common Use Cases

  • Package a finished AAC audiobook narration into M4B format so it displays chapter markers and resume-from-bookmark functionality in Apple Books or Overcast
  • Convert an AAC podcast episode to M4B to take advantage of chapter metadata support, allowing listeners to skip between named segments
  • Prepare an AAC language-learning course for distribution as an M4B audiobook, enabling students to bookmark their progress and resume later
  • Repackage AAC lectures or educational recordings into M4B so they appear correctly in audiobook apps rather than generic music players
  • Convert a serialized AAC audio drama into M4B format for submission to audiobook platforms that require the .m4b container
  • Restructure AAC meditation or guided sleep audio into M4B so users can reliably return to exactly where they left off across sessions

Frequently Asked Questions

In this tool's default configuration, the audio is re-encoded at 128k AAC, which introduces a small amount of generation loss since you are compressing an already-lossy AAC source a second time. To avoid any quality degradation at all, you can modify the FFmpeg command to use -c:a copy instead of -c:a aac -b:a 128k, which stream-copies the original AAC data directly into the M4B container without re-encoding. This is the recommended approach when you want a true lossless container remux.
AAC (.aac) is a raw audio codec format — it contains audio data but has minimal container features. M4B is an MPEG-4 container (.mp4 family) specifically designated for audiobooks, and it supports chapter markers, bookmarking, ID3-style metadata tags, and cover art embedding. Both formats use AAC audio internally, so the sonic difference is negligible; the real gain from M4B is the richer container structure that audiobook and podcast apps are designed to read.
The +faststart flag moves the moov atom — the MP4 metadata index — to the very start of the file instead of the end. Without it, an audiobook player or podcast app must read to the end of the file before it can begin playback or seek to a chapter, which is a problem for large audiobook files. With faststart, the file can begin playing immediately and supports accurate chapter navigation, which is essential for the M4B use case.
Chapter metadata must be provided to FFmpeg via a separate chapters metadata file (typically in FFmpeg's ffmetadata format) and passed using the -i flag alongside your audio input, combined with -map_metadata. The conversion command shown here does not add chapters automatically — it simply creates an M4B container that is capable of holding them. To embed chapters, you would write a metadata file listing chapter start times and titles, then merge it with your audio during the FFmpeg conversion.
The -b:a 128k flag controls the output audio bitrate. You can replace 128k with any supported value such as 64k for smaller files, 192k for higher quality, or 256k and 320k for near-transparent quality. For an AAC-to-M4B conversion where you want maximum fidelity, using 192k or higher is reasonable, but keep in mind that re-encoding from a 128k AAC source at a higher bitrate will not recover lost detail — it will only increase file size. The smartest option for pure quality preservation is to stream-copy with -c:a copy.
The command shown converts a single file, but you can batch process on your desktop using a shell loop. On macOS or Linux, run: for f in *.aac; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.aac}.m4b"; done. On Windows Command Prompt, use: for %f in (*.aac) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b". The browser-based tool processes one file at a time, so the downloaded FFmpeg command is especially useful when you have a folder of AAC chapters to convert.

Technical Notes

Because AAC is the native audio codec of the M4B container, this conversion is one of the most efficient audio format changes you can make — there is no codec mismatch to resolve. The .m4b extension is technically an MP4 container with a different file extension that signals audiobook intent to compatible software like Apple Books, Overcast, Pocket Casts, and iTunes. One important limitation is that raw .aac files do not carry chapter or bookmark metadata, so this conversion cannot automatically populate chapter markers — that data must be authored separately. ID3 tags such as title, author, and album art from the source AAC file may or may not transfer cleanly, and it is worth inspecting the output with a tag editor like Mp3tag or Kid3. The -movflags +faststart flag is non-negotiable for proper audiobook player compatibility; omitting it can cause seek failures on large files. If your source AAC was encoded with libfdk_aac (a higher-quality encoder), re-encoding with FFmpeg's native aac encoder at the same bitrate will produce a slightly different (and typically slightly lower quality) result, making stream copy the preferred approach in that scenario.

Related Tools