ID3iconv is a little Java command line tool to convert ID3 tags in mp3 files from whatever machine encoding you have (GB2312/GBK for Chinese, etc) to Unicode. It convert both ID3v1 tags and ID3v2 tags to Unicode-encoded ID3v2 (v2.3 or v2.4). This is sometimes useful because,

I wrote this to convert all my mp3 files with Chinese (both simplified and traditional Chinese) tags to Unicode and play them using Rhythmbox under Linux. This is after much struggle with XMMS and other players that either cannot handle the large charsets GBK/GB18030 or cannot handle Chinese at all.

CAUTION: The tool updates mp3 files in place. So backup if you don't want to lose your precious music...

Author: Feng Zhou, zf _at_



ID3iconv 0.2.1 Binary
Make sure you have a recent Java Virtual Machine. Then use
java -jar <ID3iconv jar file> <mp3 files>
to convert your mp3 files.

ID3iconv 0.2.1 Source Code
It uses the Java MP3 library.

All version


What does it actually do to my files?

ID3iconv takes all text fields of your tag, assume they are in a certain encoding (specified by -e or using system default), and convert them to their Unicode equivalence as supported by ID3 v2.3. If the file has only v1 tag before, a v2 tag will be prepended to the beginning of the file. If the file has non-unicode v2 tag before, it will be converted to unicode format. You also have the option to remove any existing v1 tag after conversion is done. The output encoding is Unicode little endian, which seems to be the most compatible.

Does it convert all fields of the tag?

It converts all text fields (fields with name Txxx in ID3v2), except those marked as numerical text, such as TYER, as defined in ID3 v2.3 text.

Does it also convert file names to Unicode?

No. However, you can try convmv (a Perl tool) for that.

What encoding does ID3iconv assume the original tags are in?

The encoding can be specified via the -e option, using Java encoding names, as listed here. If no encoding is specified, the default OS encoding will be used. This is normally determined by the locale setting of your operating system. E.g., on *NIX, look at LC_CTYPE output of 'locale'.

What players can view tags in converted mp3 files?

Unfortunately a lot of players don't handle Unicode tags well, mostly because these files are rare, although there should be more. Here's my results.
Players that handle unicode tags correctly Players that I haven't got working with Unicode tags
Last modified: $Date: 2004/11/17 11:22:35 $

Back to homepage