id3v2.3 vs id3v2.4


Is there anything that indicates to an application which version of id3v2 tag is written to a file - 2.3 or 2.4? Or is the only difference between the two versions the "native" frames?

Let's say I've configured Mp3tag to write id3v2.3 tags. When Mp3tag tries to write an id3v2.4 recognized tag, will it write it as a native frame (e.g. PERFORMERSORTORDER as TSOP) or will it create a TXXX tag or will it not write anything?

If I use the id3v2 tag name in my actions instead of Mp3tag's name (as shown in the id3v2 documentation) will Mp3tag write the correct tag or will it write a TXXX tag or will it not write antying? For instance, if I had an action:

Action type: Format value
Field: TSOP
Formatstring: Jones, Mike


To first question:
When it recognizes it to be a supported frame, it writes it as a native frame (TSOP e.g.)

For second question with the action:
I tried it out and the result is:
It uses a TXXX-frame to store the infos and doesn't use the correct frame. It doesn't seem to recognize the abbr for the performersortorder and othe frames


Actually, the first question was whether there was a difference in the tags, such as a version number written to the header. This is important to the discussion to follow.

If there's no difference, other than the declared frames in the specification, then it seems there's little reason to use id3v2.3 tags. It's hard for me to imagine an application having problems with a frame that it doesn't recognize. If there are such problem applications, then I suppose Mp3tag's ability to reject 2.4 tags and place them in TXXX frames is a good idea.


Ok, I broke out the hex editor and had another look at the information at Yes, there's a version number (03 00 or 04 00) written to the id3v2 header.