A FourCC (four-character code) is an arbitrary 32-bit identifier that doubles as a vaguely-readable 4-character ASCII string. A FourCC often identifies a data format, or the type of data contained in a segment of a file.
Some definitions of the term "FourCC" restrict it to identifiers of data formats, or even more strictly, to multimedia formats. This article does not adopt such a strict definition.
FourCC is not a formal standard. Each format that uses FourCCs defines its own rules about what constitites a valid FourCC. However, there are conventions that seem to be followed fairly consistently by most formats.
FourCC code names are case-sensitive. Names shorter than 4 characters are padded on the right with spaces. A name contains only printable ASCII characters (often only letters and digits), with spaces allowed only for padding.
There is no standard for whether the letters are uppercase, lowercase, or a mix of both. Some formats use the character case for special purposes.
In files that use little-endian byte order, the characters of a FourCC may or may not be stored in reverse order.
Uses of FourCCs include:
- Multimedia codec identifiers (many formats: AVI, QuickTime, etc.)
- Macintosh file types and creator codes
- IFF - chunk identifiers, FORM types
- RIFF - chunk identifiers, form and LIST types
- Boxes/atoms format - box identifiers, brands
- PNG - chunk identifiers
- ICNS - image types
- ICC profile - tag signatures and types
- PICT - application comment signatures
- BMP - color spaces