Compress AIF Online — Free File Size Reducer

Compress an AIF file to a smaller AIF by re-encoding the audio stream to 16-bit PCM (pcm_s16be), reducing file size from higher bit-depth sources like 24-bit or 32-bit recordings while keeping the lossless AIF container intact. Ideal for trimming storage without switching formats.

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

AIF files can contain audio encoded at various PCM bit depths — 16-bit, 24-bit, 32-bit integer, or even 32/64-bit float. When the source AIF uses a higher bit depth (such as pcm_s24be or pcm_s32be), re-encoding to pcm_s16be reduces the number of bits stored per sample, directly shrinking the file size. A 24-bit stereo AIF at 44.1 kHz will be approximately 33% larger than the equivalent 16-bit version, so this conversion yields meaningful savings. The container format stays AIF throughout — only the internal PCM codec changes. Because AIF is always uncompressed, there is no algorithmic compression involved; the size reduction comes purely from reducing bit depth. This means the output is still a fully lossless representation of the audio at 16-bit resolution, which is the standard CD-quality depth and more than sufficient for most listening and distribution purposes.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which runs entirely in your browser via WebAssembly (FFmpeg.wasm) on this page, or can be run locally on your desktop if you have FFmpeg installed.
-i input.aif Specifies the input AIF file. FFmpeg reads the file's AIF container and detects the internal PCM codec (which may be 16-bit, 24-bit, 32-bit integer, or 32/64-bit float big-endian PCM depending on the source).
-c:a pcm_s16be Sets the output audio codec to 16-bit signed big-endian PCM, which is the standard CD-quality bit depth and the default codec for the AIF format. If the source AIF uses a higher bit depth like pcm_s24be or pcm_s32be, this re-encodes the audio to 16-bit, reducing the file size proportionally.
output.aif Specifies the output filename with the .aif extension, instructing FFmpeg to write the result into an AIF container. The container stays AIF throughout — only the internal bit depth of the PCM audio stream changes.

Common Use Cases

  • Downconverting a 24-bit or 32-bit studio recording to 16-bit AIF for CD mastering or distribution, where the extra bit depth is unnecessary and wastes storage.
  • Reducing the size of a large AIF sample library recorded at 32-bit float so it fits within a DAW project's storage quota while remaining in the AIF format expected by Mac-based plugins.
  • Preparing 24-bit AIF field recordings for archiving on a device or platform with a 16-bit PCM AIF requirement, such as certain hardware samplers or legacy audio workstations.
  • Trimming AIF file sizes before emailing or sharing via a file transfer service that has a size cap, without converting to a lossy format like MP3 or AAC.
  • Standardizing a mixed collection of AIF files recorded at inconsistent bit depths (16, 24, and 32-bit) into a uniform 16-bit AIF format for consistent playback in a media player or broadcast system.
  • Freeing up disk space on a Mac by compressing large 32-bit float AIF exports from Logic Pro or GarageBand down to 16-bit AIF without leaving the native Apple audio format.

Frequently Asked Questions

In practice, the difference between 24-bit and 16-bit PCM is inaudible in most listening environments. 16-bit PCM offers a theoretical dynamic range of about 96 dB, which exceeds the dynamic range of typical playback environments and human hearing. The conversion does involve quantization — audio sample values are rounded to fit within 16-bit precision — so it is technically a lossy step relative to the original 24-bit or 32-bit source. However, this is the same standard used for CDs and is considered transparent for distribution and consumer playback.
No. If the input AIF is already encoded with pcm_s16be (16-bit big-endian PCM), the output file will be essentially the same size — the command re-encodes to the same bit depth. The file size reduction only occurs when the source uses a higher bit depth such as pcm_s24be, pcm_s32be, pcm_f32be, or pcm_f64be. You can check the bit depth of your source file using a tool like MediaInfo or by running ffprobe on the file before converting.
The size reduction is directly proportional to the bit depth difference. A 24-bit AIF (pcm_s24be) converted to 16-bit (pcm_s16be) will be approximately 33% smaller, since 16 bits is two-thirds of 24. A 32-bit AIF (pcm_s32be or pcm_f32be) converted to 16-bit will be 50% smaller. A 64-bit float AIF (pcm_f64be) will shrink by 75%. Unlike lossy compression, no perceptual encoding is applied — the reduction comes entirely from storing fewer bits per sample.
AIF supports a limited set of metadata through embedded markers and annotations, but FFmpeg's handling of AIF metadata can be inconsistent. Straightforward ID3-style tags may be carried over, but AIF-specific chunks like MARK (loop markers) and INST (instrument data) used by samplers are likely to be dropped during re-encoding with this command. If preserving loop markers or sampler metadata is important — for example, if the file is used in a hardware sampler — verify the output file in your DAW or sampler before discarding the original.
Replace pcm_s16be in the command with your desired codec: use pcm_s24be for 24-bit, pcm_s32be for 32-bit integer, pcm_f32be for 32-bit float, or pcm_f64be for 64-bit float. For example, to convert to 24-bit AIF, the command becomes: ffmpeg -i input.aif -c:a pcm_s24be output.aif. All of these are valid PCM codecs for the AIF container.
Yes. In a Unix-based terminal (macOS or Linux), you can loop over all AIF files in a directory with: for f in *.aif; do ffmpeg -i "$f" -c:a pcm_s16be "compressed_$f"; done. This processes each file individually and prefixes the output with 'compressed_' to avoid overwriting originals. On Windows, a similar loop can be constructed using a batch script or PowerShell. This is particularly useful for standardizing an entire sample library in one step.

Technical Notes

Both the input and output are AIF (Audio Interchange File Format), a container developed by Apple that stores uncompressed PCM audio in big-endian byte order — which is why all valid AIF codecs carry the 'be' (big-endian) suffix in FFmpeg. The key technical operation here is a PCM bit depth reduction: the audio samples are re-quantized from a higher precision representation to 16-bit signed integer PCM (pcm_s16be). No perceptual or psychoacoustic compression is applied at any stage; AIF does not support lossy codecs. The sample rate and channel count are preserved unchanged by default — if the source is 96 kHz stereo, the output will also be 96 kHz stereo. One notable limitation is that AIF does not support multiple audio tracks, chapters, or subtitle streams, so none of those considerations apply here. Because FFmpeg's AIF muxer re-encodes the PCM stream rather than remuxing it, any non-standard AIF chunks (such as Apple Loops metadata embedded by Logic Pro or GarageBand) may not survive the conversion. Users who need to preserve such metadata should verify compatibility with their specific workflows before replacing source files.

Related Tools