Convert MP4 to CAF — Free Online Tool
Convert MP4 video files to CAF (Core Audio Format), extracting the audio stream and encoding it as uncompressed PCM audio inside Apple's extensible container. Ideal for macOS and iOS audio workflows where lossless quality and large file support are essential.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MP4 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
During this conversion, FFmpeg discards the video stream entirely and extracts only the audio from the MP4 container. The source audio — which in MP4 is typically AAC or MP3 — is decoded and then re-encoded as 16-bit signed little-endian PCM (pcm_s16le), a lossless uncompressed format. This means the original lossy compression is removed and the audio is stored in its decoded, uncompressed state inside the CAF container. CAF was designed by Apple specifically to overcome the 4GB file size limit of WAV and AIFF, making it well-suited for long recordings, high-sample-rate audio, and professional Apple ecosystem tools like Logic Pro and Core Audio APIs.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg executable — in the browser-based tool, this runs via FFmpeg.wasm compiled to WebAssembly, processing your MP4 entirely client-side with no server upload. |
-i input.mp4
|
Specifies the input MP4 file. FFmpeg reads the container and identifies all streams — in this conversion, the video stream will be ignored and only the audio stream is processed. |
-c:a pcm_s16le
|
Sets the audio codec to 16-bit signed little-endian PCM, which is uncompressed audio. This decodes whatever lossy codec (typically AAC) was used in the MP4 and stores the raw decoded audio samples in the CAF file — the native and most compatible uncompressed format for Apple's Core Audio. |
-b:a 128k
|
Specifies a target audio bitrate of 128kbps. For PCM codecs like pcm_s16le, this flag has no effect since PCM is uncompressed and its bitrate is determined entirely by sample rate and bit depth — it is included in the command for structural consistency but can be safely removed. |
output.caf
|
Defines the output filename with the .caf extension, which tells FFmpeg to write a Core Audio Format container. CAF is an Apple-designed container that supports uncompressed PCM without the 4GB file size ceiling that limits WAV and AIFF. |
Common Use Cases
- Extracting a clean, uncompressed audio track from an MP4 video interview for use in Logic Pro or GarageBand on macOS
- Preparing audio assets from MP4 recordings for integration into iOS or macOS app development via the Core Audio framework
- Archiving the audio from MP4 lecture or conference recordings in an uncompressed PCM format for long-term preservation within Apple workflows
- Converting MP4 game cinematic audio to CAF for use as sound assets in Xcode projects or SpriteKit/SceneKit games
- Removing AAC compression artifacts from an MP4 audio track by decoding to uncompressed PCM inside a CAF file before further professional audio processing
- Extracting audio from large MP4 files that would exceed WAV's 4GB limit when stored as uncompressed PCM, where CAF's large file support is required
Frequently Asked Questions
No — converting from MP4 to CAF will not recover quality lost by the original AAC or MP3 encoding in the MP4 file. The PCM output in the CAF file is a lossless representation of the decoded lossy audio, meaning it is an exact uncompressed copy of what the lossy codec produced, not a restoration of the original. However, no further quality degradation occurs, and all downstream processing in tools like Logic Pro or Core Audio will work from uncompressed data going forward.
MP4 files store audio in a compressed format like AAC, which can achieve compression ratios of 10:1 or more. The CAF output uses pcm_s16le, which is fully uncompressed 16-bit PCM audio — the same raw format used by CD audio. A stereo audio stream at 44.1kHz in PCM takes approximately 10MB per minute, so a 100MB MP4 with 60 minutes of AAC audio could produce a CAF file approaching 600MB or more. This is expected behavior and is precisely the use case CAF was designed for, as it supports file sizes beyond the 4GB AIFF/WAV limit.
CAF is an Apple-proprietary format with native support in macOS, iOS, and iPadOS through Core Audio. It is not natively supported on Windows or Android. While some cross-platform tools like FFmpeg and VLC can read CAF files, most Windows audio software will not recognize them. If you need broad cross-platform compatibility with uncompressed audio, formats like WAV or FLAC would be better choices. CAF is best suited specifically for workflows within the Apple ecosystem.
All of these are lost. CAF is a pure audio container and does not support subtitles, chapter markers, or multiple audio tracks — it holds a single audio stream. FFmpeg will extract only the first (default) audio track from the MP4 and encode it as PCM into the CAF file. If your MP4 has multiple audio tracks and you need a specific one, you can modify the FFmpeg command to add '-map 0:a:1' (for the second audio track, zero-indexed) before the output filename.
Replace '-c:a pcm_s16le' with '-c:a pcm_s24le' in the command to output 24-bit PCM, which is standard for professional audio production and mastering. CAF also supports pcm_s32le (32-bit integer) and pcm_f32le (32-bit float) if your workflow requires higher precision. Note that 24-bit PCM will increase the output file size by 50% compared to 16-bit, and the '-b:a 128k' bitrate flag is irrelevant for PCM codecs since PCM bitrate is determined by sample rate and bit depth, not a compression target.
Yes. On macOS or Linux, you can run a shell loop: 'for f in *.mp4; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.mp4}.caf"; done'. This iterates over all MP4 files in the current directory and produces a corresponding CAF file for each. On Windows Command Prompt, the equivalent is 'for %f in (*.mp4) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.caf"'. This is particularly useful for batch-preparing audio assets for Xcode or Logic Pro projects.
Technical Notes
The default codec for CAF output in this tool is pcm_s16le — 16-bit signed integer PCM in little-endian byte order — which is the most broadly compatible PCM variant for Apple's Core Audio framework. CAF also natively supports AAC, FLAC, Opus, Vorbis, and several other PCM variants (24-bit, 32-bit integer, 32-bit float, A-law, μ-law), offering flexibility for professional and telephony use cases. One important nuance is that the '-b:a 128k' flag in the command has no practical effect on PCM codecs, since PCM bitrate is a fixed function of sample rate × bit depth × channels rather than a compression parameter — it is included for command consistency but can be omitted. Metadata such as title, artist, and album tags from the MP4's iTunes-style atoms are not preserved in CAF, as the format uses a different metadata chunk structure and FFmpeg's MP4-to-CAF metadata mapping is limited. The sample rate from the source MP4 audio is preserved by default; if your source is 48kHz (common in video production), the CAF output will also be 48kHz. If you need 44.1kHz for music production compatibility, add '-ar 44100' to the command.