Convert CAF to M4B — Free Online Tool

Convert CAF audio files to M4B audiobook format by transcoding the audio stream to AAC with chapter and bookmarking support. This tool transforms Apple's high-capacity Core Audio Format into the MPEG-4 audiobook container, making your audio content compatible with Apple Books, podcast players, and audiobook apps that rely on M4B's position-saving features.

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

CAF files commonly store audio encoded in PCM, AAC, FLAC, or other codecs inside Apple's extensible container. Since M4B is an MPEG-4-based audiobook container that requires AAC audio, any CAF audio stream that is not already AAC must be re-encoded — and even CAF files that do contain AAC are transcoded to ensure clean compatibility with the M4B container structure. The conversion applies AAC encoding at 128k bitrate by default and writes the output with the -movflags +faststart flag, which relocates the MOOV atom to the beginning of the file so audiobook players and podcast apps can begin playback and resume bookmarks without reading the entire file first. The resulting M4B file is a fully compliant MPEG-4 audiobook that supports chapter markers and playback position memory, though chapter metadata itself must be added separately if not already present.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the decoding of the CAF input, AAC re-encoding, and writing of the M4B output container in this conversion.
-i input.caf Specifies the input CAF file. FFmpeg reads the container and identifies the audio stream — which may be PCM, AAC, FLAC, or another codec supported by CAF — before passing it to the AAC encoder.
-c:a aac Sets the audio codec to AAC using FFmpeg's built-in native AAC encoder, which is required for M4B compatibility. All audio from the CAF source, regardless of its original codec, is transcoded to AAC for the output.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is the standard default for audiobook and podcast M4B files — delivering intelligible, artifact-free spoken audio at a file size appropriate for long recordings.
-movflags +faststart Moves the MOOV atom to the start of the M4B file after encoding is complete, enabling audiobook and podcast players like Apple Books to immediately access chapter data, bookmarks, and playback metadata without reading the entire file.
output.m4b Defines the output filename with the .m4b extension, which signals to Apple Books, iTunes, Finder, and compatible podcast apps that this MPEG-4 audio file should be treated as an audiobook with chapter navigation and position-bookmarking support.

Common Use Cases

  • Recording a long-form narration or lecture in GarageBand or Logic Pro (which output CAF) and packaging it as an M4B audiobook for distribution via Apple Books or Audible-compatible players
  • Converting a CAF-format podcast master recording to M4B so listeners can resume playback from where they left off using bookmarking-capable podcast apps
  • Transforming a CAF file captured by iOS audio apps into an M4B audiobook file that can be sideloaded onto an iPhone or iPad through iTunes or Finder
  • Archiving a multi-hour educational recording stored in CAF into an M4B file with chapter support, making navigation through long content practical for students
  • Preparing a self-published audiobook recorded and edited on macOS in CAF format for submission to audiobook platforms that require M4B or AAC-based MPEG-4 files
  • Converting CAF audio dramas or serialized fiction recordings into M4B so listeners can bookmark their position and resume between episodes without losing their place

Frequently Asked Questions

It depends on what codec your CAF file uses. If your CAF contains lossless or uncompressed audio (such as PCM, FLAC, or Apple Lossless), converting to M4B will introduce lossy compression because M4B requires AAC encoding. If your CAF file already contains AAC audio, the re-encoding step still applies, which means a second generation of lossy compression. For most audiobook and spoken-word content at 128k AAC, the quality loss is not perceptible, but for music or archival purposes you should use the highest bitrate option available.
The M4B container fully supports chapters and bookmarking, and the -movflags +faststart flag applied during conversion ensures the file structure is optimized for streaming and position-aware playback. However, this conversion tool encodes the audio stream and sets up the correct container — it does not automatically generate chapter markers from your CAF source, since CAF files do not natively carry chapter data. To add chapter markers to your M4B, you would use a tool like mp4chaps or Chaptered after conversion.
M4B is an MPEG-4 audiobook container whose specification and ecosystem support centers on AAC audio. Unlike CAF, which is a flexible Apple container that can wrap many codecs including PCM, FLAC, Vorbis, and Opus, M4B is designed specifically for compatibility with Apple Books, iTunes, and a wide range of podcast and audiobook players that all expect AAC. Using AAC also provides a practical balance of file size and quality suitable for long-form spoken audio content like audiobooks and podcasts.
Replace the value after -b:a in the command with your desired bitrate. For example, to encode at 64k for a small spoken-word file use 'ffmpeg -i input.caf -c:a aac -b:a 64k -movflags +faststart output.m4b', or use 256k for higher fidelity if the source CAF contains music or high-quality narration. For standard audiobook speech, 64k or 96k AAC is typically sufficient and keeps file sizes manageable for long recordings.
Yes. On macOS or Linux you can use a shell loop: 'for f in *.caf; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.caf}.m4b"; done'. On Windows Command Prompt use: 'for %f in (*.caf) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b"'. This is particularly useful when converting a series of chapter recordings or episode files from a podcast project stored in CAF format.
The -movflags +faststart flag moves the MOOV atom — the metadata block that tells a player how to decode and navigate the file — to the beginning of the M4B file instead of leaving it at the end. For audiobook and podcast players this matters significantly: apps like Apple Books need to read the MOOV atom before they can register the file's chapter structure, enable bookmarking, and begin playback. Without faststart, some players may refuse to play the file until it is fully downloaded or may not recognize chapter points correctly.

Technical Notes

CAF (Core Audio Format) was designed by Apple to remove the 4GB file size ceiling of AIFF and WAV, making it practical for recording long sessions on macOS and iOS without splitting files. It supports a wide codec range including uncompressed PCM at various bit depths, AAC, FLAC, Vorbis, and Opus. When converting to M4B, all of these audio streams are transcoded to AAC regardless of the source codec, because M4B's primary codec support and player ecosystem is built around AAC. Metadata present in CAF files — such as title, artist, or album tags — may not transfer automatically to the M4B output; you should verify and set ID3-compatible tags using a tool like mp4tags or Kid3 after conversion. The -movflags +faststart post-processing step is essential for proper M4B behavior in audiobook players and should not be omitted. File sizes will typically be smaller than lossless or high-bitrate CAF sources but larger than heavily compressed CAF-AAC files at low bitrates. M4B files are functionally identical to M4A files at the container level — the .m4b extension is the signal to compatible players to treat the file as an audiobook with bookmark support rather than ordinary music.

Related Tools