I am looking for a tool to edit tags in MP3s through a script.

The files are episodes of several podcasts where the tags are inconsistent between episode: Sometimes the Album or Genre tag is missing for example. The script will run after new episodes are downloaded to modify the tags.

I have tried id3tool and id3v2 already.

id3v2 does not support free Genre tags, only a numbered list of predefined genres is offered. In this list, there is no genre "Podcast".

id3tool only supports id3v1, where the field lengths are limited. But there is an option to specify free Genre definitions.

Is there a tool that supports all the required functionality? It should compile under Mac OS X 10.6.

  • 1
    Someone had recommended eyeD3, but I don't know where this answer has gone. I have tried eyeD3 and it seems to do what I want. I will report after success.
    – ischeriad
    Sep 10, 2010 at 20:05
  • 1
    Nowadays id3v2 supports free genre tag: id3v2 -g Podcast my.mp3. It will be shown with code 255 (as all free tags): TCON (Content type): Podcast (255)
    – gavenkoa
    Nov 17, 2018 at 17:42

4 Answers 4


Just use Homebrew:

brew install id3lib

Example command: ide3tag

Usage: id3tag [OPTIONS]... [FILES]...
   -h         --help            Print help and exit
   -V         --version         Print version and exit
   -1         --v1tag           Render only the id3v1 tag (default=off)
   -2         --v2tag           Render only the id3v2 tag (default=off)
   -aSTRING   --artist=STRING   Set the artist information
   -ASTRING   --album=STRING    Set the album title information
   -sSTRING   --song=STRING     Set the title information
   -cSTRING   --comment=STRING  Set the comment information
   -CSTRING   --desc=STRING     Set the comment description
   -ySTRING   --year=STRING     Set the year
   -tSTRING   --track=STRING    Set the track number
   -TSTRING   --total=STRING    Set the total number of tracks
   -gSHORT    --genre=SHORT     Set the genre
   -w         --warning         Turn on warnings (for debugging) (default=off)
   -n         --notice          Turn on notices (for debugging) (default=off)

Source: https://apple.stackexchange.com/a/16145/53242


The mutagen Python module comes with a mid3v2 command.

mid3v2 --artist "Sigur Rós" *.mp3

Before you ask: No, mutagen does not support ID3v1, because there is no valid reason to be using it these days.

  • I don't want to use ID3v1, so your tip is alright.
    – ischeriad
    Sep 8, 2010 at 21:34
  • 1
    Mutagen can be installed with sudo easy_install pip; sudo pip install mutagen on OS X. mid3v2 also supports Unicode unlike id3tag and id3v2.
    – Lri
    Aug 12, 2012 at 17:17
  • Note that mutagen forces everything to ID3v2.4 (in 2023), which doesn't have support on some older devices.
    – dsz
    Jan 1, 2023 at 22:55
  • A valid reason would be my wife's car's car stereo only reading id3v1 tags when it displays the title of the currently playing track on a cd of burnt mp3s.... i mean, we can't all have fancy new cars all the time y'know
    – ClioCJS
    May 2, 2023 at 20:33

ID3 Editor
Although the linked website page is oriented towards GUI, it does contain "NEW! Command line editor".

  • Tag is a Windows based command line tool or missing I something?
    – user113731
    Jan 21, 2012 at 22:01
  • @relikd: You are right - so I edited it out.
    – harrymc
    Jan 21, 2012 at 22:48
  • Pa-Software ID3 Editor is trialware or USD15 - not free Mar 15, 2013 at 20:45
  • @MarkMikofski: This must have changed since 2010.
    – harrymc
    Mar 16, 2013 at 8:43

Tagr was recommended; it's free, looks powerful (batch process, cover work, etc.), but not sure it has CLI.

  • 1
    It's not free. As of 2017-01-01 it's $9.99 on AppStore.
    – techraf
    Jan 1, 2017 at 5:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .