Convert CAF to FLAC — Free Online Tool

Convert CAF audio files to FLAC with true lossless quality preservation. If your CAF file contains PCM audio (the default), this conversion re-encodes to FLAC's lossless compression — shrinking file size significantly while keeping every bit of the original audio data intact.

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 (Core Audio Format) is Apple's container that can hold various audio codecs including PCM, AAC, FLAC, Opus, and others. When converting to FLAC, FFmpeg reads the audio stream from the CAF container and re-encodes it using the FLAC codec. If the source CAF contains uncompressed PCM audio (the most common case, such as pcm_s16le or pcm_s24le), the conversion is lossless by definition — FLAC compression is mathematically reversible, meaning no audio data is discarded. If the CAF source contains a lossy codec like AAC, the audio is decoded from AAC and then re-encoded to FLAC; the result is lossless FLAC but it cannot recover quality already lost during the original AAC encoding. The output FLAC file is self-contained, open-standard, and compatible with virtually any audio player.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool. In the browser version, this runs via FFmpeg.wasm compiled to WebAssembly — no installation required and no files leave your device.
-i input.caf Specifies the input CAF file. FFmpeg automatically detects the CAF container and identifies the audio codec inside (commonly PCM, but potentially AAC or others), which determines how decoding proceeds before re-encoding to FLAC.
-c:a flac Instructs FFmpeg to encode the audio stream using the FLAC codec. This decodes whatever audio is in the CAF container and re-encodes it as lossless FLAC — suitable for both PCM and other CAF audio sources.
-compression_level 5 Sets FLAC's compression effort to level 5 on a scale of 0–8. This controls only the trade-off between encoding speed and output file size; audio quality is identical at all levels because FLAC decompression is always perfectly reversible. Level 5 is the FLAC reference encoder's default and suits most archival and sharing scenarios.
output.flac Defines the output filename and container. The .flac extension tells FFmpeg to write a standard FLAC file, which is an open, widely supported format compatible with virtually all audio players, DAWs, and operating systems outside Apple's ecosystem.

Common Use Cases

  • Archiving recordings made in Apple's GarageBand or Logic Pro (which output CAF files) in an open, universally compatible lossless format
  • Sharing high-resolution audio captured on an iPhone or Mac with collaborators who use non-Apple software like Audacity, Reaper, or VLC on Windows or Linux
  • Migrating an Apple-ecosystem audio library to a platform-agnostic archive format that will remain accessible regardless of future Apple software changes
  • Submitting audio to mastering engineers or studios that require open lossless formats rather than Apple-proprietary containers
  • Uploading lossless audio to music distribution or streaming services (like Bandcamp or Qobuz) that accept FLAC but not CAF
  • Reducing storage footprint of large uncompressed CAF recordings from iOS voice memos or audio apps while retaining full lossless quality

Frequently Asked Questions

It depends entirely on what codec is inside your CAF file. If the CAF contains uncompressed PCM audio — which is the default for most Apple recording apps — the conversion to FLAC is completely lossless. FLAC compression is mathematically reversible, so every sample is preserved exactly. However, if your CAF file stores AAC audio, that audio was already lossy when it was encoded to AAC, and converting it to FLAC will produce a lossless copy of the already-degraded signal — you cannot recover the lost quality.
When a CAF file contains uncompressed PCM audio, it stores raw audio samples with no compression at all. FLAC's lossless compression algorithm (based on linear prediction) typically reduces file size by 40–60% compared to uncompressed PCM, without discarding any audio data. This is similar to how a ZIP file makes a document smaller without changing its contents — the FLAC decoder reconstructs the original PCM samples perfectly during playback.
Yes. FLAC supports up to 32-bit bit depth and sample rates up to 655,350 Hz, which comfortably covers 24-bit/96kHz and 24-bit/192kHz high-resolution audio commonly found in professional CAF recordings. CAF's advantage over older formats like WAV was primarily its support for large file sizes and multiple codecs, but FLAC matches it for practical high-resolution archival use.
CAF stores metadata in its 'info' chunk using key-value pairs, while FLAC uses Vorbis comment tags. FFmpeg attempts to map common CAF metadata fields (such as title, artist, and album) to their FLAC equivalents during conversion, but obscure or Apple-specific CAF metadata fields may not transfer. It is good practice to verify tags in a tool like fre:ac or beets after conversion if metadata accuracy is important.
The compression level is set by the `-compression_level` flag, which accepts values from 0 (fastest, largest file) to 8 (slowest, smallest file). The default used here is 5, which is a good balance for most use cases. For example, to use maximum compression you would run: `ffmpeg -i input.caf -c:a flac -compression_level 8 output.flac`. Importantly, changing this value only affects encode speed and file size — audio quality is identical at every compression level because FLAC is always lossless.
Yes, you can adapt the command for batch processing in a shell. On macOS or Linux, use: `for f in *.caf; do ffmpeg -i "$f" -c:a flac -compression_level 5 "${f%.caf}.flac"; done`. On Windows Command Prompt, use: `for %f in (*.caf) do ffmpeg -i "%f" -c:a flac -compression_level 5 "%~nf.flac"`. The browser-based tool processes one file at a time, so the FFmpeg command is particularly useful for converting large collections locally.

Technical Notes

CAF files produced by Apple's CoreAudio framework most commonly contain pcm_s16le (16-bit signed little-endian PCM) or pcm_s24le (24-bit) audio, meaning they are already uncompressed and conversion to FLAC is a straightforward lossless re-encoding. Less commonly, CAF files may contain AAC or Apple Lossless (ALAC) streams — FFmpeg handles both, but ALAC-in-CAF to FLAC is also a fully lossless path. One known limitation is that CAF supports multiple audio tracks within a single file, but this tool and the generated FFmpeg command process only the first (default) audio stream; use `-map 0:a:1` etc. to target secondary streams manually. FLAC's Vorbis comment tag system is more widely supported across non-Apple platforms than CAF's metadata format, making FLAC a better long-term archival choice for cross-platform libraries. The resulting FLAC file supports ReplayGain tags, cue sheets, and efficient seeking — features useful for music library management tools like foobar2000 or beets.

Related Tools