19 Aug 2009
Update 11 August 2011: Want this as an app for your smartphone? Click here
Update 30 March 2012: Details of the racial identifier can be found at: http://www.sadev.co.za/content/south-african-id-numbers-racial-identifier-flag

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.


Dries's picture

Thanks for the random interesting info! Any idea how that check works? Dries.
Dieter Deysel's picture

The first six digits are the date of birth in YYMMDD format. The seventh digit is the gender: 0-4 for Female, 5-9 for Male. The 8th - 10th digits are the series, which is your index in the number of people with that DOB/Gender combo allocated. The 11th digit is the citizenship number, which is 0 for South Africans and 1 for foreigners. The 12th digit is generally either 8 or 9, but this is not guaranteed. The 13th digit is a control digit, with a nasty algorithm to validate it. Calculate total A by adding the figures in the odd positions i.e. the first, third, fifth, seventh, ninth and eleventh digits. Calculate total B by taking the even figures of the number as a whole number, and then multiplying that number by 2, and then add the individual figures together. Calculate total C by adding total A to total B. The control-figure can now be determined by subtracting the ones column from figure C from 10. Where the total C is a multiple of 10, the control figure will be 0.
Joe's picture

More or less correct but... 7th to 10th digits must be seen as a unit where: 0001 - 4999 is allocated to females 5001 - 9999 is allocated tp males Note that 0000 and 5000 are NOT valid values here. The 11th digit denotes citizenship, 0 for a South African citizen and 1 for a South Afrcan permanent resident. South African ID numbers are not issued to temporary residents or other forgien citizens. The meaning of the 12th digit depends on whether you are using a old SA ID format or a new one. The 12th digit denoted the person's race in the old format and could have the values 0 to 7 (not sure which value means which race). The 12th digit in the new format can either be 8 or 9 and as far as I know there are no ID numbers with a 9 in the 12th digit. The use of 9 in the 12th digit allows for the use of another bank of index number when the 4999 range of number for each gender is exausted (which has never happened as far as I know). Digit 13 is a check digit calculated using LUHN-10 algorithm, the implementation of it is pretty simple. See http://en.wikipedia.org/wiki/Luhn_algorithm for a description of the algorithm in wikipedia. See http://www.ee.unb.ca/cgi-bin/tervo/luhn.pl for a useful LUHN-10 tester.
mkhumbuzi mthabiseng's picture

i want to know about my seventh digit of ma id number which is 1,why is it 1 bt im a male?
Robert MacLean's picture

Maybe a mistake at home affairs when you were registered? If you find out, let us know - I'd love to know too.
Kamagra En Ligne's picture

Thank you for your excellent post. He is not devoid of meaning. The problem is very urgent in our time.
Comprar Kamagra's picture

Thank you for this article, I learned a lot.
Jes's picture

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?
Robert MacLean's picture

I have no proof either way, but my gut says since there is more than 9 countries it would be impossible to assign all countries their own digit - so I suspect it is just 1 digit for SA and one for foreigners.
Chris Bezuidenhout's picture

What about ID numbers before 1994 without the last digit?
Robert MacLean's picture

Can you give me more details on this? AFAIK the last change to the system was in 1986/1987 and even before then it was always 13 digits.
Anonymous's picture

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!)
MQN[a]live.co.za's picture

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.
Robert MacLean's picture

If you go to the original post you can download the Excel spreadsheet for ID number checking. Can't help you with car license checking.
Visitor's picture

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..
Robert MacLean's picture

You are getting all 8's for the racial identifier because it
used to be a racial identifier but now means nothing
The last digit will differ based on all the other numbers in the ID because it is a check bit.
Ignasio Dondo's picture

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?
Robert MacLean's picture

My understanding is that there would be no difference in the first 6 digits, but I'm sure you could figure out if it is 1900 or 2000 by looking at the person/photo ;)
CAP's picture

I also want to know. What will a South African ID look like from a person born in 2000 vs 1900? This is important for validating ID number on web sites for input!
Robert MacLean's picture

They will look the same (in the part part) & I agree it is a problem with no solution for that. Potentially this will be fixed with the new ID numbers + ID cards but for the current system it is broken. Two options you could use: 1) Pick a year, like 1930, anyone with starting before that is 20XX & anyone after that is 19XX. 2) Look at the person, should be easy to tell the different :P
Polemus's picture

you can also have a look here for a good explanation: http://www.polemus.net/2011/01/getting-information-from-south-african.html
Carlo JLM Schots's picture

The link seems to be dead and the URL maybe for sale. Are there other useful links? Thanks
Visitor's picture

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.
Nikelo's picture

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?
Robert MacLean's picture

Nothing, the system caters for WAY more than that - in fact it caters for 5000 girls & 5000 boys to be born on a single day. We are no where near the population growth - the rough stats I've seen say about 600 in total currently per day is about max - so even if there is a 50/50 split (so 300 boys & 300 girls) we have a LOT of growth in the system.
Carlo JLM Schots's picture

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
Vivette's picture

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?
Robert MacLean's picture

I have no details on how numbers are actually assigned, but I would speculate that each regional centre would be assigned batches (i.e. Johannesburg would get say 0-200, Cape Town 201-300 etc...) this way you could have multiple locations assigning (rather than a central location) and not risk collisions. In such a scenario the 963 could mean that was the center 63rd for that day, or the 3rd etc...
Corne van Rensburg's picture

I am not 100% sure, but I believe the 4 digits representing the gender is actually a 5 or above for male, and below 5 for female, followed by a 3 digit sequence number. 963 would be the number of people REGISTERED on that day regardless of gender or age. ID numbers are not only assigned to babies born on specific days. Immigrants also get the same ID number. The difference between the baby's and an immigrant's is digit 11. I read this somewhere, but can not remember where and can not find it now, sorry. And it may be inaccurate. So don't quote me. ;)
Karabo's picture

THank you so much for the info above... Based on that, how often does Home Affairs make the mistake of assigning a male child a female ID number and Vice-Versa?
Shane Kaylor's picture

What do I do if someone else has the same ID number as me.
Robert MacLean's picture

Go to home affairs - they are solving the approx 200 000 people who do have duplicates by issuing new ID numbers.
Visitor andre's picture

I was born in Cape Town in 1965. My abridged birth certificate does not have my id number on it. I know live in Canada and I need that id number so I can get my unabridged birth c-. How does one go about obtaining their id number then?
Robert MacLean's picture

Contact home affairs - the embassy in Canada should be able to assist
Frans Berkelaar's picture

the 9 for the 12th digit is used for overflow. there are years with days, more than 10,000 babies were registered: example 1970-01-01. Technically, this means that your sequence number for the day may not be unique. This also means that id10 based systems are inherently flawed, and will cause duplicates and create mistaken identities. Drop me a line if you need further assistance. The Knowblet.
Norman du Plooy's picture

Does anybody have the old codes for race classification on digit 12? 0 = white, 1= coloured, etc.
This is just for interest sake. In 1986 I did vacation work at home affairs and helped black people to complete forms to apply for ID books (moving away from "passbooks"). This is the earliest date that I know of that the "race less" ID numbers were being issued. My ID number at that stage ended with 009 (indicating my race) and it later changed to 082.

Norman du Plooy's picture

Norman du Plooy's picture

Al's picture

Hi there. My parents were born in 1940 and, on my birth certificate, both of their id numbers are only 10 digits long. Also, neither of their id numbers start with 40. Could id numbers have been different back then? Thanks
Robert MacLean's picture

Charlene's picture

Hi my current id number's last 3 digits are different to my id number on my childs unabridged birth certificate? why is this and does it really matter ?
Robert MacLean's picture

"why is this" - no idea. Maybe you have an old ID number (pre 80's) and the birth cert has the new one, maybe you had a duplicate ID number and it has been changed, maybe it was a mistake. "does it really matter" - no idea either, but I could imagine it could have implications. Best to head to home affairs and double check
Nadine's picture

Hi! My last 3 digits on my Birth Certificate differs from the last 3digits in my ID Book. Is this correct? Thanks!
Robert MacLean's picture

It could be - you may have been born before the racial indicator change (1986) or you may have been one of the unlucky 22000 that had new ID numbers provided because they were duplicates. If you are worried, check with home affairs.
Ree 's picture

Hi all, came across this page while researching colonial numbers. Trying to pull out an unabridged birth certificate for my late grandfather but home affairs computer do not recognize old colonial ID numbers issued then. Neither do I have he's date of birth which can help. Is there any chance of date of birth being in the colonial /dompas number that I might be missing? Same as our new ID shows?

Add new comment