The basics
What is an AIFF file?
AIFF is Apple's format for uncompressed audio, created in 1988 for the Macintosh and the Apple II. Like WAV, it stores sound as a plain list of samples, with nothing thrown away, so it's used for recording, editing and mastering. The Library of Congress describes it as widely adopted by Apple users in professional audio work, and functionally equivalent to WAV, which most Windows users choose.
Apple based AIFF on IFF 85, the Interchange File Format that Electronic Arts published in 1985, best known from the Amiga. That's where its chunk structure and its big-endian byte order come from: the Motorola 68000 processors in Macs and Amigas stored numbers that way.
The names you'll meet:
.aiffand.aif: the same format..aifis the older, three-letter form and still the most common.- AIFF-C (
.aifc): an extension from around 1991 that adds a compression type to the header. Despite the name, many AIFF-C files hold uncompressed audio, just in a different byte order or as floating-point numbers.
Anatomy
What's inside an AIFF file
An AIFF file is one IFF FORM chunk that holds other chunks, each with a 4-letter ID, a 4-byte size and its data. All numbers, including the samples, are big-endian: the most significant byte comes first, so 00 00 00 52 is simply 82. Below is the whole of a 90-byte file we made for this page with FFmpeg: four sample frames of a 440 Hz tone in 16-bit stereo at 44.1 kHz, with a title. It isn't offered for download; real files are the same, just with a much longer SSND chunk.
tiny.aiff: 4 sample frames, 16-bit stereo, 44.1 kHz, 90 bytes
offset bytes meaning
0 46 4F 52 4D "FORM"
4 00 00 00 52 size of the rest: 82
8 41 49 46 46 form type "AIFF"
12 4E 41 4D 45 00 00 00 0C "NAME" chunk, 12 bytes
20 54 69 6E 79 20 65 78 61 6D 70 6C 65 "Tiny example"
32 43 4F 4D 4D 00 00 00 12 "COMM" chunk, 18 bytes
40 00 02 2 channels
42 00 00 00 04 4 sample frames
46 00 10 16 bits per sample
48 40 0E AC 44 00 00 00 00 00 00 sample rate, 80-bit float: 44,100
58 53 53 4E 44 00 00 00 18 "SSND" chunk, 24 bytes
66 00 00 00 00 offset: 0
70 00 00 00 00 block size: 0
74 00 00 00 00 frame 1: left 0, right 0
78 01 00 00 80 frame 2: left 256, right 128
82 01 FF 01 00 frame 3: left 511, right 256
86 02 FD 01 7F frame 4: left 765, right 383
90 end of file- 1
46 4F 52 4D · 00 00 00 52The FORM chunk
FORMis IFF's container chunk. Its size, 82, covers everything after these 8 bytes. Other IFF files, such as Amiga IFF images, start the same way. - 2
41 49 46 46The form type
AIFFsays what kind of FORM this is. An AIFF-C file hasAIFChere. Together withFORM, this is the file's signature. - 3
4E 41 4D 45 … 54 69 6E 79A NAME chunk
One of the optional text chunks, holding the title as plain text.
AUTH(author),(c)(copyright) andANNO(annotation) work the same way. Readers skip chunks they don't know. - 4
43 4F 4D 4D 00 00 00 12The Common chunk
COMMdescribes the sound and is required, exactly once. In plain AIFF it's always 18 bytes long. - 5
00 02 · 00 00 00 04 · 00 10Channels, frames, bit depth
2 channels, 4 sample frames (one sample for each channel at each moment), 16 bits per sample. Unlike WAV, AIFF stores the number of frames, not a byte rate.
- 6
40 0E AC 44 00 00 00 00 00 00The sample rate
44,100, stored as an 80-bit IEEE 754 extended-precision float.
400Eis the sign and exponent: 16,398 minus the bias of 16,383 gives 15. The mantissa starts withAC44, and an exponent of 15 makes the value exactly0xAC44, which is 44,100. - 7
53 53 4E 44 · 00 00 00 00 · 00 00 00 00The Sound Data chunk
SSNDholds the samples, after an offset and a block size that are almost always 0. They exist so that the audio can start at an aligned position for hardware that needed it. A file with no samples may leaveSSNDout. - 8
01 00 00 80Big-endian, interleaved samples
Signed 16-bit numbers, left then right:
01 00is 256 and00 80is 128, half of the left channel. In a WAV file the same two samples would be stored as00 01 80 00.
Under the hood
How an AIFF file is organised: IFF chunks
Every AIFF is a FORM chunk of type AIFF with chunks inside. Each chunk is a 4-character ID, a 32-bit size and the data; a chunk with an odd size gets a zero pad byte, not counted in the size, so the next one starts on an even offset. Only COMM is always required, and the order of chunks is free, although SSND usually comes last.
| Chunk | Required? | What it holds |
|---|---|---|
COMM | Yes, once | Channels, number of sample frames, bit depth, sample rate (and in AIFF-C the compression type). |
SSND | If there's any sound, once | The samples, after an offset and block size. |
MARK | No | Markers: named positions in the sound. |
INST | No | Instrument settings for samplers: base note, key and velocity range, loops that refer to markers. |
COMT | No | Comments, each with a timestamp and an optional link to a marker. |
NAME, AUTH, (c) , ANNO | No | Text: name, author, copyright, annotations. |
MIDI, AESD, APPL | No | MIDI data, AES channel status data, and application-specific data. |
FVER | In AIFF-C only | The AIFF-C version: always the timestamp A2 80 51 40, which is 23 May 1990 counted in seconds from 1904. |
Samples are linear two's complement numbers, channels interleaved. Bit depths that aren't a whole number of bytes, such as 20 bits, are stored left-justified in the next whole size (3 bytes) with the unused low bits set to zero.
How big can an AIFF file be?
Chunk sizes are 32-bit numbers, and the AIFF specification defines them as signed, so a file that follows it to the letter stays under 2 GB. Software that reads them as unsigned can go to 4 GB. For longer recordings, Logic Pro offers CAF, which Apple describes as allowing exceptionally long recordings.
A quirk
The 80-bit sample rate
WAV stores the sample rate as a 32-bit whole number. AIFF stores it as a 10-byte IEEE 754 extended-precision float. It can describe any rate exactly, including fractional ones, but most programming languages have no 80-bit type, so every AIFF reader carries a few lines of code to convert it. For the usual rates, the bytes are:
| Sample rate | Bytes in COMM |
|---|---|
| 8,000 Hz | 40 0B FA 00 00 00 00 00 00 00 |
| 22,050 Hz | 40 0D AC 44 00 00 00 00 00 00 |
| 44,100 Hz | 40 0E AC 44 00 00 00 00 00 00 |
| 48,000 Hz | 40 0E BB 80 00 00 00 00 00 00 |
| 88,200 Hz | 40 0F AC 44 00 00 00 00 00 00 |
| 96,000 Hz | 40 0F BB 80 00 00 00 00 00 00 |
| 192,000 Hz | 40 10 BB 80 00 00 00 00 00 00 |
The pattern is visible: the first two bytes are the exponent (16,383 plus the power of two), and the next bytes are the rate's binary digits, starting with a 1. That's why 22,050, 44,100 and 88,200 Hz share the digits AC 44 (44,100 is 0xAC44) and differ only in the exponent. To read it in code: take the 64-bit mantissa, divide by 2⁶³ and multiply by 2 to the power of (exponent − 16,383).
Variants
AIFF-C: compressed, float and little-endian AIFF
AIFF-C changes the form type to AIFC, adds the FVER chunk, and adds two fields to COMM: a 4-character compression type and a human-readable name. Here are the first chunks of the same four frames written by FFmpeg as little-endian AIFF-C:
46 4F 52 4D 00 00 00 50 41 49 46 43 FORM, 80 bytes, "AIFC"
46 56 45 52 00 00 00 04 A2 80 51 40 FVER: AIFC version 1
43 4F 4D 4D 00 00 00 18 COMM, 24 bytes
00 02 00 00 00 04 00 10 2 channels, 4 frames, 16 bits
40 0E AC 44 00 00 00 00 00 00 44,100 Hz
73 6F 77 74 compression type "sowt"
00 00 name: empty, plus a pad byte
53 53 4E 44 00 00 00 18 … SSND, then 00 00 01 00 80 00 …| Type | Meaning |
|---|---|
NONE | Uncompressed big-endian PCM, as in plain AIFF. |
sowt | Uncompressed PCM with little-endian samples (twos backwards). The header stays big-endian. |
fl32, fl64 | 32- or 64-bit floating-point samples. |
ulaw, alaw | G.711 telephone compression, 8 bits per sample. |
MAC3, MAC6 and others | MACE and other old compressed formats from the classic Mac OS. Rarely seen today. |
The sowt variant arrived with Apple's move to Intel processors, which, like today's Apple silicon, are little-endian, so samples can be used without byte-swapping. Older or simpler readers that only know plain AIFF may reject these files, even with an .aif extension. ffprobe shows the type: codec_tag_string=sowt, codec_name=pcm_s16le.
Related formats
AIFF vs WAV (and FLAC, ALAC)
AIFF and WAV store the same thing: for the same bit depth and sample rate, the sound is identical and the files are almost the same size. Converting between them is lossless. The differences are in the packaging:
| AIFF | WAV | |
|---|---|---|
| Made by | Apple, 1988 | Microsoft and IBM, 1991 |
| Container | IFF: FORM … AIFF | RIFF: RIFF … WAVE |
| Byte order | Big-endian (little-endian in AIFF-C sowt) | Little-endian |
| Sample rate stored as | 80-bit extended float | 32-bit whole number |
| Size limit | 2 GB by the spec, 4 GB in some software | 4 GB; RF64 and BW64 go beyond |
| Text metadata | NAME, AUTH, (c) , ANNO; some software adds an ID3 chunk | LIST INFO, bext (Broadcast WAV); some software adds an ID3 chunk |
| Plays in Chrome and Firefox | No | Yes (PCM) |
| Where it's common | Mac audio software | Everywhere: Windows, broadcast, games, the web |
For archiving or sharing without loss, FLAC gives the same samples in a smaller file, with much better tag support. In Apple's world, ALAC in an M4A file does the same job. For listening, an MP3 or AAC copy is around a tenth of the size.
Troubleshooting
Common AIFF problems and their causes
- It downloads instead of playing in the browser: Chrome and Firefox don't play AIFF (we checked Chrome 141 and Firefox 142), and it isn't one of the web's standard media formats. Convert to WAV, MP3 or M4A for a web page.
- "Unsupported compression" for an .aif file: it's really AIFF-C, often
sowtorfl32. Check withffprobeand convert it to plain 16- or 24-bit AIFF or WAV. - Loud static instead of sound: a program read big-endian samples as little-endian (or the reverse), typically when importing raw data or with a hand-written reader that ignores
sowt. Import with the correct byte order. - Titles and artwork lost after converting: AIFF's text chunks and
ID3chunks are read by some apps and ignored by others. Re-tag after converting, or use FLAC or M4A when metadata matters. - A very long recording won't open: it may have passed 2 GB. Record long sessions as CAF or RF64 WAV, or split them.
- Python can't open it: the standard library's
aifcmodule is gone in Python 3.13. Usesoundfileorpydub, or convert first.
How to
How to open, edit and convert an AIFF file
- Mac: double-click it: QuickTime Player and Music play it, and Finder's Quick Look previews it. Logic Pro can record in AIFF, WAVE (BWF) or CAF, and GarageBand exports songs as AAC, MP3, AIFF or WAVE.
- Windows and Linux: VLC and foobar2000 play AIFF; Audacity opens, edits and exports it.
- Phones: VLC plays AIFF on Android and iOS.
- Inspect it:
ffprobe file.aifshows the form (AIFF or AIFF-C), codec, sample rate and tags.
# AIFF to WAV, losslessly (16-bit stays 16-bit)
ffmpeg -i in.aif -c:a pcm_s16le out.wav
# WAV to AIFF
ffmpeg -i in.wav -c:a pcm_s16be out.aiff
# AIFF to FLAC (lossless, smaller) or MP3
ffmpeg -i in.aif out.flac
ffmpeg -i in.aif -c:a libmp3lame -q:a 2 out.mp3
# on a Mac, with Apple's own tool
afconvert -f WAVE -d LEI16 in.aif out.wavMatch the codec to the source's bit depth: use pcm_s24le (WAV) or pcm_s24be (AIFF) for 24-bit files, or the conversion will reduce them to 16 bits.
Is an AIFF file safe?
It's audio and can't run code. As with any binary format, a malformed file could hit a bug in a reader, so keep players updated. Text chunks and ID3 tags can carry names, comments and software details; check them before you publish a file.
Sample files
There are no sample AIFF files on this page. To make one, run ffmpeg -f lavfi -i "sine=frequency=440:duration=5" -c:a pcm_s16be test.aiff, or export a project from GarageBand or Audacity as AIFF.
Put it online
Have an AIFF file? Give it a link.
Drop an AIFF on 99helpers and it gets its own address. Most browsers can't play AIFF, so anyone who opens the link downloads the file to play it in their own audio app; for listening in the browser, add an MP3 or WAV copy.
Questions
AIFF files, frequently asked
What is an AIFF file?
An uncompressed audio file in Apple's Audio Interchange File Format. It stores sound the same way WAV does, without loss, and is common in Mac audio software such as Logic Pro and GarageBand.
Is AIFF better than WAV?
Neither sounds better: at the same bit depth and sample rate they hold identical audio. WAV is more widely supported, including in browsers; AIFF is traditional on the Mac.
What's the difference between .aif and .aiff?
None. They're the same format; .aif is the older three-letter extension. .aifc marks AIFF-C, which can hold compressed or little-endian audio.
Is AIFF lossless?
Yes, plain AIFF holds uncompressed PCM. AIFF-C can also hold lossy telephone codecs such as µ-law, but most AIFF-C files today are uncompressed too.
How do I play an AIFF file on Windows?
Use VLC, foobar2000 or Audacity, or convert it to WAV or MP3. Chrome and Firefox don't play AIFF.
How do I convert AIFF to MP3?
Export from Music, GarageBand or Audacity, or use FFmpeg: ffmpeg -i in.aif -c:a libmp3lame -q:a 2 out.mp3.
Why are AIFF files so big?
Because the audio isn't compressed: CD-quality stereo takes 176,400 bytes a second, about 10 MB a minute. FLAC or ALAC make it smaller without any loss.
What does sowt mean in an AIFF file?
It's the AIFF-C compression type for uncompressed PCM with little-endian samples (twos spelled backwards). Some older programs can't read it; convert to plain AIFF or WAV if that happens.
Related formats
Other file types explained
Keep going
Related
Sources
- Apple: Audio Interchange File Format 1.3 (specification)
- Apple: AIFF-C draft specification (1991)
- McGill University (P. Kabal): AIFF and AIFF-C notes
- Library of Congress: AIFF (Audio Interchange File Format)
- Apple: Logic Pro recording settings (AIFF, WAVE, CAF)
- Apple: Export songs to disk in GarageBand for Mac
Last reviewed 27 October 2026.