Convert CAF to ALAC — Free Online Tool

Convert CAF audio files to ALAC (Apple Lossless Audio Codec) stored in an M4A/MPEG-4 container, preserving every bit of audio data from your original recording. ALAC offers lossless compression with broad Apple ecosystem compatibility, making it ideal for archiving CAF files from professional Apple audio workflows in a more universally supported format.

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 can contain audio encoded in a wide range of codecs — from uncompressed PCM (the most common default) to lossy formats like AAC or Opus. During this conversion, FFmpeg reads the audio stream from the CAF container and re-encodes it using Apple's ALAC codec, then wraps the result in an MPEG-4 (M4A) container. If your source CAF contains lossless PCM audio (such as pcm_s16le, pcm_s24le, or pcm_s32le), the conversion to ALAC is fully lossless — ALAC is simply a compressed representation of the same uncompressed data, so no audio information is discarded. However, if your CAF file contains a lossy codec like AAC or Vorbis, the output ALAC will be a lossless encoding of already-lossy audio; quality cannot be recovered beyond what was present in the source. The resulting M4A file is recognized by iTunes, Apple Music, iOS, macOS, and most modern audio players.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine used by this tool via its WebAssembly build (FFmpeg.wasm) in the browser. When running locally, this requires FFmpeg to be installed on your system.
-i input.caf Specifies the input file — a CAF (Core Audio Format) container, which may hold uncompressed PCM, AAC, FLAC, Opus, or other audio codecs as supported by Apple's Core Audio framework.
-c:a alac Sets the audio codec to ALAC (Apple Lossless Audio Codec), instructing FFmpeg to encode the decoded audio stream into lossless Apple Lossless format rather than copying or transcoding to any other codec.
-c:a alac A repeated instance of the same audio codec flag, which is a harmless artifact of this tool's command resolution logic. FFmpeg applies the last-specified value for a given stream, so the effective codec remains ALAC and the output is unaffected.
output.m4a Defines the output filename and container. The .m4a extension tells FFmpeg to write an MPEG-4 audio container, which is the standard and correct wrapper for ALAC audio and is natively recognized by iTunes, Apple Music, iOS, and macOS.

Common Use Cases

  • Archiving CAF recordings made in GarageBand or Logic Pro into ALAC M4A files that can be organized and played back in iTunes or Apple Music without any quality loss
  • Converting uncompressed PCM CAF files from Core Audio development workflows into ALAC to dramatically reduce file sizes while keeping the audio bit-perfect for QA or distribution
  • Migrating a library of CAF files recorded on macOS to ALAC so they can be synced to iPhone or iPad via the Files app or Apple Music without transcoding on the device
  • Preparing lossless audio assets for an iOS or macOS app, converting from CAF (which is limited in cross-platform support) to ALAC M4A for broader compatibility with third-party audio tools
  • Converting CAF master recordings captured by Core Audio into ALAC for submission to digital music distributors that accept lossless M4A but do not recognize the CAF container
  • Replacing large uncompressed CAF files in a podcast or game audio asset pipeline with ALAC to reduce storage footprint while maintaining the integrity needed for further editing or re-encoding

Frequently Asked Questions

No. If your CAF file contains uncompressed PCM audio — such as the default pcm_s16le, or higher-resolution pcm_s24le or pcm_s32le — converting to ALAC is completely lossless. ALAC is a lossless compression algorithm, meaning the M4A output is mathematically identical to the source audio and can be decoded back to the exact same PCM samples. You gain a smaller file size with zero quality penalty.
If the source CAF contains a lossy codec like AAC, the conversion decodes that lossy audio to PCM and then re-encodes it with ALAC. The ALAC output will be a lossless snapshot of the decoded lossy audio — meaning no additional quality is lost in this step, but the quality damage already introduced by the original AAC encoding cannot be undone. The resulting M4A will be larger than an equivalent AAC file while offering no meaningful quality improvement over re-playing the original AAC.
ALAC is a codec, not a standalone file format. Apple Lossless audio is stored inside an MPEG-4 container, which typically carries the .m4a extension when it contains audio-only content. This is the same container used for AAC audio, and the distinction is determined by the codec inside. The .m4a extension is what iTunes, Apple Music, and most players expect, and it is the correct and standard way to distribute ALAC files.
If the source CAF holds uncompressed PCM audio, the ALAC M4A will typically be 40–60% smaller, since ALAC achieves lossless compression ratios similar to FLAC on typical audio content. If the source CAF already contains a compressed codec like AAC or Opus, the ALAC output will be significantly larger than the original — sometimes several times larger — because ALAC losslessly preserves the decoded PCM representation of the lossy audio rather than storing it in its compact compressed form.
ALAC has broad but not universal support outside the Apple ecosystem. On Windows, modern versions of iTunes and Apple Music for Windows play ALAC natively, and VLC, foobar2000, and most open-source players support it. Android support varies by app — the native Android media stack does not decode ALAC in all versions, but apps like VLC for Android and Poweramp handle it well. If you need maximum cross-platform lossless compatibility beyond Apple devices, FLAC in a FLAC or OGG container is a more universal choice.
On macOS or Linux, you can run a shell loop using the command pattern from this tool: `for f in *.caf; do ffmpeg -i "$f" -c:a alac "${f%.caf}.m4a"; done`. This iterates over every CAF file in the current directory and produces a corresponding ALAC M4A file. On Windows Command Prompt, use `for %f in (*.caf) do ffmpeg -i "%f" -c:a alac "%~nf.m4a"`. The browser-based tool processes one file at a time, so the FFmpeg command is especially valuable for bulk conversion of large collections.

Technical Notes

CAF's primary strength is its ability to hold audio at any bit depth and sample rate without the 4GB file size cap imposed by WAV and AIFF, and it is the native container for Core Audio on Apple platforms. ALAC supports bit depths of 16, 20, 24, and 32 bits and sample rates up to 384 kHz, so high-resolution CAF recordings at 24-bit/96 kHz or 32-bit float will generally convert cleanly — though note that ALAC does not support 32-bit float PCM (pcm_f32le); FFmpeg will automatically downconvert float samples to 32-bit integer ALAC, which is lossless in practice for all real-world audio content. The M4A container supports chapter markers, which ALAC inherits, enabling structured long-form audio if chapter metadata is present. However, CAF-specific metadata fields and custom annotations may not map directly to MPEG-4 atom tags during the conversion, so ID3-style tags (artist, album, title) should be verified in the output. The duplicate `-c:a alac` flag in the generated command is harmless and results from the tool's flag resolution logic; FFmpeg simply applies the last valid value and proceeds normally.

Related Tools