Convert CAF to WAV — Free Online Tool

Convert CAF audio files to WAV format directly in your browser, transcoding any CAF-encoded audio (including AAC, FLAC, Opus, or PCM variants) to universally compatible 16-bit PCM WAV. CAF is Apple's proprietary container, so this conversion unlocks your audio for use in Windows software, DAWs, broadcast tools, and virtually any platform outside the Apple ecosystem.

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 a flexible Apple container that can hold many different codecs — including compressed formats like AAC, Opus, FLAC, and Vorbis, as well as various PCM encodings. WAV, by contrast, is nearly always uncompressed PCM. This conversion extracts the audio stream from the CAF container and re-encodes it as 16-bit signed little-endian PCM (pcm_s16le) inside a WAV container. If your CAF file already contains PCM audio, the sample data is repackaged with minimal quality impact. If it contains a lossy codec like AAC, the audio is decoded and written as uncompressed PCM — a generational quality loss is unavoidable in that case, but the resulting WAV will be fully uncompressed and universally readable. The output is standard CD-quality stereo WAV, compatible with virtually every audio application on every platform.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg application — the open-source multimedia processing engine that handles all demuxing, decoding, encoding, and muxing for this conversion. In the browser tool, this runs as FFmpeg.wasm via WebAssembly.
-i input.caf Specifies the input file — a CAF (Core Audio Format) container from Apple. FFmpeg will probe this file to detect the internal audio codec (which could be AAC, PCM, FLAC, Opus, or others) before processing.
-c:a pcm_s16le Sets the audio output codec to signed 16-bit little-endian PCM — the standard uncompressed audio encoding used in WAV files. Regardless of what codec was inside the CAF (lossy or lossless), the output will be written as raw uncompressed 16-bit samples, which is universally readable on all platforms and software.
output.wav Defines the output filename and format. The .wav extension tells FFmpeg to wrap the pcm_s16le audio stream in a RIFF/WAV container — a Microsoft and IBM standard that is natively supported on Windows, macOS, Linux, and virtually all audio hardware and software without additional codecs.

Common Use Cases

  • Opening Apple Voice Memos or GarageBand recordings in Windows-based DAWs like FL Studio or Audacity, which often lack native CAF support
  • Submitting audio to broadcast or podcast distribution platforms that require WAV files and reject Apple-proprietary container formats
  • Preparing iOS field recordings captured in CAF for editing in non-Apple video or audio production software
  • Converting CAF audio assets from Xcode or iOS development projects into WAV for use in cross-platform game engines like Unity or Unreal Engine
  • Archiving Apple ecosystem audio in a universally readable format to ensure long-term accessibility outside of macOS/iOS software dependencies
  • Sending audio files to collaborators or clients who are on Windows or Linux machines where CAF files will not open without special codec support

Frequently Asked Questions

It depends on what codec is stored inside your CAF file. CAF is a container, not a codec — it can hold lossless or lossy audio. If your CAF contains PCM audio (such as pcm_s16le or pcm_s24le), converting to WAV at 16-bit PCM is essentially lossless with negligible difference. However, if your CAF holds a lossy codec like AAC or Opus, the decode-to-PCM step introduces a generational loss — you're decompressing already-compressed audio into an uncompressed format, which cannot restore the detail removed during the original encoding. In that case, WAV will be larger but not higher fidelity than the source.
If your CAF file contained compressed audio (such as AAC or FLAC), the output WAV is significantly larger because WAV stores audio as uncompressed PCM — every sample is written in full without compression. A one-minute AAC audio file might be around 1MB inside a CAF container, but the equivalent 16-bit 44.1kHz stereo WAV would be approximately 10MB. This size increase is expected and is the natural result of decompressing the audio stream.
This tool and FFmpeg command output 16-bit PCM (pcm_s16le) by default, which is standard CD quality. If your CAF file contains 24-bit or 32-bit PCM audio for high-resolution recordings, those extra bits will be downconverted to 16-bit in the output. If preserving the original bit depth matters for professional or archival work, you can modify the FFmpeg command to use -c:a pcm_s24le or -c:a pcm_s32le instead, and rename the output accordingly. The browser tool uses the standard 16-bit output as a safe, universally compatible default.
Yes — 16-bit PCM WAV is one of the most universally supported audio formats in existence. It opens natively in Windows Media Player, Audacity, Adobe Audition, Pro Tools, Logic Pro, FL Studio, Reaper, VLC, and virtually every other audio or video application on Windows, macOS, Linux, iOS, and Android. This is the primary reason to convert from CAF to WAV: eliminating the dependency on Apple software for playback and editing.
To change the output bit depth, replace pcm_s16le with another PCM codec such as pcm_s24le (24-bit) or pcm_s32le (32-bit): ffmpeg -i input.caf -c:a pcm_s24le output.wav. To also change the sample rate, add the -ar flag — for example, -ar 48000 for 48kHz: ffmpeg -i input.caf -c:a pcm_s24le -ar 48000 output.wav. These options are especially useful when your source CAF contains high-resolution audio that you want to preserve in the WAV output.
The command shown processes a single file, but FFmpeg supports batch conversion via a shell loop. On macOS or Linux, you can run: for f in *.caf; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.caf}.wav"; done. On Windows Command Prompt: for %f in (*.caf) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.wav". This is particularly useful for converting entire libraries of iOS or GarageBand exports in one step, and is the recommended approach for files over 1GB since the browser tool supports up to 1GB per file.

Technical Notes

CAF was designed by Apple to address the 4GB file size limit of AIFF and WAV, and as a result it supports a wide range of internal codecs — from uncompressed PCM (in multiple bit depths and byte orders) to lossy formats like AAC and Opus. When demuxing a CAF file, FFmpeg must first identify the internal codec before it can decode and re-encode the stream. The output codec pcm_s16le (signed 16-bit little-endian PCM) is the WAV default and matches the byte order expected by WAV's RIFF structure on x86/x64 systems. Metadata handling is minimal: CAF supports extended metadata fields that have no direct WAV equivalent, so most non-standard tags will be dropped during conversion. The output WAV file uses a standard RIFF header, which caps theoretical file size at 4GB — relevant if you're processing very long high-sample-rate recordings that were specifically stored in CAF to exceed that limit. For files approaching that threshold, consider using a 32-bit float codec (pcm_f32le) or splitting the output. The browser-based conversion uses FFmpeg.wasm compiled to WebAssembly and processes everything locally — no audio data leaves your device.

Related Tools