What is a South African ID number made up of?
Update 11 August 2011: Want this as an app for your smartphone? Click here
Cecil Tshikedi asked a great question - what is actually in an ID number:
- The first six numbers are the birth date of the person in YYMMDD format - so no surprise that my ID number starts 820716.
- The next four are a gender, 5000 and above is male and below 5000 is female. So my ID number would have a number of 5000 or greater.
- The next number is the country ID, 0 is South Africa and 1 is not. My ID number with have 0 here.
- The second last number used to be a racial identifier but now means nothing.
- The last number is a check bit. Which verifies the rest of the number.
So for my ID number it would look something like: 820716[5000-9999]0??
There you go, it’s that easy.

I just want to find out. I am doing some research and understand how an ID number is assigned. But what bothers me is, I see that some people have ID number with eg.5963 in the middle. That cannot possibly be right can it? Can it be that there were 963 boys born on that same day?
ID_Valid() function: VBA code for use with MS Office
Function ID_Valid(ID As String) As String
'This algoritm test the validity of a South African ID number
Dim D(13, 2) As Integer, N As Integer, Check As String
'delete spaces
ID_Valid = Replace(ID, " ", "")
For N = 1 To 12
D(N, 1) = Val(Mid(ID_Valid, N, 1))
If N Mod 2 = 0 Then
D(N, 2) = D(N, 1) * 2
If D(N, 2) >= 10 Then
D(N, 2) = Int(D(N, 2) / 10) + (D(N, 2) - Int(D(N, 2) / 10) * 10)
End If
Else
D(N, 2) = D(N, 1)
End If
D(0, 0) = D(0, 0) + D(N, 2)
Next N
Check = CStr(D(0, 0) * 9)
Check = Right(Check, 1)
If Check = Right(ID_Valid, 1) Then
ID_Valid = "ID number OK"
Else
ID_Valid = "ID number Error"
End If
End Function
Thanks for the info.
So what if more than 999 kids were born on a particular day? How would the middle four letters look like?
Hi.
This information is all so informative, but what i want to know even though it means nothing now. How do i distinguish the different race in the identity numbers? Just for curiosity.
you can also have a look here for a good explanation: http://www.polemus.net/2011/01/getting-information-from-south-african.html
Thanks for the info regarding the IDs. Hey I have a question. How would one who was born on the 1st of July 1900 be different from one who was born on say 1st July 2000?
Not so sure about the ID number checking.I just went through our personel file and all of them are 8,all races, only the last digit (the checking bit) that differs? So, I'm not so sure now..
Ok and anyone send me a free checking ID and car plate number application that can be downloaded or that can check on the net but dont have to sign up for please there is a big deal that is going down and dont want to be cheated dont comment on here just send me email direct thanks.
Hi Guys
further to the elaboration above, the middle set of four digits is a bit more than gender reflction. the first digit is a reflection of ones gender, the remaining three is the order of birth registration on the given day. So 5023 would indicate that the person is the 23rd male registered on the particular day. (At least, as far as I am aware!)
Thanks - now I know that the zero is for Southa Africa. Does that mean all other foreign countries are represented by digit one or a different digit for each country?
Thank you for this article, I learned a lot.
Thank you for your excellent post. He is not devoid of meaning. The problem is very urgent in our time.
Post new comment