mid3v2
Edit ID3 metadata tags in MP3 files
TLDR
List all supported ID3v2.3 or ID3v2.4 frames and their meanings
List all supported ID3v1 numeric genres
List all tags in specific files
Set specific artist, album, or song information
Set specific picture information
Set specific year information
Set specific date information
SYNOPSIS
mid3v2 [OPTION]... FILE...
PARAMETERS
-a, --artist=ARTIST
Set or get the artist frame.
-A, --album=ALBUM
Set or get the album frame.
-t, --title=TITLE
Set or get the title frame.
-T, --track=TRACK
Set or get the track number frame.
-g, --genre=GENRE
Set or get the genre frame.
-Y, --year=YEAR
Set or get the year frame.
-c, --comment=DESCRIPTION:TEXT
Set or get a comment frame. DESCRIPTION is optional.
-G, --image=FILENAME:TYPE[:DESCRIPTION]
Add an image frame (e.g., album art). TYPE specifies image role (e.g., 'cover (front)').
-s, --synch-v1-to-v2
Synchronize existing ID3v1 tags to ID3v2 tags.
-S, --synch-v2-to-v1
Synchronize existing ID3v2 tags to ID3v1 tags.
-l, --list-frames
List all known ID3v2 frame types and their descriptions.
-L, --list-images
List all image frames (album art) found in the file(s).
--delete-frames=FID1,FID2,...
Delete specific ID3v2 frames by their four-character ID (e.g., 'TPE1', 'APIC').
--delete-all
Delete all ID3v2 tags from the file(s).
--delete-all-unsynced
Delete all ID3v2 frames that do not have a corresponding ID3v1 tag.
--delete-all-versions
Delete both ID3v1 and ID3v2 tags from the file(s).
--delete-v1
Delete all ID3v1 tags from the file(s).
-d, --dry-run
Do not write changes to the file(s); only show what would happen.
-e, --encoding=ENCODING
Set the text encoding for new frames (e.g., 'utf8', 'utf16').
-v, --verbose
Print more detailed information about operations.
--id3v2-version=VERSION
Set the ID3v2 version for new tags (e.g., '3' for v2.3, '4' for v2.4).
-h, --help
Display a help message and exit.
--version
Display the program's version number and exit.
DESCRIPTION
mid3v2 is a powerful command-line utility used for viewing, adding, modifying, and deleting ID3v2 tags in audio files, primarily MP3s. It is part of the mutagen library, a Python module designed to handle audio metadata.
Unlike its predecessor id3v2, mid3v2 offers robust support for various tag frames, different ID3v2 versions (v2.3, v2.4), and character encodings, making it more reliable for modern tagging needs. It can manage common fields like artist, album, title, year, genre, and also more complex ones such as album art, comments, and custom frames.
It provides options for listing existing tags, adding new ones, deleting specific frames or all tags, and synchronizing tags between different versions. Its design focuses on being cross-platform and handling a wide array of audio file formats and tag types, although its primary use case is ID3v2 for MP3s.
CAVEATS
mid3v2 modifies files in place, so it is highly recommended to back up your files before making extensive changes.
While mid3v2 generally handles different ID3v2 versions well, interoperability issues can sometimes arise with very old or non-standard compliant tag editors. Some operations might slightly increase file size due to ID3v2 tag padding.
ID3V2 VERSIONS
mid3v2 supports both ID3v2.3 and ID3v2.4. By default, it creates new tags using ID3v2.4, which is the latest recommended standard, offering improved Unicode support and more flexible frame types. You can explicitly set the version for new tags using the --id3v2-version option.
CHARACTER ENCODING
A significant improvement over older tools, mid3v2 handles various character encodings for text frames. New frames default to UTF-8 encoding, which is crucial for correctly displaying non-ASCII characters. The --encoding option allows users to specify an alternative encoding if needed.
FRAME IDENTIFIERS
ID3v2 tags use four-character frame identifiers (e.g., TPE1 for Artist, TIT2 for Title, APIC for Attached Picture). mid3v2 provides direct manipulation of these frames using their IDs, offering granular control over tag data beyond common, simplified options.
HISTORY
mid3v2 was developed as part of the mutagen Python library. It emerged to address several limitations found in older ID3 tag editors, such as the original id3v2 tool, particularly regarding robust character encoding support, handling of different ID3v2 versions (v2.3 and v2.4), and a wider array of tag frames.
Its development reflects the ongoing need for a more modern, reliable, and standards-compliant ID3 tag editor for Unix-like systems. mutagen provides a comprehensive framework for audio metadata, and mid3v2 serves as its primary command-line interface for ID3v2 tag manipulation.