Convert CAF to AU — Free Online Tool

Convert CAF (Core Audio Format) files to AU (Sun AU) format, transcoding the audio stream to 16-bit big-endian PCM — the native encoding of the AU container. This is useful for moving Apple-originated audio into Unix/Linux environments or legacy systems that expect the classic .au 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 a variety of audio codecs including AAC, FLAC, Opus, Vorbis, and various PCM variants. The AU format, however, only supports a handful of simple PCM and telephony codecs (PCM 16-bit big-endian, 8-bit signed/unsigned, A-law, and mu-law). This conversion re-encodes the audio stream from whatever codec is stored in the CAF container into PCM signed 16-bit big-endian (pcm_s16be), which is the AU format's default and most compatible codec. If the source CAF already contains PCM data, the process is essentially a straightforward bit-depth and byte-order conversion. If the source contains a compressed codec like AAC or FLAC, it must be fully decoded first and then re-encoded as raw PCM. The AU container itself has a minimal fixed header — just 24 bytes — with no support for chapters, embedded images, or rich metadata, so any tags stored in the CAF file will not carry over.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser-based version of this tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — no data leaves your machine.
-i input.caf Specifies the input file, a CAF (Core Audio Format) container. FFmpeg will detect the audio codec stored inside — which could be AAC, FLAC, PCM, Opus, or others — and decode it automatically before converting to AU.
-c:a pcm_s16be Sets the audio codec for the output to PCM signed 16-bit big-endian, which is the standard and most compatible encoding for Sun AU files. This is required because AU cannot store compressed codecs like AAC or FLAC, and big-endian byte order matches the AU format's specification inherited from SPARC Unix systems.
output.au Specifies the output filename with the .au extension, which tells FFmpeg to use the Sun AU container format. The minimal AU header (24 bytes) will be written containing the sample rate, channel count, and encoding type derived from the pcm_s16be codec setting.

Common Use Cases

  • Preparing Apple-recorded audio (from macOS, Logic Pro, or GarageBand) for playback on Unix or Solaris workstations that natively support the .au format.
  • Feeding audio into legacy scientific or academic software (common in signal processing and linguistics research) that reads only Sun AU files.
  • Converting CAF voice memos or field recordings into a format compatible with older Java applications, which have historically used AU as their default audio format via the javax.sound API.
  • Archiving telephony audio captured on Apple hardware by converting it to AU with a-law or mu-law encoding for systems that originated on Sun or early internet infrastructure.
  • Providing audio files to older web servers or Unix-based streaming systems that served .au files as one of the earliest internet audio formats.
  • Stripping Apple-specific container overhead and metadata from a CAF file to produce a bare-bones, header-minimal PCM audio file for low-level audio processing pipelines.

Frequently Asked Questions

It depends on what codec your CAF file uses. If the source CAF contains lossless audio (such as FLAC or PCM), converting to 16-bit big-endian PCM in AU is essentially lossless at CD quality — you may only lose precision if the source was 24-bit or 32-bit, since the output is capped at 16-bit. If the source CAF contains a lossy codec like AAC or Opus, that audio has already been compressed; re-encoding it to PCM in AU does not restore the lost data, so some quality degradation from the original source is permanent, though no additional lossy compression is applied.
The AU format was developed by Sun Microsystems for SPARC workstations, which used big-endian processor architectures — meaning the most significant byte of a multi-byte value is stored first. This is in contrast to x86/x64 systems (little-endian) that power most modern computers, which is why formats like WAV use little-endian PCM (pcm_s16le). The AU format has retained big-endian byte order as part of its specification, so FFmpeg always writes pcm_s16be when targeting AU, regardless of the host machine's architecture.
Essentially none. The Sun AU format has an extremely minimal header structure — it stores only sample rate, number of channels, bit depth, encoding type, and an optional short annotation string. It has no standardized support for ID3 tags, artist, album, title, or any other rich metadata fields that CAF can carry. Any metadata embedded in your CAF file will be discarded during this conversion.
Yes. FFmpeg will automatically decode the AAC stream from the CAF container and re-encode it as PCM 16-bit big-endian for the AU file. You do not need to manually specify a decoding step — the command handles this transparently. The AU format cannot store AAC data, so the decode-to-PCM step is mandatory and is built into the conversion command shown.
You can replace the codec flag in the command to use a different AU-compatible codec. For example, to encode as mu-law (commonly used in telephony), use: ffmpeg -i input.caf -c:a pcm_mulaw output.au. For A-law encoding, substitute pcm_alaw. Note that mu-law and A-law are 8-bit companded formats designed for voice telephony, so they are significantly lower quality than pcm_s16be for music or wideband audio.
On macOS or Linux you can use a shell loop: for f in *.caf; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.caf}.au"; done. On Windows Command Prompt, use: for %f in (*.caf) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". This runs the same conversion on every CAF file in the current directory, outputting a matching AU file for each one.

Technical Notes

The Sun AU format imposes strict limitations compared to CAF. AU supports only a small set of encodings: pcm_s16be, pcm_s8, pcm_u8, pcm_alaw, and pcm_mulaw — none of which are compressed in the modern sense. CAF, by contrast, was designed to be codec-agnostic and can hold everything from 32-bit float PCM to AAC-LC to FLAC. The conversion always lands on pcm_s16be by default, which is 16-bit signed integer audio with big-endian byte order, giving a dynamic range of about 96 dB — equivalent to standard CD audio. There is no bitrate control meaningful in the context of uncompressed PCM; the file size is determined entirely by sample rate, channel count, and duration. A stereo 44.1 kHz AU file will consume approximately 10 MB per minute. The AU container has no concept of chapters, subtitle streams, cover art, or multiple audio tracks. Because AU files are simply a fixed 24-byte header followed by raw PCM data, they are trivially readable by low-level audio tools, DSP software, and signal processing libraries, which is their primary advantage. If your target application specifically needs AU with telephony codecs (a-law or mu-law at 8 kHz), you should also resample using the -ar 8000 flag and specify the appropriate codec, as the default conversion preserves the source sample rate.

Related Tools