Inspect and edit the ID3 metadata embedded in an MP3 — the title, artist, album, year, genre and track number that music players read. Everything runs locally in your browser: the file is parsed with the FileReader API, never uploaded, and a retagged copy is written back out as a download.
How it works
MP3 files carry two kinds of metadata. ID3v2 lives at the start of the file and is the
modern standard. Its 10-byte header is ID3 followed by a version byte, a flags byte and a
4-byte synchsafe size (each byte uses only its low 7 bits, so the size is decoded as
(b0 << 21) | (b1 << 14) | (b2 << 7) | b3). After the header come frames, each with a
4-character ID, a 4-byte size and the frame body. Text frames begin with an encoding byte:
0 is Latin-1 and 1 is UTF-16 with a byte-order mark.
The common text frames this tool decodes are:
TIT2 → Title TPE1 → Artist
TALB → Album TYER → Year (v2.3)
TDRC → Year (v2.4) TCON → Genre
TRCK → Track APIC → Attached picture
ID3v1 is a 128-byte trailer at the end of the file beginning with the ASCII TAG,
holding fixed-width title, artist, album, year and comment fields. When no ID3v2 tag is
present the viewer falls back to reading ID3v1.
Writing tags back
When you edit a field and download, the tool builds a fresh ID3v2.3 tag: for each non-empty field it emits a text frame with a Latin-1 encoding byte, computes the frame size, then wraps all frames in a header whose total size is re-encoded as a synchsafe integer. The original ID3v2 block (if any) is stripped and the audio frames are concatenated unchanged after the new tag, so the audio is bit-identical.
Tips
- If a field looks garbled, it was likely stored as UTF-16; the tool decodes the BOM, but very old encoders sometimes mislabel encodings.
- To strip all tags, clear every field and download — only frames with content are written.
- Genre codes like
(17)are a legacy ID3v1 numeric reference (Rock). Replace them with the plain genre name for best compatibility.