Every song in your library has two kinds of data: the audio (the actual sound) and the metadata (everything else — who made it, what album it's on, what year it came out, the cover art). Metadata turns a pile of anonymous audio files into an organized, searchable, browsable music library. Without it, your media player shows "Unknown Artist - Unknown Album" for everything.
The complication: different audio formats use different metadata systems. MP3 has ID3 tags. FLAC has Vorbis Comments. M4A has MP4 atoms. WAV barely has metadata at all. Converting between formats can preserve metadata, lose it entirely, or corrupt it — depending on the conversion tool and the format combination.
This guide covers how each metadata system works, what fields are standard, how album art embedding works, and how to fix metadata across your library.
ID3v1 vs ID3v2: MP3 Metadata
MP3 files use ID3 tags — metadata blocks appended to the MP3 file. Two versions coexist:
ID3v1 (1996)
A fixed 128-byte block at the end of the MP3 file. Extremely limited:
- Title: 30 characters max
- Artist: 30 characters max
- Album: 30 characters max
- Year: 4 characters
- Comment: 30 characters
- Genre: One byte (index into a predefined list of 80 genres, extended to 148)
- Track number: ID3v1.1 added a 1-byte track number (values 0-255)
30 characters truncates many titles and artist names. The fixed genre list doesn't include genres created after 1999. No support for album art, composer, lyrics, or any extended metadata. ID3v1 is obsolete but still present in many MP3 files for backward compatibility with very old hardware.
ID3v2 (1998-2000)
A variable-length header at the beginning of the MP3 file. Far more capable:
- No character limits: Fields can be thousands of characters long
- Unicode support: UTF-8 and UTF-16 for international characters
- Album art: Embedded images (APIC frame) — JPEG or PNG, multiple images per file
- Arbitrary fields: TXXX frames for custom key-value pairs
- Lyrics: USLT frame for unsynchronized lyrics, SYLT for synchronized (karaoke-style)
- Chapter markers: CHAP frames (used for audiobook chapters and podcast chapters)
- ReplayGain: RVA2 frame or TXXX custom fields
ID3v2 has sub-versions: v2.3 (1999, most common) and v2.4 (2000, technically superior but less universally supported). v2.3 is the safe default — every player reads it. v2.4 adds UTF-8 as a native encoding (v2.3 uses UTF-16) and cleaner timestamp handling.
Most MP3 files in the wild have both ID3v1 and ID3v2 tags. If they conflict, players prioritize ID3v2.
Vorbis Comments: FLAC, OGG, and Opus Metadata
FLAC, OGG Vorbis, and Opus files use Vorbis Comments — a simpler, more flexible system than ID3. The format is straightforward: flat key-value pairs, all UTF-8, no predefined limits.
Standard fields (by convention, not enforced):
| Field | Description | Example |
|---|---|---|
| TITLE | Track title | Bohemian Rhapsody |
| ARTIST | Performing artist | Queen |
| ALBUMARTIST | Album artist (for compilations) | Various Artists |
| ALBUM | Album name | A Night at the Opera |
| TRACKNUMBER | Track number | 11 |
| DISCNUMBER | Disc number | 1 |
| DATE | Release date | 1975 |
| GENRE | Genre(s) | Rock |
| COMPOSER | Songwriter | Freddie Mercury |
| REPLAYGAIN_TRACK_GAIN | Track gain adjustment | -6.35 dB |
| REPLAYGAIN_ALBUM_GAIN | Album gain adjustment | -8.21 dB |
Advantages over ID3: natively UTF-8 (no encoding confusion), no version fragmentation, fields can repeat (multiple ARTIST entries for collaborations), and custom fields need no special framing (just add MYCUSTOMFIELD=value).
Album art in FLAC uses a separate PICTURE metadata block (not a Vorbis Comment field). In OGG, art is encoded as a base64 METADATA_BLOCK_PICTURE Vorbis Comment. The distinction is technical — most tagging tools handle it transparently.
MP4/M4A/AAC Metadata (iTunes Atoms)
M4A and MP4 files store metadata in atoms (also called boxes) within the MP4 container. Apple defined many of the common atoms, so this system is sometimes called "iTunes metadata."
Key atoms:
| Atom | Field | Notes |
|---|---|---|
| \xa9nam | Title | Unicode string |
| \xa9ART | Artist | |
| \xa9alb | Album | |
| aART | Album Artist | |
| trkn | Track Number | Stored as track/total (e.g., 5/12) |
| disk | Disc Number | Same format as trkn |
| \xa9day | Year/Date | |
| \xa9gen | Genre | Free text (also gnre for numeric genre) |
| covr | Cover Art | JPEG or PNG binary data |
| \xa9wrt | Composer | |
| \xa9lyr | Lyrics | |
| \xa9cmt | Comment |
The MP4 atom system supports multiple values, Unicode, and embedded binary data (cover art). It's well-designed and handles most library management needs. The downside: it's specific to the MPEG-4 container family (M4A, MP4, M4B, M4R), so converting to MP3 or FLAC requires mapping atoms to ID3 or Vorbis Comments.
Album Art Embedding: Best Practices
Embedded album art is stored inside each audio file as binary image data. Every track on an album carries its own copy of the cover art — which adds to file size.
Size recommendations:
| Use Case | Dimensions | Format | Approx. File Size |
|---|---|---|---|
| Standard library | 500x500 px | JPEG, ~85% quality | 40-80 KB |
| High-quality library | 1000x1000 px | JPEG, ~90% quality | 100-200 KB |
| Apple Music standard | 3000x3000 px | JPEG or PNG | 500 KB - 2 MB |
Important considerations:
- Embed per-file, not per-folder: Some players read folder.jpg alongside audio files. But embedded art is more reliable — it survives file moves, copy operations, and cloud syncing.
- JPEG for photos, PNG for graphics: Album art with photographic content compresses well as JPEG. Art with text, sharp edges, or transparency needs PNG.
- Multiple art types: ID3v2 and MP4 support multiple images per file — front cover, back cover, CD art, artist photo. Most players only display the front cover. Tag the primary image as "Front Cover" type.
- File size impact: A 200 KB cover embedded in 12 tracks adds 2.4 MB to an album. With 500 albums, that's 1.2 GB of cover art. Use 500x500 JPEG for personal libraries unless you specifically need higher resolution.
What Survives Format Conversion
When you convert between audio formats, metadata may be preserved, lost, or partially converted depending on the tool:
| Conversion | Metadata Behavior |
|---|---|
| MP3 → MP3 (re-encode) | ID3 tags usually preserved by good tools |
| MP3 → FLAC | ID3 → Vorbis Comments mapping (most fields survive) |
| MP3 → M4A | ID3 → MP4 atoms mapping (most fields survive) |
| FLAC → MP3 | Vorbis Comments → ID3 mapping (most fields survive) |
| FLAC → M4A | Vorbis Comments → MP4 atoms (most fields survive) |
| WAV → anything | Limited WAV metadata usually lost |
| Any → WAV | Most metadata lost (WAV has minimal metadata support) |
Fields that commonly survive cross-format conversion: title, artist, album, track number, year, genre, album art. Fields that sometimes get lost: lyrics, ReplayGain, custom fields, chapter markers, multiple artist values.
The safest approach: re-tag after conversion using a dedicated tagger like MusicBrainz Picard, rather than relying on the conversion tool to map every field correctly.
ReplayGain: Volume Normalization Metadata
ReplayGain scans audio files and stores a volume adjustment value in the metadata — without modifying the actual audio data. During playback, compatible players apply the adjustment to normalize volume.
Two modes:
- Track Gain: Each track normalized to the same perceived loudness (~-18 LUFS / 89 dB SPL reference). Great for shuffle play — every song plays at similar volume.
- Album Gain: Entire album normalized together. Preserves the intended volume differences between tracks (a quiet intro stays quiet relative to a loud chorus on the next track). Preferred for album listening.
Where ReplayGain values are stored:
- MP3: TXXX frames (REPLAYGAIN_TRACK_GAIN, REPLAYGAIN_ALBUM_GAIN) or RVA2 frame
- FLAC/OGG: Vorbis Comments (REPLAYGAIN_TRACK_GAIN, etc.)
- M4A: iTunes-specific ----:com.apple.iTunes:replaygain_track_gain atom
Tools: foobar2000 (Windows), mp3gain/aacgain (cross-platform), MusicBrainz Picard (with ReplayGain plugin), Roon, and most Linux players scan and write ReplayGain. Streaming services (Spotify, Apple Music, YouTube) apply their own loudness normalization and ignore ReplayGain tags.
MusicBrainz and Picard: Automated Tagging
MusicBrainz is a community-maintained music database with metadata for millions of releases. MusicBrainz Picard is a free, cross-platform tagger that automatically identifies audio files and applies correct metadata from the MusicBrainz database.
How Picard identifies tracks:
- AcoustID fingerprinting: Picard generates an acoustic fingerprint from the audio data (not the existing tags). This fingerprint matches against the AcoustID database, which links fingerprints to MusicBrainz recordings. This works even with completely untagged files.
- Existing metadata matching: If tags exist, Picard uses them to search MusicBrainz for the correct release.
- Cluster + lookup: Groups files by album (using existing tags or filenames), then matches the group against MusicBrainz releases.
Picard can: correct misspelled artist/album names, add missing track numbers, embed album art, write MusicBrainz IDs (for linking to the database), add release date and label information, and standardize tag formatting across your library.
Other tagging tools worth knowing: Mp3tag (Windows, free, powerful manual tagger), Kid3 (cross-platform, free), Yate (Mac, paid, very thorough), beets (command-line, Python, highly configurable).
Tag Editing Tools and Best Practices
Best practices for a well-organized library:
- Standardize artist names: "The Beatles" not "Beatles, The" or "BEATLES". Consistency prevents duplicate entries in your player.
- Use Album Artist for compilations: Set ALBUMARTIST to "Various Artists" for compilations. Individual track ARTIST fields retain the per-track performers. This keeps the album together in your library browser.
- Track numbering format: Use plain integers (1, 2, 3) not zero-padded strings (01, 02, 03). Tag formats store numbers as integers; zero-padding is a filename convention, not a metadata convention.
- Embed art at reasonable resolution: 500x500 JPEG for personal use. 1000x1000 if you display art on large screens. Don't embed 3000x3000 PNG in every track — that's 2 MB per file of image data.
- Back up your tags: Before batch-editing tags across hundreds of files, back up the originals. A bad regex rename operation can corrupt your entire library's metadata.
Good metadata turns a folder of audio files into a library. Tag your files properly — artist, album, track number, year, cover art — and your music player, podcast app, and audiobook reader can organize, search, and display your collection correctly. Use MusicBrainz Picard for automated tagging, keep album art at reasonable resolutions, and re-tag after format conversions to ensure nothing was lost in translation.
Converting between formats? MP3 to FLAC, FLAC to MP3, M4A to MP3, or WAV to FLAC — free at ChangeThisFile. Re-tag with Picard after conversion for best results.