For the longest time I've struggled with embedding album cover images in my mp3s that are managed by iTunes. One nice thing is that iTunes will automatically download album artwork for your mp3s when you import them into your library. The only problem is that it doesn’t actually embed the artwork in the file’s ID3 tag. The thing about iTunes is that it handles meta data like this in strange ways. In fact I would say that iTunes does a better job controlling the data than they do managing it.
Images downloaded through iTunes are not embedded in the ID3 tag but rather dropped in a folder and then referenced in the iTunes XML file. The ratings that you give to a track are also stored in this file. The problem with this approach is that if you move the mp3 files to another drive by hand you lose that mapping and you have to download the artwork again as well as go back and apply the ratings. Should you have to recover your library from a backup and re-import the files into iTunes you’ll also have to download all of the artwork and apply ratings again.
Although iTunes can simplify the problem and automate the download of artwork for your library, why take the time and the bandwidth to do it again? Fortunately this is not a problem if you happen to embed the artwork yourself, a process that can be time consuming but I think worthwhile.
Why do I care? Well, I use Growl and when some of my tracks would start up, the iTunes notifier would not be able to show the album cover image and instead show the default blank image. This is also true when you view the files in the Finder. Being a visual person this drove me nuts so I went off in search of a solution.
In my searches I came across and downloaded an iTunes script to Embed Artwork from Doug’s Apple Scripts (an excellent source for iTunes scripts). There are a few different scripts to do this so search the site for "embed artwork" to find your favorite. The script I found takes the image file that iTunes references and embeds it in the ID3 tag. Now when I move the file the image moves with it. Note that when you perform this process it makes each mp3 file just a bit bigger usually by a hundred KB +/- a bit.
I had found a solution but I hadn’t completely solved my problems. After applying the script to several albums I noticed that in some cases Growl was still not able to display the album cover. I had to continue my search.
After a bit of hunting around I found that for some reason the problem files in question had been encoded with a v2.2 ID3 tag. I’m not sure why iTunes is doing this and I’m still in search of a way to change the default ID3 tag version when iTunes encodes mp3 files. In the meantime I use the Convert ID3 Tags option in iTunes to update my mp3 files to v2.4 ID3 tags. Now when I embed artwork into the mp3 file everything works as expected.
Check ID3 Tag Version
- Right click on an mp3 and select Get Info (you can do a ⌘+i as well)
- Look for the ID# Tag version in the middle right column on the Summary Tab
- This should say something like v2.2, v2.3 or v2.4
Convert ID3 Tag Version
- Select all of the mp3s that you want to convert
- Right click and select Convert ID3 Tags
- From the drop down menu select v2.4 and then hit OK.
Another Way To Embed
- Another way to embed the album cover without having to use the script is to paste the album cover in the Info window of the track(s) in iTunes.
- Select the track or all album tracks. I recommend selecting all of the tracks in an album at once.
- Once selected hit ⌘+I or right click and select Get Info.
- Make sure that the Info tab is selected and paste or drag an image into the Artwork window in the bottom right
- Hit OK and you’re done