Canadian · Validation
ISRC validator & code decoder.
Paste a 12-character International Standard Recording Code, with or without hyphens, to check its format and split it into prefix, registrant, year digits and designation. Everything runs in your browser: nothing you type is transmitted anywhere.
Inputs
Result
Enter an ISRC and press Validate.
How an ISRC is built
An ISRC identifies one sound or music-video recording. It is defined by ISO 3901 and is always 12 characters, usually printed as CC-XXX-YY-NNNNN. The hyphens are presentation only and are not part of the code.
- CC: two-letter prefix of the issuing agency. Usually an ISO 3166-1 country code, but not always (see below).
- XXX: three-character alphanumeric registrant code. It only identifies an issuer together with the prefix, since the same registrant code can be used in different countries.
- YY: the last two digits of the year the code was assigned. This is not necessarily the year the recording was made or released, and two digits do not say which century.
- NNNNN: five-digit designation, unique for that registrant within that year.
Some prefixes are not countries. QM, QZ and QT are used for new United States registrants because the US codes were exhausted; CB is Connect (Canada); GX and UK are PPL UK; ZZ and QN are assigned by the International ISRC Agency; CP and DG are reserved for overflow. The decoder labels these when it sees them.
Sources: the Wikipedia article on the ISRC, the python-stdnum ISRC module (which cites the IFPI valid-characters list), and the IFPI ISRC handbook. The two implementations that were checked agree on the structure and on the special prefixes.
What a passing check does and doesn’t tell you
An ISRC has no check digit, so this tool checks format only: length, character types and a recognised prefix. It cannot confirm the code was ever issued, that the registrant exists, or which recording it belongs to. To look up a real code, ask the issuing national ISRC agency or a music database. This tool runs entirely in your browser: nothing you type is transmitted, stored, or logged.