Convert M4B to CAF — Free Online Tool
Convert M4B audiobook files to Apple's Core Audio Format (CAF), decoding the AAC-encoded audio from the MPEG-4 container and re-encoding it as uncompressed PCM (16-bit little-endian) inside CAF. This is ideal for bringing audiobook audio into professional Apple audio workflows where CAF's large file support and lossless PCM fidelity are required.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your M4B 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
M4B files store AAC-compressed audio inside an MPEG-4 container, along with chapter markers, bookmarks, and metadata tags designed for audiobook playback. CAF does not support chapters or bookmarking, so during this conversion FFmpeg decodes the AAC audio stream from the M4B container, converts it to uncompressed PCM signed 16-bit little-endian audio, and writes it into a new CAF container. This is a full transcode — not a remux — because AAC and PCM are fundamentally different codecs. The result is a significantly larger file with no lossy compression artifacts beyond what was already introduced during the original AAC encoding. Chapter markers, bookmarks, and audiobook metadata from the M4B source are not carried over to the CAF output, since CAF does not support those features.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles the decoding of the M4B container and AAC audio stream, the transcoding to PCM, and the writing of the CAF output file. |
-i input.m4b
|
Specifies the input M4B audiobook file. FFmpeg reads the MPEG-4 container, identifies the AAC audio stream, and also parses any chapter markers and metadata present — though these won't be carried through to the CAF output. |
-c:a pcm_s16le
|
Sets the audio codec for the output to PCM signed 16-bit little-endian, fully decoding the AAC-compressed audio from the M4B into uncompressed samples. This is CAF's default and most broadly compatible audio encoding for use with Core Audio on macOS. |
-b:a 128k
|
Specifies a target audio bitrate of 128 kbps. For PCM codecs like pcm_s16le, this parameter has no practical effect since PCM audio is always uncompressed and its bitrate is fixed by sample rate and bit depth — it can be omitted when using PCM output. |
output.caf
|
Defines the output filename and instructs FFmpeg to write the result as a Core Audio Format file. The .caf extension tells FFmpeg to use Apple's CAF container muxer, which wraps the uncompressed PCM audio stream. |
Common Use Cases
- Importing an audiobook recording into Logic Pro or GarageBand for audio editing, where CAF is the native high-quality working format
- Extracting clean uncompressed audio from an M4B podcast master file for post-production processing in an Apple-ecosystem DAW
- Archiving the raw audio content of an M4B audiobook as uncompressed PCM in CAF before applying noise reduction or mastering tools that require lossless input
- Preparing audiobook narration originally delivered as M4B for ingestion into Apple's audio production pipeline, where CAF is the preferred interchange format
- Converting an M4B file to CAF to use with Core Audio APIs in macOS or iOS development, where CAF is the most natively supported container
Frequently Asked Questions
The CAF output will be uncompressed PCM, which introduces no additional compression artifacts. However, the original M4B used AAC encoding, which is a lossy codec — any quality loss from that initial encoding is already baked into the audio and cannot be recovered by converting to PCM. Think of it as losslessly preserving whatever quality the AAC source already had. If your M4B was encoded at a high bitrate like 192k or 256k, the CAF output will faithfully represent that source.
M4B uses AAC compression, which typically reduces file size by a factor of 10x or more compared to uncompressed audio. CAF with PCM stores every audio sample without compression, so a 100 MB M4B audiobook could expand to 700 MB or more as a CAF file. This size increase is expected and is a direct consequence of switching from lossy compressed AAC to uncompressed 16-bit PCM audio.
No. CAF does not support chapters or bookmarking — these are features specific to the M4B/MPEG-4 container designed for audiobook players. During conversion, FFmpeg extracts only the audio stream and discards all chapter metadata. If preserving chapter information is important, you should export chapter timestamps separately before converting, since they will not be present in the CAF output.
CAF is a format designed by Apple and is natively supported on macOS and iOS. On Windows and Linux, native OS support is absent, though some cross-platform tools like FFmpeg, VLC, and certain DAWs can read CAF files. If you need the converted audio to work on non-Apple platforms, a format like WAV or FLAC would be a more universally compatible alternative for uncompressed or lossless audio.
To use a different codec, replace '-c:a pcm_s16le' with another codec supported by CAF, such as '-c:a pcm_s24le' for 24-bit audio, '-c:a flac' for lossless compressed audio, or '-c:a aac' to re-encode as AAC inside the CAF container. Note that '-b:a 128k' is only meaningful for variable-bitrate codecs like AAC — it has no effect on PCM codecs, which are always uncompressed. For PCM output you can safely omit the '-b:a' flag.
Yes. On macOS or Linux, you can run a shell loop such as: 'for f in *.m4b; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.m4b}.caf"; done'. On Windows Command Prompt, use a for loop: 'for %f in (*.m4b) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.caf"'. This processes each M4B file in the current directory and outputs a corresponding CAF file with the same base filename.
Technical Notes
The default output codec for CAF in this tool is PCM signed 16-bit little-endian (pcm_s16le), which matches CD-quality audio resolution. If your M4B source was encoded at a sample rate other than 44100 Hz (for example, audiobooks are often encoded at 22050 Hz or 44100 Hz), FFmpeg will preserve that sample rate in the CAF output without resampling unless you explicitly add a '-ar' flag. The '-b:a 128k' flag in the generated command is technically a no-op for PCM codecs since PCM bitrate is determined entirely by sample rate and bit depth, not a bitrate parameter — it can be omitted without any effect. CAF supports a wide range of audio codecs beyond PCM including FLAC, Opus, Vorbis, and AAC, but pcm_s16le is the default as it offers straightforward compatibility with Core Audio on macOS. One important limitation: M4B ID3-style metadata tags (title, author, album artist) are not mapped to CAF's metadata format by FFmpeg by default, so the output file will likely have no embedded metadata. If metadata preservation matters, consider adding '-map_metadata 0' to the command, though CAF's metadata support is limited compared to MPEG-4.