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
    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
    Dec 7, 2010 at 10:32
  • <3 easytag! but unfortunately I know of no other tool that can do it... 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. Dec 7, 2010 at 19:45

1 Answer 1


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
    Dec 10, 2010 at 12:49
  • You're right. I've updated the answer, but the ogg solution isn't as clean. Dec 10, 2010 at 23:14
  • Maybe, I have to write something for myself. Thanks for your support.
    – ddeimeke
    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. :-) 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! Mar 9, 2016 at 18:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.