I am searching a command-line tagging tool that supports ogg- and mp3-tagging and allows to add a picture to the tags.

Currently I use lltag but that does not support pictures. dagger is the tool I use before but it is lacking picture support as well.

  • Do you really want a picture inside the mp3/ogg file? Is that even supported by the file format (the id3 tag)?
    – Johan
    Commented Dec 7, 2010 at 7:41
  • 1
    Yes it is supported. See your podcast of choice, a graphical tool to do that would be EasyTAG - easytag.sourceforge.net
    – ddeimeke
    Commented Dec 7, 2010 at 10:32
  • <3 easytag! but unfortunately I know of no other tool that can do it... Commented Dec 7, 2010 at 12:54
  • 1
    For mp3, the mutagen python library supports APIC (example: mydigitallife.co.za/…). I don't know of a command line tool that does; if you know python you could write a simple wrapper. Commented Dec 7, 2010 at 19:45

3 Answers 3


For MP3, try eyeD3, found in this SO answer.

                      Add an image to the tag.  The description and type
                      optional, but when used, both ':' delimiters must be
                      present.  The type MUST be an string that corresponds
                      to one given with --list-image-types. If the IMG_PATH
                      value is empty the APIC frame with TYPE is removed.

For Ogg, there's vorbiscomment. It doesn't support loading image files out of the box, but a cover art tag in Vorbis is just an image file encoded in base64, stored in the COVERART tag and its mimetype in COVERARTMIME - something like

coverart=$(base64 $jpegfile)
vorbiscomment -a -t 'COVERART=$coverart' -t 'COVERARTMIME=image/jpeg' $infile $outfile
  • I will give it a try. Thanks a lot. But it seems to lack support for ogg-files.
    – ddeimeke
    Commented Dec 10, 2010 at 12:49
  • You're right. I've updated the answer, but the ogg solution isn't as clean. Commented Dec 10, 2010 at 23:14
  • Maybe, I have to write something for myself. Thanks for your support.
    – ddeimeke
    Commented Dec 13, 2010 at 5:50
  • Please optimize the images before inserting them into tags, especially if you're inserting them into every file. I even wrote a script to help with this process. Just trying to help. :-) Commented Nov 24, 2011 at 8:41
  • 1
    Good answer, though line breaks in the base64 encoding do not work, should be coverart=$(base64 -w 0 $jpegfile). Tested and image shows up in VLC media player!
    – Michael F
    Commented Mar 9, 2016 at 18:16

tageditor supports a wide variety of formats, and has both a GUI and CLI interface.

tageditor set \
    album="${album}" \
    artist="${artist}" \
    title="${title}" \
    genre="${genre}" \
    --files "${file}"

https://github.com/quodlibet/mutagen provides mid3v2. It is slower than classic id3v2 but runs absolutely reliable.

  • mutagens mid3* commands corrupt ogg files. absolutely reliably. Commented Nov 12, 2022 at 19:07

You must log in to answer this question.

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