ID3 Format

The ID3 format describes a way of saving information about the contents of a MP3 audio file. This document describes the format currently used by popular MP3 players and encoders.

If you have any comments or suggestions, please feel free to contact me. Just send an email to vdwulp@worldonline.nl.

Last update: February 1 1999


 General
The additional content information in the ID3 format is added at the end of a MP3 file. This way, there's little chance it distubs normal decoding operation. The length of the ID3 tag is always 128 bytes and contains the following:

Magic      : 3 chars ; 'TAG'
Song title : 30 chars
Artist     : 30 chars
Album      : 30 chars
Year       : 4 chars
Comment    : 30 chars
Genre      : 1 byte

Note that the easiest way to find an ID3 tag is looking for the word TAG 128 bytes from the end of a MP3 file.

If a field isn't totally filled with alphanumeric characters, it should be stuffed with bytes with the binary value 0. Some encoders use the space character instead as this makes no real difference.


 Genre
As said above, the genre is encoded as only one byte. The value of this byte corresponds to a genre according to the following table (HEX - Genre):

00 Blues
01 Classic Rock
02 Country
03 Dance
04 Disco
05 Funk
06 Grunge
07 Hip-Hop
08 Jazz
09 Metal
0A New Age
0B Oldies
0C Other
0D Pop
0E R&B
0F Rap
10 Reggea
11 Rock
12 Techno
13 Industrial
14 Alternative
15 Ska
16 Death Metal
17 Pranks
18 Soundtrack
19 Euro-Techno
1A Ambient
1B Trip-Hop
1C Vocal
1D Jazz+Funk
1E Fusion
1F Trance
20 Classical
21 Instrumental
22 Acid
23 House
24 Game
25 Sound Clip
26 Gospel
27 Noise
28 Alt. Rock
29 Bass
2A Soul
2B Punk
2C Space
2D Meditative
2E Instrumental Pop
2F Instrumental Rock
30 Ethnic
31 Gothic
32 Darkwave
33 Techno-Industrial
34 Electronic
35 Pop-Folk
36 Eurodance
37 Dream
38 Southern Rock
39 Comedy
3A Cult
3B Gangsta Rap
3C Top 40
3D Christian Rap
3E Pop/Funk
3F Jungle
40 Native American
41 Cabaret
42 New Wave
43 Psychedelic
44 Rave
45 Showtunes
46 Trailer
47 Lo-Fi
48 Tribal
49 Acid Punk
4A Acid Jazz
4B Polka
4C Retro
4D Musical
4E Rock & Roll
4F Hard Rock
50 Folk
51 Folk/Rock
52 National Folk
53 Swing
54 Fast-Fusion
55 Bebob
56 Latin
57 Revival
58 Celtic
59 Bluegrass
5A Avantgarde
5B Gothic Rock
5C Progressive Rock
5D Psychedelic Rock
5E Symphonic Rock
5F Slow Rock
60 Big Band
61 Chorus
62 Easy Listening
63 Acoustic
64 Humour
65 Speech
66 Chanson
67 Opera
68 Chamber Music
69 Sonata
6A Symphony
6B Booty Bass
6C Primus
6D Porn Grove
6E Satire
6F Slow Jam
70 Club
71 Tango
72 Samba
73 Folklore
74 Ballad
75 Power Ballad
76 Rhythmic Soul
77 Freestyle
78 Duet
79 Punk Rock
7A Drum Solo
7B A Cappella
7C Euro-House
7D Dance Hall
7E Goa
7F Drum & Bass
80 Club-House
81 Hardcore
82 Terror
83 Indie
84 BritPop
85 NegerPunk
86 PolskPunk
87 Beat
88 Christian GanstaRap
89 Heavy Metal
8A Black Metal
8B Crossover
8C Contemporary Christian
8D Christian Rock
8E Merengue
8F Salsa
90 Trash Metal
91 Anime
92 JPop
93 Synthpop


 Album track
There are files which extend the ID3 format described above in a clever way. As the space for comments is so small that one can hardly use it for a real comment, these files shorten the space for comments to 28 characters. This leaves two bytes to specify the track number on the album.

The first of these two bytes always has the binary value 0, to let 'older' decoders know that the end of the comment has been reached. The second extra byte holds the binary value of the album track.

With this extension, we have the following format:

Magic       : 3 chars ; 'TAG'
Song title  : 30 chars
Artist      : 30 chars
Album       : 30 chars
Year        : 4 chars
Comment     : 28 chars
Notifier    : 1 byte ; 0
Album track : 1 byte
Genre       : 1 byte


 Disclaimer
The author of this document is not responsible for the use made of information obtained from this document. If any software company objects to any of their format information being made available here then the author will abide by their wishes and remove it from the site. I would urge all software companies to make their file format information public so that the formats can become more popular.


 Copyright
Copyright to this document remains with the author.
© Bastiaan van der Wulp 1998, 1999.