~ / Home / Blog / Edit MP3 Metadata using eyeD3

04 Agosto 2026 # cli, software, tools

Edit MP3 Metadata using eyeD3

To speed up my music library management, I started using the command line.

Among the alternatives there is eyeD3, an actively maintained, Python-driven command-line utility

Here are some suggestions and ready-made commands to start with eyeD3.

Installation

eyeD3 is available on most major package managers. On macOS, you can install it using Homebrew:

brew install eye-d3

Inspecting Tags

To view existing metadata, simply pass a file or folder wildcard to eyeD3:

# View tags for a single track
eyeD3 song.mp3

# View tags for all MP3s in the current folder
eyeD3 *.mp3

eyeD3 prints a clean breakdown containing artist info, album titles, track numbers, embedded images, and audio details (like bitrate and sample rate).

Updating Metadata (Album, Artist, Track Info)

You can edit individual files or apply changes across an entire directory in place.

Batch-Set Album and Artist Name

Apply album-wide tags across all .mp3 files in your working directory:

eyeD3 -A "Random Access Memories" -a "Daft Punk" -Y 2013 *.mp3

Set Specific Track Info

Update single-track metadata like title and track position:

eyeD3 -t "Get Lucky" -n 8 track08.mp3

I didn't even know how helpful can be to specify the track position!

Adding or Replacing Album Art

Embedding cover art (JPEG or PNG) directly into your files is simple with eyeD3.

Place your cover image in your album folder and run:

eyeD3 --add-image cover.png:FRONT_COVER *.mp3

Managing Existing Images

If you want to clear out old or low-resolution artwork before adding a new cover:

# Remove existing artwork frames
eyeD3 --remove-images *.mp3

# Embed the new front cover
eyeD3 --add-image cover.png:FRONT_COVER *.mp3

Stripping Tags Completely

If a set of files has corrupted or unwanted metadata, you can wipe all ID3 frames to start fresh:

eyeD3 --remove-all *.mp3

Note for Legacy id3v2 Users

If you are accustomed to the classic id3v2 command-line utility, you might have run into issues when attempting to embed album artwork, often seeing errors like:

()[, 0]: , 0 bytes

This occurs because the original id3v2 tool lacks proper handling for modern PNG/JPEG headers and binary APIC frames.

Transitioning from id3v2 to eyeD3 requires minimal adjustment to your workflow. Basic flags like -A (Album), -a (Artist), and -Y (Year) work identically, but eyeD3 provides a dedicated --add-image flag that safely writes image data without corrupting file headers.

Quick Syntax Reference

Operation Command
Inspect Files eyeD3 *.mp3
Set Album eyeD3 -A "Album Name" *.mp3
Set Artist eyeD3 -a "Artist Name" *.mp3
Set Year eyeD3 -Y 2026 *.mp3
Set Track Title eyeD3 -t "Track Title" song.mp3
Add Cover Art eyeD3 --add-image cover.png:FRONT_COVER *.mp3
Remove Images eyeD3 --remove-images *.mp3
Wipe All Tags eyeD3 --remove-all *.mp3

Vuoi lavorare con me?
Facciamo due chiacchiere.

hi@lucafedrizzi.com

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░