ID3

ID3 is a metadata container most often used in conjunction with the MP3 audio file format. It allows information such as the title, artist, album, track number, and other information about the file to be stored in the file itself.

ID3 is a de facto standard for metadata in MP3 files; no standardization body was involved in its creation nor has such an organization given it a formal approval status. It competes with the APE tag in this area.

There are two unrelated versions of ID3: ID3v1 and ID3v2. In ID3v1, the metadata is stored in a 128-byte segment at the end of the file. In ID3v2, an extensible set of "frames" located at the start of the file is used. Subvariants of both versions exist.

ID3v1
When the MP3 standard was published in 1995, it did not include a method for storing file metadata. In 1996 Eric Kemp proposed adding a 128-byte suffix to MP3 files, which would store useful information such as an artist's name or a related album title. Kemp deliberately placed the tag data (which is demarcated with the 3-byte string TAG) at the end of the file as it would cause a short burst of static to be played by older media players that did not support the tag. The method, now known as ID3v1, quickly became the de facto standard for storing metadata in MP3s despite internationalization and localization weaknesses arising from the standard's use of ISO-8859-1 system of encoding rather than the more globally compatible Unicode.

The v1 tag allows 30 bytes each for the title, artist, album, and a "comment", 4 bytes for the year, and 1 byte to identify the genre of the song from a predefined list of values.

ID3v1.1
In 1997, a modification to ID3v1 was proposed by Michael Mutschler in which two bytes formerly allocated to the comment field were used instead to store a track number so that albums stored across multiple files could be correctly ordered. The modified format became known as ID3v1.1.

ID3v1.2
In 2002 or 2003, BirdCage Software proposed ID3v1.2, which enlarged many of the fields from 30 to 60 bytes and added a subgenre field while retaining backward compatibility with v1.1 by placing its new "enhanced" tag in front of a standard v1.1 tag. Adoption of ID3v1.2 was limited.

ID3v2
In 1998, a new specification called ID3v2 was created by multiple contributors. Although it bears the name ID3, its structure is completely distinct from that of ID3v1. ID3v2 tags are of variable size and are usually placed at the start of the file, which enables metadata to load immediately, even when the file as a whole is loading incrementally during streaming.

A ID3v2 tag consists of a number of optional frames, each of which contains a piece of metadata up to 16 MB in size. For example, a TT2 frame may be included to contain a title. The entire tag may be as large as 256 MB, and strings may be encoded in Unicode.

ID3v2.2
The first public variant of v2, ID3v2.2, used three character frame identifiers rather than four (TT2 for the title instead of TIT2). It is considered obsolete.

ID3v2.3
ID3v2.3 is the most widely used version of ID3v2 tags and is widely supported by Windows Explorer and Windows Media Player. Notably it introduced the ability to embed an image such as an album cover.

The version even includes space for the disc number. This value is rarely used in the internet.

ID3v2.4
ID3v2.4 was published on November 1, 2000. It defines 83 frame types, allows text frames to contain multiple values separated with a null byte, and permits the tag to be stored at either the beginning or the end of the file.

Chapters
An ID3v2 Chapter Addendum was published in December 2005. It allows users to jump easily to specific locations or chapters within an audio file and can provide a synchronized slide show of images and titles during playback. Typical use-cases include Enhanced podcasts and it can be used in ID3v2.3 or ID3v2.4 tags.

Lyrics
Lyrics3v1 and Lyrics3v2 were tag standards implemented before ID3v2, for adding lyrics to mp3 files. The difference with ID3v2 is that Lyrics3 is always at the end of an MP3 file, before the ID3v1 tag.

Editing ID3 tags
ID3 tags may be edited in a variety of ways. Specialized applications, called tag editors, enable precise editing of all fields or frames and permit sophisticated batch editing, but many audio players provide native editing of common fields or frames. Some file managers also provide tag editing capabilities.

Non-MP3 implementation
ID3 tags were designed for the MP3 format, but the tagsets are an independent part of the MP3 file and can be used elsewhere. ID3v2 tags are sometimes used with AIFF and WAV files, and MP4 allows the embedding of an ID3 tag.