Convert AAC to AU — Free Online Tool

Convert AAC audio files to Sun AU format using PCM signed 16-bit big-endian encoding — a lossless uncompressed output that fully decodes the AAC data into raw PCM audio. This is ideal for Unix/Linux workflows, legacy audio toolchains, or any environment that requires uncompressed AU files.

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

AAC is a lossy compressed format, so the audio data stored in the .aac file is a compressed bitstream that must be fully decoded before it can be stored in AU format. During this conversion, FFmpeg decodes the AAC audio stream back into raw PCM samples, then re-encodes those samples as signed 16-bit big-endian PCM (pcm_s16be) and wraps them in the simple Sun AU container with its fixed-length header. The result is an uncompressed audio file — significantly larger than the source AAC but with no further quality degradation beyond whatever was introduced when the AAC file was originally encoded. There is no remuxing shortcut here: a full decode-then-encode pipeline is always required because AAC and AU share no compatible codec.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm), so no audio data leaves your device. The same command can be run on your desktop if you have FFmpeg installed.
-i input.aac Specifies the input file, which is your AAC audio file. FFmpeg reads the compressed AAC bitstream from this file and passes it through its AAC decoder to produce raw PCM samples for re-encoding.
-c:a pcm_s16be Sets the audio codec for the output to signed 16-bit big-endian PCM — the standard uncompressed encoding used in Sun AU files. This instructs FFmpeg to write each decoded audio sample as a 16-bit integer in big-endian byte order, which is natively expected by AU-compatible Unix audio systems.
output.au Specifies the output file with the .au extension. FFmpeg uses this extension to select the Sun AU container format, which wraps the pcm_s16be audio data in a minimal fixed header that includes the sample rate, channel count, and encoding type.

Common Use Cases

  • Feeding audio into legacy Unix audio tools or C libraries (such as those using the libaudio or Sun Audio API) that only accept .au files with PCM encoding
  • Preparing audio samples for use in older Java applications, which historically used the AU format as their native audio type via javax.sound.sampled
  • Converting AAC podcast segments or voice recordings into uncompressed AU for archival on Unix systems where AU is the standard interchange format
  • Providing uncompressed audio input to scientific or signal-processing pipelines on Linux/Unix that expect raw PCM wrapped in an AU container
  • Stripping the lossy AAC compression layer to produce a flat PCM representation for audio analysis or waveform inspection without a proprietary decoder dependency
  • Reproducing or debugging audio issues in legacy software by generating AU files from AAC sources to compare behavior across different decoders

Frequently Asked Questions

The AU output will not lose any additional quality beyond what was already lost when the AAC file was originally encoded. AAC is a lossy format, so some audio information was discarded at that earlier stage and cannot be recovered. The conversion to AU uses pcm_s16be, which is an uncompressed lossless codec, meaning it faithfully stores every PCM sample decoded from the AAC stream without introducing further degradation. Think of it as 'freezing' the current audio quality into an uncompressed form.
AAC achieves its small file size through perceptual compression, typically encoding audio at 128 kbps or similar bitrates. The AU file using pcm_s16be stores every audio sample uncompressed at a fixed rate of roughly 1,411 kbps for standard 44.1 kHz stereo audio — about 10 times more data per second. A 5 MB AAC file can easily become 50 MB or more as an AU file. This is expected behavior and is the nature of converting from compressed to uncompressed audio.
pcm_s16be stands for PCM (Pulse Code Modulation) signed 16-bit big-endian. 'Signed 16-bit' means each audio sample is stored as a 16-bit integer, giving a dynamic range equivalent to CD-quality audio. 'Big-endian' refers to the byte order, where the most significant byte is stored first — this is the native byte order of Sun/SPARC systems where the AU format originated. It is the most compatible and widely supported codec within the AU container, and is the correct default choice for maximum compatibility with Unix audio tools.
Yes — the AU container supports several other codecs including pcm_s8 (8-bit signed PCM), pcm_u8 (8-bit unsigned PCM), pcm_alaw (G.711 A-law), and pcm_mulaw (G.711 mu-law). To use one of them, change the -c:a flag in the FFmpeg command, for example: ffmpeg -i input.aac -c:a pcm_mulaw output.au. Note that 8-bit and G.711 variants reduce audio quality significantly and are mainly useful for telephony or systems with strict codec requirements.
No. The Sun AU container has an extremely minimal header that was not designed to store metadata tags. It contains only basic technical information: a magic number, data offset, data size, encoding type, sample rate, and channel count. Any ID3 or iTunes metadata embedded in your AAC file — such as artist name, album art, or track title — will be lost in the conversion. If preserving metadata is important, consider a format like FLAC or WAV that supports tagging in an uncompressed context.
By default, FFmpeg preserves the sample rate and channel count from the source AAC file. To resample or change channels, add -ar (audio sample rate) and -ac (audio channels) flags to the command. For example, to output mono audio at 8000 Hz — common for telephony AU files — use: ffmpeg -i input.aac -c:a pcm_s16be -ar 8000 -ac 1 output.au. This is especially useful when targeting legacy systems that only support specific sample rates.

Technical Notes

The Sun AU format (.au, sometimes .snd) uses a simple 24-byte minimum header followed by raw audio data, making it one of the most structurally straightforward audio containers available. Because AU predates modern metadata standards, it carries no support for tags, chapters, or multiple audio tracks. The pcm_s16be codec selected by this tool stores audio at the bit depth of standard CD audio (16 bits per sample) in big-endian byte order, which is native to SPARC and PowerPC architectures but requires byte-swapping on x86/x64 systems — though all modern software handles this transparently. A key limitation to be aware of: the AU format's data size field in the header is a 32-bit unsigned integer, which means AU files cannot reliably exceed approximately 4 GB. Given that pcm_s16be stereo audio at 44.1 kHz produces roughly 10 MB per minute, this limit is only likely to be encountered with very long recordings. The conversion from AAC introduces no additional quality loss, but the quality ceiling is set by the original AAC encoding — if the source was encoded at 96 kbps AAC, the resulting AU file will be large but will still reflect the frequency and dynamic range limitations of that 96 kbps encoding.

Related Tools