AAC MIME Type
audio/aac files contain, how AAC differs from M4A, which applications open it, and how Poly processes AAC audio. MIME type details for audio/aac
In active use| MIME type | audio/aac |
|---|---|
| Extensions | .aac.adts.loas.ass |
| First standardized | 1997 |
| Created by | ISO/IEC Moving Picture Experts Group (MPEG) |
| Browser support | Firefox, Safari |
| Example applications | VLC media player, FFmpeg |
| Poly support | Yes. Poly recognizes audio/aac and .aac files as audio; the registered .adts, .loas, and .ass extensions are not mapped by filename. |
| Indexed by Poly | Yes. Poly extracts available duration and tags, transcribes speech for full-text search, and creates audio-similarity embeddings for clips at least 8 seconds long. |
| Preview in Poly | Yes. AAC files open in Poly's audio player with a waveform and seekable transcript matches. Playback still depends on the browser decoding the supplied stream. |
| Poly agent | Yes. The Poly agent can read the generated transcript and can receive audio/aac directly, subject to an 8-hour audio limit. |
What does audio/aac mean?
The audio/aac media type identifies Advanced Audio Coding audio carried as either an Audio Data Transport Stream (ADTS) or a Low Overhead Audio Transport Multiplex and Stream (LATM/LOAS). Both carry compressed AAC audio, but their framing differs. ADTS is the usual form of a standalone .aac file, while LOAS is designed for low-overhead transport.1
AAC is a lossy perceptual audio codec. An encoder removes information that its model predicts will be difficult to hear, then represents the remaining signal more compactly. MPEG designed it for mono, stereo, and multichannel audio without requiring backward compatibility with MPEG-1 audio codecs such as MP3.2
audio/aac does not mean every file that contains AAC audio. AAC inside an MP4 container normally uses audio/mp4 and an extension such as .m4a. The MIME type describes the container or transport as well as the codec.How to identify an audio/aac file
The IANA registration assigns these extensions:1
| Framing | Registered extensions | Syncword at the start of the stream |
|---|---|---|
| ADTS | .aac, .adts | 12-bit 0xFFF |
| LATM/LOAS | .loas, .ass | 11-bit 0x2B7, or 16-bit 0x4DE1 for EPAudioSyncStream |
IANA deliberately lists no fixed magic number. The syncwords are bit patterns rather than one universal byte sequence, and ADTS headers contain fields immediately after the 12 one-bits. A common ADTS file may therefore begin with bytes such as FF F1 or FF F9, but those two bytes are not a complete format test.
The .ass extension is especially easy to misread. It is registered here for LATM/LOAS audio, but it is also widely used for Advanced SubStation Alpha subtitle files. Inspect the data instead of trusting that suffix alone.
Files may also contain ID3v2 frames at frame boundaries. That permits descriptive tags, but metadata support varies between tools and transport forms.1
Where AAC came from
AAC was first standardized in 1997 as MPEG-2 Part 7, ISO/IEC 13818-7. MPEG-4 Part 3 later incorporated MPEG-2 AAC and expanded the family. The current IANA registration points to both standards and names AAC LC, HE-AAC, and HE-AAC v2 among the relevant profiles.12
AAC was designed to improve compression without preserving MP3 decoder compatibility. MPEG describes three main sources of coding gain: a higher-resolution transform, a signal-adaptive model of human hearing, and entropy coding. Stereo tools and specialized coding tools add further efficiency.2
That family history matters when troubleshooting. "AAC" may refer to AAC Low Complexity, High-Efficiency AAC with Spectral Band Replication, HE-AAC v2, or another audio object type. A decoder that handles common AAC-LC does not necessarily handle every profile.
Is an AAC file the same as an M4A file?
No. AAC is an audio coding family. ADTS, LOAS, and MP4 are ways to package or frame encoded audio.
| Typical filename | Media type | What it usually contains |
|---|---|---|
track.aac | audio/aac | AAC frames in ADTS |
stream.loas | audio/aac | AAC transported as LATM/LOAS |
track.m4a | audio/mp4 | An MP4 audio container, often with AAC but capable of other codecs |
Renaming track.m4a to track.aac does not remove its MP4 container. Likewise, renaming an ADTS stream to .m4a does not create the tables and metadata structure an MP4 reader expects. Remux or transcode it with a media tool instead.
Browser and application support
Raw AAC support on the web is less consistent than AAC inside MP4. MDN documents audio/aac for ADTS and notes that Firefox depends on the operating system's media framework. Its current container guide shows Firefox support and also reports Safari decoding AAC in ADTS.3 Chromium-family support is more dependable when AAC is wrapped in MP4, and codec availability can differ between vendor Chrome and open-source Chromium builds.4
For local playback and inspection:
- VLC lists raw AAC among its supported input formats.5
- FFmpeg can decode AAC and includes a native AAC encoder.6
- A platform player may work, but support can depend on the AAC profile and framing.
audio/mp4. Keep audio/aac for actual ADTS or LATM/LOAS streams.Support in Poly
Poly treats the canonical audio/aac value and .aac filenames as audio. It does not currently infer audio/aac from the other IANA-registered .adts, .loas, or .ass extensions, so those files may need the correct MIME type supplied by the source system.
Once recognized, an AAC file follows Poly's audio pipeline:
- Poly extracts duration and available tags such as title, artist, album, genre, composer, date, BPM, lyrics, and embedded cover art.
- It creates a waveform and opens the file in the in-app audio player.
- It transcribes spoken content to WebVTT and indexes the cue text for full-text search.
- It creates 15-second audio embeddings for similarity search. Audio shorter than 8 seconds is not embedded.
- Search matches can open at the relevant time in the player.
The Poly agent can read the generated transcript. The agent backend also explicitly accepts audio/aac as audio input, with a maximum duration of eight hours. A transcription can be unavailable temporarily while indexing is still running, and music without intelligible speech may produce little useful transcript text.
Converting AAC safely
Choose between remuxing and transcoding:
- Remux when the AAC bitstream is already suitable and you only need another container. This preserves the encoded audio without another lossy generation.
- Transcode when the destination cannot decode the AAC profile, or when you need a different codec, sample rate, or channel layout. This decodes and re-encodes the audio.
FFmpeg's native AAC encoder defaults to the widely compatible AAC Low Complexity profile. Its documentation also distinguishes constant-bitrate and variable-bitrate settings.6
# Put compatible AAC from an ADTS file into an M4A container without re-encoding.
ffmpeg -i input.aac -c:a copy output.m4a
# Convert AAC to lossless FLAC for editing. This prevents further loss,
# but cannot restore information discarded by the original AAC encoding.
ffmpeg -i input.aac output.flac
# Encode another audio source as AAC-LC in an M4A container.
ffmpeg -i input.wav -c:a aac -b:a 192k output.m4a
Do not judge quality from bitrate alone. Profile, encoder, source material, sample rate, and channel layout all affect the result. Avoid repeatedly transcoding between AAC and other lossy codecs.
Security and privacy considerations
The AAC registration allows private-use tagged data and warns that arbitrary material could be carried in a stream. A player must not execute embedded content and should treat malformed or unexpectedly large decoded output defensively. AAC provides no internal signature, encryption, confidentiality, or integrity protection.1
Metadata can also disclose names, comments, source URLs, dates, or other information. Review tags before publishing audio, and use authenticated transport when the stream itself needs protection.
Footnotes
- Internet Assigned Numbers Authority. audio/aac Media Type Registration. ↩ ↩2 ↩3 ↩4 ↩5
- Moving Picture Experts Group. MPEG Advanced Audio Coding. ↩ ↩2 ↩3
- MDN Web Docs. Media Container Formats: ADTS. ↩
- MDN Web Docs. Web Audio Codec Guide: AAC. ↩
- VideoLAN. VLC Features. ↩
- FFmpeg. FFmpeg Codecs Documentation: AAC. ↩ ↩2