A tag’s data lives in frames. This page lists every frame declared by ID3v2.2, 2.3 and 2.4, with its fields. The three-character IDs are ID3v2.2’s; the four-character IDs are 2.3’s and 2.4’s. Encoded strings use the frame’s text encoding byte. Strings end in a terminator unless they are the last field of the frame.
Frame flags (2.3 and 2.4)
| Bit (byte 0) | 2.3 | 2.4 | Bit (byte 1) | 2.3 | 2.4 |
|---|---|---|---|---|---|
| 0x80 | tag alter: discard | – | 0x80 | compression | – |
| 0x40 | file alter: discard | tag alter: discard | 0x40 | encryption | grouping |
| 0x20 | read only | file alter: discard | 0x20 | grouping | – |
| 0x10 | – | read only | 0x10 | – | – |
| 0x08 | – | 0x08 | – | compression | |
| 0x04 | – | 0x04 | – | encryption | |
| 0x02 | – | 0x02 | – | unsynchronisation | |
| 0x01 | – | 0x01 | – | data length indicator | |
Extra data then precedes the body: in 2.3, the decompressed size (4 bytes) when
compressed, the encryption method (1 byte) when encrypted, and the group byte; in 2.4,
the group byte, the encryption method, and a syncsafe data length. Compressed frames
use zlib. Encrypted frames name an ENCR method and cannot be read without
the key, which the explorer says plainly.
Text frames (T…)
A text encoding byte and then the text. In 2.4 several strings are separated by the terminator; see each frame’s table for its meaning. The ID3v2.2 equivalent is on the same row where there is one.
| ID | 2.2 | Versions | Name |
|---|---|---|---|
TIT1 | TT1 | 2.3, 2.4 | Content group description |
TIT2 | TT2 | 2.3, 2.4 | Title/songname/content description |
TIT3 | TT3 | 2.3, 2.4 | Subtitle/description refinement |
TALB | TAL | 2.3, 2.4 | Album/movie/show title |
TOAL | TOT | 2.3, 2.4 | Original album/movie/show title |
TRCK | TRK | 2.3, 2.4 | Track number/position in set, such as 3/12 |
TPOS | TPA | 2.3, 2.4 | Part of a set, such as 1/2 |
TSST | 2.4 | Set subtitle | |
TSRC | TRC | 2.3, 2.4 | ISRC: international standard recording code |
TPE1 | TP1 | 2.3, 2.4 | Lead performer(s)/soloist(s) |
TPE2 | TP2 | 2.3, 2.4 | Band/orchestra/accompaniment |
TPE3 | TP3 | 2.3, 2.4 | Conductor/performer refinement |
TPE4 | TP4 | 2.3, 2.4 | Interpreted, remixed or otherwise modified by |
TOLY | TOL | 2.3, 2.4 | Original lyricist(s)/text writer(s) |
TOPE | TOA | 2.3, 2.4 | Original artist(s)/performer(s) |
TEXT | TXT | 2.3, 2.4 | Lyricist/text writer |
TCOM | TCM | 2.3, 2.4 | Composer |
TMCL | 2.4 | Musician credits list | |
TIPL | 2.4 | Involved people list (role and name pairs) | |
TENC | TEN | 2.3, 2.4 | Encoded by |
TCON | TCO | 2.3, 2.4 | Content type: free text, or references such as (17) (see genre references) |
TBPM | TBP | 2.3, 2.4 | Beats per minute |
TLEN | TLE | 2.3, 2.4 | Length, in milliseconds |
TKEY | TKE | 2.3, 2.4 | Initial key: A to G, then b or # and an optional m for minor, or o for off key |
TLAN | TLA | 2.3, 2.4 | Languages, as ISO 639-2 codes |
TFLT | TFT | 2.3, 2.4 | File type: codes |
TMED | TMT | 2.3, 2.4 | Media type: codes |
TMOO | 2.4 | Mood | |
TCOP | TCR | 2.3, 2.4 | Copyright message: year then owner |
TPRO | 2.4 | Produced notice | |
TPUB | TPB | 2.3, 2.4 | Publisher |
TOWN | 2.3, 2.4 | File owner/licensee | |
TRSN | 2.3, 2.4 | Internet radio station name | |
TRSO | 2.3, 2.4 | Internet radio station owner | |
TOFN | TOF | 2.3, 2.4 | Original filename |
TDLY | TDY | 2.3, 2.4 | Playlist delay, in milliseconds |
TDAT | TDA | 2.3 | Date, DDMM; replaced in 2.4 by TDRC |
TIME | TIM | 2.3 | Time, HHMM; replaced by TDRC |
TYER | TYE | 2.3 | Year, YYYY; replaced by TDRC |
TRDA | TRD | 2.3 | Recording dates; replaced by TDRC |
TORY | TOR | 2.3 | Original release year; replaced by TDOR |
TSIZ | TSI | 2.3 | Size of the audio in bytes |
TDRC | 2.4 | Recording time, a timestamp (YYYY[-MM[-DD[THH[:MM[:SS]]]]]) | |
TDOR | 2.4 | Original release time | |
TDRL | 2.4 | Release time | |
TDTG | 2.4 | Tagging time | |
TDEN | 2.4 | Encoding time | |
TSOA | 2.4 | Album sort order | |
TSOP | 2.4 | Performer sort order | |
TSOT | 2.4 | Title sort order | |
TSSE | TSS | 2.3, 2.4 | Software/hardware and settings used for encoding |
TXXX | TXX | all | User-defined text: a description and a value |
Fields written by iTunes, shown named but declared by no standard: TCMP
(part of a compilation), TSO2, TSOC, and for podcasts
TCAT, TDES, TGID and PCST.
Genre references
In TCON, numbers in brackets refer to the
ID3v1 genre list, as in
(4) for Disco. (RX) means Remix, (CR) means
Cover, and (( starts a piece of text with a real bracket. Free text may
follow, as in (4)Eurodisco. In 2.4 plain numbers and text are used
instead.
File type codes (TFLT)
MPG MPEG audio, with /1, /2, /3,
/2.5 or /AAC for the layer or kind; VQF;
PCM; and /BPM.
Media type codes (TMED)
| Code | Medium | Refinements |
|---|---|---|
DIG | other digital | /A analogue transfer |
ANA | other analogue | /WAC wax cylinder, /8CA 8-track tape |
CD | CD | /DD DDD, /AD ADD, /AA AAD |
LD | laserdisc | |
TT | turntable | /33, /45, /71, /76, /78, /80 rpm |
MD | MiniDisc | |
DAT | DAT | /1 to /6 sampling modes |
DCC | DCC | |
DVD | DVD | |
TV | television | /PAL, /NTSC, /SECAM |
VID | video | /VHS, /SVHS, /BETA |
RAD | radio | /FM, /AM, /LW, /MW |
TEL | telephone | /I ISDN |
MC | cassette | /4, /9, types /I to /IV |
REE | reel | /F9, /F19, /F38, /F76, /T9, /O |
URL frames (W…)
An ISO-8859-1 URL, to the end of the frame.
| ID | 2.2 | Name |
|---|---|---|
WCOM | WCM | Commercial information |
WCOP | WCP | Copyright/legal information |
WOAF | WAF | Official audio file webpage |
WOAR | WAR | Official artist/performer webpage |
WOAS | WAS | Official audio source webpage |
WORS | Official Internet radio station homepage | |
WPAY | Payment | |
WPUB | WPB | Publishers official webpage |
WXXX | WXX | User-defined link: encoding, description, URL |
Other frames
| ID (2.2) | Versions | Name | Fields, in order |
|---|---|---|---|
UFID (UFI) | all | Unique file identifier | owner (ISO-8859-1, terminated), identifier (up to 64 bytes) |
IPLS (IPL) | 2.2, 2.3 | Involved people | encoding, pairs of role and name, terminated |
MCDI (MCI) | all | Music CD identifier | a binary CD table of contents |
ETCO (ETC) | all | Event timing codes | time stamp format, then events: type (1 byte), time (4 bytes) |
MLLT (MLL) | all | MPEG location lookup | frames between references (2), bytes between (3), ms between (3), bits for byte deviation (1), bits for ms deviation (1), then packed deviations |
SYTC (STC) | all | Synchronised tempo | time stamp format, then tempo (1 byte, or 255 and a second byte) and time (4 bytes) |
USLT (ULT) | all | Unsynchronised lyrics | encoding, language (3), descriptor (terminated), lyrics |
SYLT (SLT) | all | Synchronised lyrics | encoding, language, time stamp format, content type, descriptor, then syllables: text (terminated), time (4 bytes) |
COMM (COM) | all | Comments | encoding, language, short description, text |
RVA2 | 2.4 | Relative volume (2) | identification, then for each channel: type (1), adjustment (2, 1/512 dB), peak bits (1), peak |
RVAD (RVA) | 2.2, 2.3 | Relative volume | direction bits, bits per value, then right, left, peak right, peak left and so on for back, centre and bass |
EQU2 | 2.4 | Equalisation (2) | interpolation (0 band, 1 linear), identification, then points: frequency (2, in 1/2 Hz), adjustment (2, 1/512 dB) |
EQUA (EQU) | 2.2, 2.3 | Equalisation | adjustment bits, then bands: frequency (bit 15 is the direction, 15 bits Hz), adjustment |
RVRB (REV) | all | Reverb | left and right (2 bytes each, ms), bounces left and right, feedback left-left, left-right, right-right, right-left, premix left-right and right-left |
APIC (PIC) | all | Attached picture | encoding, MIME type (2.2: three-letter image format), picture type, description, picture data (or a URL when the type is -->) |
GEOB (GEO) | all | General encapsulated object | encoding, MIME type, file name, description, object |
PCNT (CNT) | all | Play counter | a counter of at least 4 bytes |
POPM (POP) | all | Popularimeter | email (terminated), rating 1–255 (0 unknown), counter |
RBUF (BUF) | all | Recommended buffer size | size (3), flags (1: bit 0 embedded info), offset to next tag (4) |
AENC (CRA) | all | Audio encryption | owner, preview start (2), preview length (2), encryption info |
CRM | 2.2 | Encrypted meta frame | owner, content, encrypted data |
LINK (LNK) | all | Linked information | frame ID (3 bytes; 4 in 2.4), URL (terminated), extra data |
POSS | 2.3, 2.4 | Position synchronisation | time stamp format, position (4) |
USER | 2.3, 2.4 | Terms of use | encoding, language, text |
OWNE | 2.3, 2.4 | Ownership | encoding, price (terminated), date (8), seller |
COMR | 2.3, 2.4 | Commercial | encoding, price string, valid until (8), contact URL, received as (1), seller, description, picture MIME type, logo |
ENCR | 2.3, 2.4 | Encryption method registration | owner, method symbol (1), encryption data |
GRID | 2.3, 2.4 | Group identification | owner, group symbol (1), group data |
PRIV | 2.3, 2.4 | Private | owner, private data |
SIGN | 2.4 | Signature | group symbol (1), signature |
SEEK | 2.4 | Seek | offset to next tag (4) |
ASPI | 2.4 | Audio seek point index | data start (4), data length (4), index points (2), bits per point (1), packed points |
CHAP | addendum | Chapter | element ID (terminated), start and end time (4 each, ms), start and end offset (4 each, 0xFFFFFFFF unset), then frames (usually TIT2) |
CTOC | addendum | Table of contents | element ID, flags (bit 0 top level, bit 1 ordered), entry count (1), child element IDs, then frames |
Chapters
The ID3v2 Chapter Frame Addendum defines CHAP and CTOC, for
audiobooks and podcasts. The frames inside them, such as a chapter’s title in
TIT2, are read and shown as part of the chapter.
Picture types
0 other; 1 32×32 PNG icon; 2 other icon; 3 front cover; 4 back cover; 5 leaflet; 6 media; 7 lead artist; 8 artist; 9 conductor; 10 band; 11 composer; 12 lyricist; 13 recording location; 14 during recording; 15 during performance; 16 video capture; 17 a bright coloured fish; 18 illustration; 19 band logotype; 20 publisher logotype.
Time stamps and events
Time stamp format 1 means MPEG frames, 2 means milliseconds. Event codes:
00 padding; 01 end of initial silence; 02 intro
start; 03 main part start; 04 outro start; 05
outro end; 06 verse start; 07 refrain start; 08
interlude start; 09 theme start; 0A variation start;
0B key change; 0C time change; 0D momentary
unwanted noise; 0E sustained noise; 0F sustained noise end;
10 intro end; 11 main part end; 12 verse end;
13 refrain end; 14 theme end; 15 profanity;
16 profanity end; E0–EF not predefined
synchronisation 0–F; FD audio end; FE audio file ends;
FF one more byte of events follows; other values are reserved.
Synchronised lyrics content types: 0 other, 1 lyrics, 2 text transcription, 3 movement or part name, 4 events, 5 chord, 6 trivia, 7 URLs to webpages, 8 URLs to images.
RVA2 channel types
0 other, 1 master volume, 2 front right, 3 front left, 4 back right, 5 back left, 6 front centre, 7 back centre, 8 subwoofer.
Received as (COMR)
0 other, 1 standard CD album with other songs, 2 compressed audio on CD, 3 file over the Internet, 4 stream over the Internet, 5 as note sheets, 6 as note sheets in a book with other sheets, 7 music on other media, 8 non-musical merchandise.