South African ID Number Validator

Check an SA ID number for typos, and see what its digits mean.

ID check

The number is checked inside this page. It is never sent anywhere, never logged and never stored - which matters, because an ID number is exactly the sort of thing that should not be typed into a stranger's server.

Result
Enter an ID number to check it Thirteen digits. Every check runs inside this page, so the number never leaves your device.

What this tool does

Paste a 13-digit South African ID number and it checks the date, the citizenship digit and the Luhn check digit, and shows what each part means. A pass means there is no typo in the number - it does not mean the number exists on Home Affairs records.

Checks the date, gender digits, citizenship digit and Luhn checksum of an SA ID number.

Explains what a pass does and does not prove, which is the part that matters.

How to use it

  1. Paste or type the 13-digit number. Spaces and dashes are ignored.
  2. Read the result: consistent means no typo was found.
  3. Check the breakdown to see what each part of the number means.
  4. Read the digit map under the box to see which digits are the date, the sequence, the citizenship digit and the check digit.
  5. Open How the check digit is worked out to see the arithmetic behind the verdict.

Why use this validator

A single mistyped digit invalidates a South African ID number, and the checksum catches most typing errors. A validator shows what each part says and whether it is consistent.

Why we built it

We built the South African ID validator to say plainly that a pass means the number is internally consistent, not that it was ever issued. Check ages with the age calculator and dates with the date difference calculator.

If your task goes further, try the Barcode Generator.

Who this tool is for

  • Developers and testers validating forms
  • HR and admin staff checking a typo
  • Students of ID formats

When to use it

  • Checking an ID number typed into a form.
  • Detecting typos before submission.
  • Understanding the structure of an ID number.
  • Testing validation logic.

What the thirteen digits mean

Each block does a different job.

Digits one to six are the date of birth as YYMMDD. Seven to ten are a sequence within that date, and they also carry gender: 0000 to 4999 is recorded female, 5000 to 9999 male. Digit eleven is citizenship - 0 for a citizen, 1 for a permanent resident. Digit twelve is unused today; it recorded race until 1994. Digit thirteen is the checksum.

What a pass actually proves

Less than you would think, and less than competitors imply.

A pass means the number is internally consistent: the first six digits are a real date and the final digit matches the checksum over the other twelve. In other words, there is no typo in it. It does NOT mean the number was ever issued, that it is still current, or that it belongs to whoever gave it to you. Only the Department of Home Affairs can answer any of those, and no tool that runs offline can. Most checkers let you assume otherwise.

The check digit

A typo catcher, not a security feature.

The last digit is a Luhn checksum over the first twelve. It catches every single mistyped digit and almost every swap of two adjacent digits, which are the two mistakes people actually make when copying a number off a form.

It is not a security measure. Anyone can compute a valid check digit, which is precisely why a tool that hands out complete numbers is a different and much less welcome thing than one that checks them.

Why no year of birth

The number cannot tell you.

Because the number does not contain it. The date is stored as YYMMDD, so 85 is 1885, 1985 or 2085 and nothing in the format says which. The one place it has practical consequences is 29 February, which is a real date in 2000 and not in 1900 - so that case is accepted and the ambiguity is pointed out. A tool that prints a confident full birth date is guessing at the century.

What you give it, and what you get back

Input and output of South African ID Number Validator
ItemDetails
InputA 13-digit ID number.
OutputValidity of date, gender digits, citizenship digit and checksum.
NotesWhat a pass does and does not prove.

Issues you may run into

Common problems with South African ID Number Validator
What you seeWhy it happensWhat to do
It says invalidA digit is wrong or the date is not real.Check each digit.
It passes but may be fakeIt is a format check.Only Home Affairs can confirm issue.
Birth year is unclearThe century cannot be known from the number.Use other documents.

Assumptions and limitations

Frequently asked questions

What do the digits in a South African ID number mean?

YYMMDD date of birth, then a four-digit sequence that also encodes gender (under 5000 female, 5000 and over male), then citizenship (0 citizen, 1 permanent resident), then an unused digit, then a Luhn check digit.

Does a valid result mean the ID is real?

A pass means the number is internally consistent: the first six digits are a real date and the final digit matches the checksum over the other twelve. In other words, there is no typo in it. It does NOT mean the number was ever issued, that it is still current, or that it belongs to whoever gave it to you. Only the Department of Home Affairs can answer any of those, and no tool that runs offline can. Most checkers let you assume otherwise.

Why does it not show the year of birth?

Because the number does not contain it. The date is stored as YYMMDD, so 85 is 1885, 1985 or 2085 and nothing in the format says which. The one place it has practical consequences is 29 February, which is a real date in 2000 and not in 1900 - so that case is accepted and the ambiguity is pointed out. A tool that prints a confident full birth date is guessing at the century.

What is the check digit for?

Catching typos. It is a Luhn checksum over the first twelve digits, which detects every single mistyped digit and nearly every transposition of two adjacent ones. It is not a security feature.

Is my ID number sent anywhere?

No. The check runs entirely in your browser. Nothing is uploaded, logged or stored, and closing the tab clears it.

Can this generate an ID number?

No, deliberately. A generator for this format would emit numbers that pass every check a careless system performs, which makes it a fraud tool with a novelty label on it. This site does not build them. Validation is the opposite thing: checking a number somebody has already given you.

Sources and accuracy

Published SA ID structure and Luhn checksum; cross-checked across sources

Figures last checked against the source on . Standards and rates can change — if you are relying on this for something that matters, confirm against the source above. Think a figure is wrong or out of date? Send a correction.

Further reading

What the 13 digits of a South African ID number mean — Date of birth, gender, citizenship and a checksum - what each part of a South African ID number encodes, and what a valid number does and does not prove.