Convert CAF to AIF — Free Online Tool

Convert CAF audio files to AIF format by transcoding the audio stream to uncompressed PCM big-endian — the native encoding AIF requires. This tool is ideal for moving Apple Core Audio files into a universally compatible lossless format that works seamlessly across Mac software like Logic Pro, GarageBand, and Pro Tools.

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 a variety of audio codecs including AAC, FLAC, Opus, Vorbis, or various PCM formats stored in little-endian byte order. AIF, however, exclusively supports uncompressed PCM audio in big-endian byte order — a requirement inherited from its Motorola 68k origins. During this conversion, FFmpeg decodes whatever codec is inside the CAF container and re-encodes the audio as 16-bit signed big-endian PCM (pcm_s16be), then wraps it in the AIF container. If your CAF file already contains lossless or uncompressed audio, there is no perceptual quality loss — only a byte-order and container change. If the source CAF contains a lossy codec like AAC or Opus, the audio is decoded to PCM and stored losslessly in AIF, but the quality ceiling is limited by whatever lossy compression was applied originally.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the decoding of the CAF container and its internal audio codec, sample format conversion, byte-order transformation, and re-muxing into the AIF container.
-i input.caf Specifies the input file — a CAF (Core Audio Format) container which may contain audio encoded as PCM, AAC, FLAC, Opus, Vorbis, or other supported codecs. FFmpeg automatically detects the internal codec and demuxes accordingly.
-c:a pcm_s16be Sets the audio output codec to 16-bit signed big-endian PCM, which is the default and most compatible PCM variant for the AIF format. This handles both the decoding of any compressed source codec inside the CAF and the byte-order conversion from little-endian (native to CAF PCM) to big-endian (required by AIF).
output.aif Defines the output filename with the .aif extension, which instructs FFmpeg to mux the PCM audio stream into an AIFF-compatible container structure including the necessary FORM, COMM, and SSND chunks required by the AIF specification.

Common Use Cases

  • Importing a CAF recording from an iOS app or macOS system capture into Logic Pro or Pro Tools, which expect AIF or WAV for session audio files
  • Archiving CAF audio assets from an Xcode or Apple developer project into the more universally supported AIF format for long-term storage
  • Preparing sound effects or music beds recorded on a Mac in CAF format for delivery to a post-production house that requires AIF masters
  • Converting CAF voiceover recordings from macOS's built-in audio tools into AIF for import into video editing software like Final Cut Pro or DaVinci Resolve
  • Migrating a library of Apple-generated CAF system audio or ringtone files into AIF so they can be edited in audio workstations that do not natively support CAF
  • Converting CAF test recordings from Core Audio development workflows into AIF for auditioning and quality-checking in standard media players

Frequently Asked Questions

It depends entirely on what codec is stored inside your CAF file. If the CAF contains lossless or uncompressed PCM audio (such as pcm_s16le, pcm_s24le, or FLAC), the conversion to AIF is mathematically lossless — the only change is the byte order of the samples and the container format. However, if the CAF contains a lossy codec like AAC or Opus, those samples are decoded to PCM during conversion. The resulting AIF will be uncompressed, but the audio quality is bounded by the original lossy encoding — you cannot recover detail that was discarded during the initial lossy compression.
AIF was developed by Apple in the late 1980s for Motorola 68k-based Macintosh computers, which used big-endian byte ordering. The format has retained this requirement for backward compatibility ever since. CAF, introduced by Apple much later in 2005, was designed for modern Intel and ARM architectures that use little-endian byte order, which is why its default PCM codec is pcm_s16le. The FFmpeg flag -c:a pcm_s16be in the conversion command explicitly handles this byte-order flip from little-endian to big-endian.
Yes, but you need to change the codec flag in the FFmpeg command. The default command uses pcm_s16be, which produces 16-bit audio. If your CAF source contains 24-bit audio, you should use -c:a pcm_s24be to preserve full bit depth. For 32-bit integer audio use pcm_s32be, and for 32-bit or 64-bit float audio use pcm_f32be or pcm_f64be respectively. Downconverting from 24-bit CAF to 16-bit AIF with the default command will result in a reduction in dynamic range.
CAF has a richer metadata architecture than AIF, supporting structured metadata chunks for things like channel layout descriptions, marker data, and Apple-specific annotations. AIF supports a more limited set of metadata through its MARK, INST, and NAME chunks. FFmpeg will attempt to map common tags like title, artist, and album, but format-specific CAF metadata such as Apple channel layout flags or Core Audio-specific markers may not survive the conversion into the AIF container.
Replace pcm_s16be with pcm_s24be in the command: ffmpeg -i input.caf -c:a pcm_s24be output.aif. This instructs FFmpeg to encode the output as 24-bit signed big-endian PCM, which AIF fully supports. If you are working with high-resolution audio for music production or mastering, using pcm_s24be or even pcm_s32be is strongly recommended to preserve the full dynamic range of the original recording.
Yes. On macOS or Linux you can use a shell loop: for f in *.caf; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.caf}.aif"; done. This iterates over every CAF file in the current directory and outputs a corresponding AIF file with the same base name. On Windows Command Prompt the equivalent is: for %f in (*.caf) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.aif". The in-browser tool processes one file at a time, so the FFmpeg command is the recommended approach for bulk conversions.

Technical Notes

CAF was designed explicitly to overcome the 4GB file size limit of AIFF and WAV, making it common in professional macOS recording pipelines and Core Audio development environments. AIF inherits the original AIFF specification and does not share this large-file capability, so converting very long or high-sample-rate CAF recordings to AIF may produce files approaching or exceeding the 4GB boundary — a consideration for 24-bit or 32-bit recordings at high sample rates. AIF is strictly a lossless uncompressed format; it cannot store AAC, FLAC, or other compressed codecs, meaning the conversion always results in a significantly larger file if the source CAF was compressed. The default output codec pcm_s16be targets CD-quality audio (16-bit, up to 48kHz stereo) and is the broadest compatibility choice for AIF playback across all Mac software. For professional audio work, selecting pcm_s24be or pcm_s32be is advisable. FFmpeg does not support writing multi-channel CAF sources into multi-track AIF files, so complex surround or multi-track CAF configurations will be mixed down during conversion.

Related Tools