International · Validation
South African ID number validator.
Check a 13-digit South African ID number against the Luhn check digit it carries, and see the date of birth, gender range and citizenship status it encodes. Everything runs in your browser.
How it works: the ID is YYMMDDSSSSCAZ. The last digit is a Luhn check digit over the first 12; if it doesn't match, the number has a typo.
Inputs
Result
Enter an ID number and press Check.
How a South African ID number is built
A South African ID number is 13 digits in the format YYMMDDSSSSCAZ. This tool splits it as follows.
| Digits | Part | Meaning |
|---|---|---|
| 1-6 | YYMMDD | Date of birth (10 May 1994 is 940510) |
| 7-10 | SSSS | Gender sequence: 0000-4999 female, 5000-9999 male |
| 11 | C | 0 = South African citizen, 1 = permanent resident, 2 = refugee |
| 12 | A | Not decoded by this tool |
| 13 | Z | Check digit, calculated with the Luhn algorithm |
The Luhn check doubles every second digit of the first 12, starting from the digit next to the check digit, subtracts 9 from any result above 9, adds everything up, and sets the check digit so the total is a multiple of 10.
The ID carries only a two-digit year, so 94 could mean 1994 or 2094. The tool lists every century that gives a real past date instead of guessing.
Checksum and structure only, not a Home Affairs lookup
A passing result means the number is internally consistent. It does not confirm the number was issued to anyone. Only the Department of Home Affairs can do that.
Sources
Format, gender ranges, citizenship digit values and use of the Luhn algorithm: South African Revenue Service, “South Africa - Information on Tax Identification Numbers”, published by the OECD. Luhn algorithm: Wikipedia: Luhn algorithm.
Checksum only — not a Home Affairs lookup
This tool checks the ID number entirely in your browser. It does not query the Department of Home Affairs, and a checksum-valid result is not proof the number was ever issued. Nothing you type is transmitted, stored, or logged.