ID3v2 Tags

What is ID3v2?

ID3v2 is a new tagging system that lets you put enriching and relevant information about your audio files within them. In more down to earth terms, ID3v2 is a chunk of data prepended to the binary audio data. Each ID3v2 tag holds one or more smaller chunks of information, called frames. These frames can contain any kind of information and data you could think of such as Title, album, performer, Web site, lyrics, equaliser presets, pictures etc. The block scheme to the right is an example of how the layout of a typical ID3v2 tagged audio file may look like.

One of the design goals were that the ID3v2 should be very flexible and expandable. It is very easy to add new functions to the ID3v2 Tag because, just like in HTML, all parsers will ignore any information they don't recognise. Since each frame can be 16 MB and the entire tag can be 256 MB you'll probably never again be in the same situation as when you tried to write a useful comment in the old ID3 Tag being limited to 30 characters.

Speaking of characters, the ID3v2 supports UNICODE so even if you use the Bopomofo character set you'll be able to write in your native language. You can also include in which language you're writing so that one file might contain, for example, the same lyrics but in different languages.

Even though the tag supports a lot of byte-consuming capabilities like inline pictures and even the possibility to include any other file, ID3v2 still tries to use the bytes as efficiently as possibly. If you convert an ID3v1 Tag to an ID3v2 Tag it is even likely that the new tag will be smaller. If you convert an ID3v1 Tag where all fields are full to an ID3v2 tag it will be 56 bytes bigger. This is the worst case scenario for ID3v1 to ID3v2 conversion.

Since it's so easy to implement new functionality into ID3v2, one can hope that we'll see a lot of creative uses for ID3v2 in the future. For example, there is a built-in system for rating the music and counting how often you listen to a file. This feature can be used to build playlists that play your favourite songs more often than others!

Some main features

  • The ID3v2 tag is a container format, just like IFF or PNG files, allowing new frames (chunks) as evolution proceeds.

  • Residing at the beginning of the audio file makes it suitable for streaming.

  • Has an 'unsynchronisation scheme' to prevent ID3v2-incompatible players to attempt to play the tag.

  • Maximum tag size is 256 MB and maximum frame size is 16 MB.

  • Byte conservative and with the capability to compress data it keeps the files small.

  • The tag supports UNICODE.

  • Isn't entirely focused on musical audio, but also other types of audio.

  • Has several new text fields such as composer, conductor, media type, BPM, copyright message, etc. and the possibility to design your own as you see fit.

  • Can contain lyrics as well as music-synchronised lyrics (karaoke) in almost any language.

  • Is able to contain volume, balance, equaliser and reverb settings.

  • Could be linked to CD databases such as CDDB.

  • Is able to contain images and just about any file you want to include.

  • Supports enciphered information, linked information and Web links.

  • and more... (a complete list of all frames and their functions can be found at www.id3.org/frames.html)

Example of the internal layout

of an ID3v2 tagged file

Please go to www.id3.org for more information on ID3 Tags.