Convert AIFF to AU — Free Online Tool

Convert AIFF audio files to Sun AU format using PCM 16-bit big-endian encoding, producing a simple uncompressed audio file natively compatible with Unix systems and Java's AudioInputStream. Since both formats share the pcm_s16be codec, the audio data is transcoded without any quality loss.

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

AIFF stores uncompressed PCM audio with a structured Apple-defined header, often at high bit depths like 24-bit or 32-bit. During conversion to AU, FFmpeg reads the AIFF container and its PCM audio stream, then re-encodes it as 16-bit signed big-endian PCM (pcm_s16be) wrapped in Sun's minimal AU header. If your source AIFF was already 16-bit, the raw audio samples are effectively passed through with no quality change. If the source was 24-bit or 32-bit AIFF, the conversion applies bit-depth reduction to 16-bit, which is the maximum supported by the AU format's most common encoding. The AU container itself is extremely minimal — just a short fixed header containing sample rate, channel count, and encoding type — making it one of the simplest audio file structures in existence.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser, this runs as FFmpeg.wasm compiled to WebAssembly, executing entirely locally without any server upload.
-i input.aiff Specifies the input file as an AIFF container. FFmpeg reads the Apple-structured header to determine the PCM encoding (which may be 16-bit, 24-bit, 32-bit, or float), channel count, and sample rate before processing.
-c:a pcm_s16be Sets the output audio codec to signed 16-bit big-endian PCM, which is the standard and most compatible encoding for Sun AU files. This matches AU's native byte order and is required because AU cannot store the higher bit depths (24-bit, 32-bit) that AIFF may contain.
output.au Specifies the output filename with the .au extension, which tells FFmpeg to wrap the pcm_s16be audio stream in a Sun AU container with the minimal .snd file header expected by Unix audio players and Java's sound API.

Common Use Cases

  • Supplying audio assets to Java applications that use javax.sound.sampled, which has built-in native support for AU files but may require additional libraries for AIFF
  • Preparing audio clips for deployment on legacy Unix or Solaris workstations where AU was the default system audio format
  • Converting Apple-recorded AIFF audio for use in early web audio contexts or systems built around Sun's original internet audio streaming conventions
  • Stripping the complex Apple metadata and extended AIFF header down to a bare-minimum AU file for embedded or resource-constrained audio playback systems
  • Providing audio test signals or reference tones originally recorded as AIFF to Unix-based audio analysis tools that expect .au input files
  • Archiving AIFF recordings into a universally readable, headerless-simple format that can be parsed without any format-specific library

Frequently Asked Questions

Yes, some quality reduction occurs if your source AIFF uses 24-bit or 32-bit PCM. The AU format's pcm_s16be encoding caps audio at 16-bit depth, which means the extra dynamic range encoded in the higher bit depth is truncated during conversion. For most listening purposes this difference is inaudible, but if you are working in a professional mastering or archival context, be aware that the original high-bit-depth data cannot be fully preserved in AU format.
Yes, the AU format supports multiple channels including stereo. When converting a stereo AIFF file, FFmpeg will preserve both channels in the output AU file. The AU header stores channel count explicitly, so stereo and even multi-channel audio can be encoded, though AU's multi-channel support is less standardized than modern formats and some older AU players may only handle mono.
No. The Sun AU format has an extremely minimal header that contains only the data offset, data size, encoding type, sample rate, and channel count. It has no standardized mechanism for storing ID3-style tags or Apple metadata chunks like those found in AIFF. Any title, artist, album, or comment metadata embedded in your AIFF file will be discarded during conversion.
If your source AIFF was recorded at 24-bit or 32-bit depth, the output AU file will be noticeably smaller because it is downsampled to 16-bit depth — meaning each audio sample takes 2 bytes instead of 3 or 4. A 16-bit stereo AU file at 44100 Hz uses roughly 5.05 MB per minute, while a 24-bit AIFF at the same rate uses about 7.56 MB per minute. The AU container header itself is also significantly smaller than an AIFF header.
Yes. The AU format supports several codecs including pcm_alaw and pcm_mulaw, which are lossy telephony-grade codecs that produce even smaller files. To use A-law encoding, change the command to: ffmpeg -i input.aiff -c:a pcm_alaw output.au. These codecs compress audio into 8-bit samples using logarithmic quantization, making them suitable for voice recordings but not recommended for music or high-fidelity content since they significantly reduce audio quality.
On Linux or macOS, you can loop over all AIFF files in a directory with: for f in *.aiff; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.aiff}.au"; done. On Windows Command Prompt, use: for %f in (*.aiff) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for bulk conversions on your local machine.

Technical Notes

The Sun AU format (also called SND format) was developed by Sun Microsystems and NeXT and became a standard on Unix workstations in the late 1980s and 1990s. Its header is intentionally minimal: a 24-byte fixed structure beginning with the magic number .snd (0x2E736E64). The format uses big-endian byte ordering throughout, which is the same byte order as AIFF — meaning the raw PCM sample bytes from an AIFF pcm_s16be stream are byte-order compatible with AU's pcm_s16be encoding. The AU format does support an optional annotation field in the header, but FFmpeg does not populate this from AIFF metadata. One notable use case for AU is Java's Sound API (javax.sound.sampled), which has built-in platform-independent support for AU files. The format does not support chapters, subtitles, or multiple audio tracks. Sample rate is preserved exactly from the source AIFF — FFmpeg will not resample unless explicitly instructed with the -ar flag.

Related Tools