Skip to main content
Back to Standards
ID3 logo

ID3

ID3

ID3 is the de facto metadata tagging standard for MP3 audio files, providing a structured container for storing information such as title, artist, album, track number, genre, album art, and chapter markers directly within the audio file. The current version, ID3v2.4.0, published in November 2000, defines 83 frame types and supports Unicode text encoding, embedded images, and extensible metadata. Although ID3v2.3 remains the most widely deployed version, ID3 tags are universally supported by media players, portable devices, and music management software. ID3 is also used in AIFF, WAV, and MP4 files beyond its original MP3 context.

Overview

ID3 is the ubiquitous metadata tagging standard embedded within MP3 audio files, enabling media players and devices to display song titles, artist names, album art, and other descriptive information. As a de facto standard created outside any formal standards body, ID3 achieved near-universal adoption through the sheer momentum of the MP3 format and is now supported by virtually every piece of audio software and hardware in existence.

Background

When the MP3 standard was published in 1995, it included no provision for storing file metadata. In 1996, Eric Kemp proposed adding a 128-byte suffix to MP3 files, demarcated with a "TAG" string, to store basic information such as artist name, album title, and genre. This became known as ID3v1. The tag was deliberately placed at the end of the file so that older players unaware of it would produce only a brief burst of static rather than failing entirely. Despite limitations -- 30 bytes per text field, ISO 8859-1 encoding only, and a fixed genre list -- ID3v1 quickly became the de facto standard for MP3 metadata.

In 1997, Michael Mutschler proposed ID3v1.1, which repurposed two bytes of the comment field to store a track number, enabling correct album ordering. A later proposal, ID3v1.2 (circa 2002-2003), attempted to enlarge fields to 60 bytes and add a sub-genre field, but saw limited adoption.

In 1998, a group of contributors developed ID3v2, a fundamentally different format that placed a variable-length tag container at the beginning of the file. This enabled metadata to load immediately during streaming playback. ID3v2.2, the first public variant, used three-character frame identifiers and is now considered obsolete. ID3v2.3, which introduced four-character frame IDs and the ability to embed images such as album covers, became the most widely used version. ID3v2.4, published on November 1, 2000, defined 83 frame types, added support for multiple values per text frame, and permitted tags at either end of the file.

Purpose & Scope

ID3 tags serve as an embedded metadata container within audio files. The ID3v2 format defines a binary header followed by a series of frames, each identified by a four-character frame ID. The tag container can be up to 256 MB, with individual frames up to 16 MB. Text strings may be encoded in ISO 8859-1, UTF-16, UTF-16BE, or UTF-8 (v2.4 only).

Standard frames cover text information (title, artist, album, track number, genre), attached pictures (album art), comments, lyrics, and commercial information. An ID3v2 Chapter Addendum, published in December 2005, enables chapter markers with synchronized images and titles, widely used in enhanced podcasts. ID3 was designed for MP3 but is also used with AIFF and WAV files, and MP4 allows embedding of ID3 tags.

Key Frames (ID3v2.3/2.4)

Frame ID Name Description
TIT2 Title Song or content title
TPE1 Lead Artist Primary performer or artist
TALB Album Album or collection title
TRCK Track Number Position in album
TDRC Recording Time Date of recording (v2.4)
TCON Content Type Genre classification
APIC Attached Picture Album art or related image
COMM Comments Text comments with language
USLT Unsynchronised Lyrics Full lyrics text
CHAP Chapter Chapter marker with timestamps

Serializations & Technical Formats

ID3 tags use a custom binary format rather than XML or RDF. The tag container begins with a 10-byte header specifying the version, flags, and total tag size. Individual frames follow, each with a header declaring the frame ID, size, and encoding flags. The binary design optimizes for compact storage and fast seeking within audio streams. There is no namespace URI or RDF representation.

Governance & Maintenance

The ID3 specification is maintained informally by the ID3.org community. No formal standards body has been involved in its creation or granted it official approval status. The specification has been stable since November 2000, with supplementary documents for chapter tags and accessibility tags published in 2005-2006. The ID3.org website is hosted as a MoinMoin wiki, and technical discussion occurs on the ID3v2 Developers Mailing List.

Notable Implementations

ID3 tags are supported by essentially all MP3-capable software, including Apple Music (formerly iTunes), Windows Media Player, VLC, Winamp, foobar2000, and MusicBee. Hardware support extends to portable players, car audio systems, and smart speakers. Major tagging libraries include id3lib (C/C++), Mutagen (Python), TagLib (C++ with bindings for many languages), and ID3.js (JavaScript). Podcast applications rely on the ID3 chapter frame extension for chapter navigation.

Related Standards

  • Vorbis Comment -- the metadata format for Ogg Vorbis and FLAC audio files, serving a similar role to ID3 in non-MP3 formats
  • APE Tags -- an alternative tagging format that competes with ID3 in the MP3 space, also used by Musepack and WavPack
  • Lyrics3 -- earlier tag standards (v1 and v2) for adding lyrics to MP3 files, placed at end of file before the ID3v1 tag

Further Reading