top of page

Labeling MP3 Tracks:  ID3 Tags  (September 2017)


I have converted much of my digital music from WAV files to MP3 files, which I then accumulate into large compilations on DVDs or flash drives.  I listen to those in my car so I don’t have to fumble with changing CDs.  But I’m still spoiled:  I want my car’s sound system to display the track title, album title, and track artist.


For MP3 audio files (as opposed to music CDs with their CD-Text metadata), this is accomplished with ID3 tags, which store track, artist, and album metadata, among other things.  Unlike CD-Text, however, there is no governing body to establish standards for ID3 tags.  Several versions have arisen to meet emerging needs, some of which have been accepted as de facto standards.


The original version was ID3v1.  It’s a 128-character segment at the end of the MP3 file containing a fixed set of data fields—the word “TAG”; track title, artist, album, and comment (30 characters each); year (four characters); and genre (one character).  ID3v1.1 followed soon thereafter, reducing the length of the comment field to 28 characters and (loosely speaking) storing the track number in what used to be the comment’s 29th and 30th characters.


There were two problems with ID3v1, the first of which is that one quickly runs out of room with only 30 characters available (for example, Sgt. Pepper’s Lonely Hearts Club Band won’t fit).  This was addressed by the addition of an “extended tag,” a 227-character segment placed just before the ID3v1 or ID3v1.1 tag.  It provided an additional 60 characters for each of the track title, artist and album, allowed custom genre labels in a 30-character text field, and incorporated a couple of other fields.  Though less likely, it was still possible to exhaust the 90 characters available.


The second problem is that streaming couldn’t make use of the tag because of its location at the end of the file.  Enter ID3v2.  Unlike ID3v1 and its fixed lengths for a small number of values, ID3v2 tags appear at the beginning of the file and consist of several metadata “frames” of variable length.  Each frame can be up to 16 MB in length (that’s 16 million characters), and the total tag size can be as large as 256 MB.  (That’s a lot, given that a CD can hold 650 or 700 MB!)  Each frame contains a Tag ID specifying what’s written in the frame (e.g., “TALB” for album title), the frame’s length, its contents like track title or even the lyrics or a picture of the album’s cover, and several arcane parameters.  With over 75 TAG IDs, there is a lot of information that can be packed into an ID3v2 tag.


ID3v2 has pretty much replaced ID3v1, and there have been three versions.  ID3v2.2 is now obsolete (there was no ID3v2.1), and ID3v2.3, introduced in 1998, remains the most popular.  ID3v2.4 seems to have never gained traction, due in part to different companies coming up with different conventions for what goes into the tags (remember that the “standards” are unofficial).  Software geared to read one company’s ID3v2.4 files couldn’t read those incorporated by other companies.


I convert recordings into WAV files to preserve all the sound information, and the way WAV files store track titles is different than any of the ID3 tag formats.  When burning a CD from WAV files, the track titles are extracted from the tracks’ metadata and written into the CD-Text information (see the earlier article on CD-Text).  In creating MP3 collections for customers who desire them instead of a music CD, I use a WAV-to-MP3 conversion program that captures track titles from the WAV tracks’ metadata and creates ID3v2.3 tags in the MP3 files.  For my own purposes, I sometimes want a shortened track title since my car’s sound system will display only 25 or so characters, and I edit ID3 information manually (see Figure 1).  Please note that some devices and software may not be able to read ID3v2.3 tags, although they will play the music.  If you have a device that does not recognize ID3v2.3 tags, I have software that will create ID3v1 tags.

Figure 1.  Dialog box for entering ID3 Tag information for a track.


Back to Paul's Blog & Contents

bottom of page