Reference · Identifiers

What is a FOURCC code?

A FOURCC is a four-character identifier. Media software uses four-character codes in several different namespaces: AVI/RIFF stream and chunk identifiers, codec tags, raw pixel formats and ISO-family sample entries.

FOURCC means: four-character code. Important: seeing four characters does not automatically mean “this is the codec.” The code may identify a stream type, chunk, codec mapping, pixel layout or sample entry.

Why FOURCC exists

Classic RIFF and AVI structures use compact 32-bit identifiers made from four ASCII characters. For example, RIFF, AVI , movi, vids and auds identify structural or stream roles rather than compression algorithms.

Other ecosystems reused the same convenient four-character idea for codec tags, pixel formats and ISO Base Media File Format sample entries. The result is useful, but easy to misread if the namespace is not shown.

The same four-character idea appears at different layers

ContextWhat the code identifiesExamples
RIFF / AVI structureContainer form, chunk or stream typeRIFF, AVI , movi, vids, auds
AVI / VFW codec tagCodec or codec implementation mappingMJPG, XVID, DIVX, DX50, H264
ISO BMFF / MP4 sample entryHow a media sample entry is described in the containeravc1, hvc1, hev1, av01
Raw video pixel formatMemory/sample layout, chroma and sometimes bit depthYUY2, NV12, P010, Y210, Y416

Useful FOURCC and four-character identifiers

CodeMeaningLayerUseful note
AVI AVI RIFF formContainerThe trailing space is part of the four-character code.
WAVEWAVE RIFF formContainerFound in RIFF/WAV files.
vidsAVI video stream typeStream roleDoes not tell you which video codec is used.
audsAVI audio stream typeStream roleThe audio format is described separately.
MJPGMotion JPEG mappingCodec tagCommon in AVI/capture workflows.
XVIDXvid MPEG-4 Part 2 mappingCodec/implementation tagXvid is an encoder/decoder implementation, not the MP4 container.
DIVX / DX50DivX-era MPEG-4 Part 2 mappingsCodec/implementation tagHistorically important in AVI files.
H264H.264/AVC mapping in some AVI/VFW contextsCodec tagNot the same namespace as avc1.
avc1AVC/H.264 sample entryISO BMFF sample entryOften shown by MediaInfo or probing tools for MP4/MOV-family files.
hvc1 / hev1HEVC sample entriesISO BMFF sample entryBoth mean HEVC-family video but differ in how parameter sets are signalled/stored.
av01AV1 sample entryISO BMFF sample entryIdentifies AV1 in ISO-family containers.
YUY2Packed YUV 4:2:2Pixel formatDescribes raw sample layout, not a compressed codec.
NV12Planar/semi-planar 8-bit 4:2:0Pixel formatExtremely common for hardware video pipelines.
P01010-bit 4:2:0 planar/semi-planar formatPixel formatThe final “10” indicates 10-bit components in Microsoft's naming scheme.
Y210Packed 10-bit 4:2:2Pixel formatA raw video format, not H.210 or a codec name.
Y416Packed 16-bit 4:4:4Pixel formatAgain, a pixel layout rather than a compression format.

Why an identifier is not necessarily a codec name

A media inspector might report avc1, while another tool calls the same underlying video H.264/AVC. That is not necessarily a disagreement: one may be showing the container sample-entry identifier and the other the coding standard.

The same applies to raw formats such as P010. P010 describes how decoded 10-bit 4:2:0 pixels are arranged; the compressed source might have been HEVC, AV1 or another codec.

Common confusion

FOURCC is not one universal codec registry.

Four-character identifiers are used by several container and API ecosystems. Always interpret the code in context.

avc1 is not a different video codec from H.264.

It is an ISO-family sample-entry identifier used to signal AVC/H.264 media.