Download  (Linux/Windows) Logo

SourceForge summary page

SmartTagFix uses the following libraries:

and the Nullsoft Installer


This simple utility fills in missing ID3 tags for all MP3s within a directory structure. It uses the file name, directory name, and a bit of "common sense" to guess the correct labels. The program is designed to reduce the amount work for the user who has hundreds of MP3 files named in a completely disorganised fashion.


First you must specify the root directory where you keep your MP3s, by pressing the Configure... button.
Configuration dialog

Then, when you press the Search button it looks for MP3s with incomplete tag data and makes a list of suggested corrections.
Main Window

Notice the first entry in the screen shot above:
  • The title field is shown in blue. This means the field was originally blank and it is suggesting that Asleep in the desert should be the title. The artist field is also filled in blue, but it has a drop-down list box next to it. This indicates that it thinks ZZ Top is the most likely correct label, but there are also other possibilities (selectable from the list box).
Notice the last 2 entries:
  • The title and artist are shown in black text. This indicates that the tag data for these fields was already filled in (and needs no correction). The album fields have drop-down lists, but the edit box is not filled in. This means that the program has some suggestions but has no idea which one is correct.  (It gets this information from by looking at the album names for Estopa tracks with completed id3 tags)
You can manually edit any field if you think it's incorrect. When you press the Apply changes button all tracks with blue labels will be updated.
(Notes: Only fields marked in blue are updated, other fields are left untouched. Both ID3v1.1- and ID3v2-Tags are updated)

If you want to prevent any track from being updated simple uncheck the check box.

Notice how accurately it guessed the artist and title fields. It uses existing data from your MP3 collection to help it guess correctly. For instance, it saw that you already had some tracks by ZZ Top and Estopa, so when it saw these words in the file name it knew that they were the artist and not the track, or album.

Why use this program?

Most MP3 players depend on the id3 tag to categorise the song. However when you download music from the internet half the time the tag information is missing, or incomplete.  On top of that the files are named in a variaty of different standards, for example:
Massive Attack-Mezzanine/02-Risingson.met
08 - Young Americans - Best of Bowie - David Bowie.mp3
King Afrika-La Bomba.mp3

There are many great MP3 organisers available, which can generate tag data from the file name, however they can only bulk update if your files are named consistantly. For the above case you'd have to enter the tag data manually (and I'm sure you can think of better ways to spend your free time!)

Download & Installation

Windows installer 364 kB
Source tarball (with project files for both VC6 & KDevelop) 377 kB

Although this is an alpha release it has been tested quite thoroughly. I tested the Windows version on WinXP, Win2000 and Win98.
The Linux version of this program has only been tested on Ferdora Core 1.
If you have any problems installing please let me know by posting them here. (Note: it would be very nice if you tried to troubleshoot the problem as much as you can, as I am by no means a Linux expert ;) )

Planned features

At the moment it does nearly everything I want it to do. When I have time I may add the following features:

  • Find tag data via CDDB
User will have to select a number of tracks and click a button. The CDDB web page will be sent a query and the result will be parsed and the data shown in the list boxes. The logic will be the same as the normal search.
  • Changing multiple tracks
User will be able to select multiple tracks in the grid and changing a field in one track will cause them all to be changed

I will also consider any user requests. Please use the SourceForge page to submit them.


This software is provided free under the GPL.
It is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.

wxWidgets enhancements

In the course of developing this program I made some enhancements to wxGrid. Details here.