Add your file
Choose or drop a .mp3 file. You can paste the contents instead.
Choose an MP3 file and the viewer reads, inside your browser, the ID3v2 tag at the start of the file (versions 2.2, 2.3 and 2.4) and the ID3v1 or ID3v1.1 tag in the last 128 bytes. Every frame is listed in a table with its ID, byte offset, declared size, text encoding, language, description and value; multi-value text frames in v2.4 are split into separate rows, and sub-frames inside chapters (CHAP) and tables of contents (CTOC) are expanded level by level. Cover art is described by picture type, MIME type, description and size only. The viewer also locates the first MPEG audio frame header and shows MPEG version, layer, bitrate, sample rate, channel mode and the other header bits, reads Xing, Info and VBRI headers, and labels the duration with its source: xing, vbri, cbr-estimate or unknown. Malformed frames, encoding errors and truncation are collected in an issues table, and the complete result can be downloaded as a JSON report.
or drop a file here
Choose or drop a .mp3 file. You can paste the contents instead.
The file is read and parsed in this browser — nothing is uploaded.
Look over what came back, then copy it, download it, or move on.
Want to know how files are handled? Read the privacy notice →
Choose your MP3 file on this page and the tag table lists every ID3 frame it contains, with no tag editor, account or plug-in to install. Each row shows the source (id3v2 or id3v1), the frame ID such as TIT2 for title or TPE1 for artist, the byte offset, declared size, text encoding and decoded value. You can also download the whole result as a .tags.json report.
No. The MP3 is parsed byte by byte inside your browser tab, and titles, artists and other tag values never leave your device. Results are not saved to browser storage either, so reloading the page leaves the tool empty. The JSON report you download is assembled locally in the same tab.
Open this page in Safari or Chrome and pick the MP3; macOS and iOS need nothing extra because the reading happens in the browser itself. On iPhone the file picker lets you choose an MP3 from the Files app or iCloud Drive, and the same steps work in Windows, Linux and Android browsers. Files close to the 128 MB limit may take longer on a phone.
Garbled text usually means the tag was written in a local code page such as Windows-1251, Shift_JIS or GBK while declaring ISO-8859-1. ID3v1 has no encoding field and is read as ISO-8859-1 by definition, as is any ID3v2 frame whose encoding byte is 0. This viewer decodes exactly what is declared and never guesses a code page, so check the Text encoding column; re-saving the tag as UTF-16, or UTF-8 in ID3v2.4, with a tag editor fixes it at the source.
It means no valid MPEG frame header turned up within 128 KB after the ID3 tag, so the file is probably not MP3 audio at all. Common causes are a FLAC, Ogg, WAV or M4A file renamed to .mp3, or a download that was cut off early. If the file has no ID3 tag, this error is all you see and the real format is not named, so confirm it with another tool. If an ID3 tag is present, the tags are still shown alongside this warning, plus a note about another format's signature when one directly follows the tag.
Files up to 128 MB are accepted, and the viewer reads ID3v2.2, ID3v2.3, ID3v2.4, ID3v1 and ID3v1.1 tags. Compressed or encrypted frames are listed with their length but not decoded, and a compressed ID3v2.2 tag stops parsing. APE tags, Lyrics3 tags and ID3v2 tags appended at the end of a file are not read. The tag table holds up to 20,000 rows; anything beyond that is dropped as whole rows with a warning.
The duration is only as accurate as its source label: xing and vbri come from a frame count the encoder wrote, while cbr-estimate is calculated from the first frame's bitrate. The estimate divides audio bytes by that bitrate, so a variable-bitrate file without a Xing or VBRI header can be far off, and free-format files report unknown with no number. Even a xing duration is self-declared; frames are not counted one by one.
The bitrate in the MPEG header panel belongs to the first frame only, which is the true bitrate of a CBR file but not of a VBR one. When a Xing or VBRI header exists, its byte count multiplied by 8 and divided by the duration gives the average bitrate. If that byte count differs from the measured audio size by more than 1%, a mismatch warning appears; it compares declared values only and does not mean the file is damaged.
This viewer gives no virus or safety verdict; it reads tag text and frame headers and never plays the audio or renders the cover image. MP3 is a data format, but some players have had flaws in handling malformed tags, which is why this parser caps frame counts, text volume and chapter depth and logs anything unusual. Use antivirus software when you need an actual safety check.
ID3v2 sits at the start of the MP3, has variable length and supports Unicode text and cover art, while ID3v1 is a fixed 128-byte block at the very end. ID3v1 limits title, artist and album to 30 bytes each in ISO-8859-1 and stores the genre as a number from 0 to 191; ID3v1.1 uses the last two comment bytes for a track number. A file can carry both, and the Source column tells them apart.
No. For embedded cover art the viewer shows details only: picture type, MIME type, description and image size in bytes. The image data inside the APIC or PIC frame is never displayed, converted to base64 or offered for download, and the JSON report holds the same details. Use a tag editor or media player if you need the image file itself.
No. Copyright, artist and publisher fields in an MP3 are self-declared text that any tag editor can write, and this viewer shows them exactly as stored without judging ownership, licensing or authenticity. An empty copyright frame does not mean the track is public domain either. Treat every value as a claim made by whoever last saved the file.