#acl Known:read,write Default == iTunes == iTunes is clearly the most used id3 implementation. It can write 2.2, 2.3 and 2.4. The support in general is good. === Custom Tags === It does use some custom frames for things, even when there are standard frames for them (e.g. normalization) {{{ Field v2.3/v2.4 v2.2 ------------------ --------- ---- Title Sort TSOT TST Artist Sort TSOP TSP Album Sort TSOA TSA Album Artist Sort TSO2 TS2 Composer Sort TSOC TSC }}} === 2.4 Frame Length Issues === The major problem with the implementations is that the 2.4 support gets the frame length wrong when writing frames > 127 bytes. It treats the frame lengths as not sync-safe integers (as 2.3 did) rather than sync-safe integers (as 2.4 specifies). This makes supporting it problematic. You can usually correct to read a frame that iTunes has written by looking for the next frame signature and trying it as a non sync-safe integer if you don't find it. BUT it means that iTunes can only handle one large frame added to the file and it MUST be at the end of the tag. What happens is that iTunes will read the size as much larger than it really is and get all of the frame plus some more. But if it is at the end of the tag, it is harmless. Images are correctly displayed since they have size information in them and the trailing "junk" is just dropped. Nonetheless, it is a pain.