Instantly generate valid-format South African ID numbers for testing and development. Choose gender, age and citizenship — every number passes format, date and Luhn checksum validation. Test data only: not issued by Home Affairs.
Choose the options below — anything left on “Any” is randomised.
Random age between 18 and 80.
Test data only. These numbers are randomly generated for software testing and development. They are not issued by Home Affairs and do not belong to any real person. Using a fabricated ID number for a real transaction or to impersonate someone is illegal.
This free tool creates structurally valid South African ID numbers on demand. Each generated number is 13 digits long and follows the official format: a YYMMDD date of birth, a four-digit gender sequence, a citizenship digit, the standard eighth digit, and a final Luhn checksum digit. That means every number it produces will pass a structural SA ID number check.
The numbers are test data. They are generated at random and are not issued by the Department of Home Affairs, so they do not belong to a real person. They exist so developers and testers can work with realistic-looking ID numbers without ever touching real personal information.
Want to build this into your own code instead? Our developer guide on generating SA ID numbers for testing includes copy-paste JavaScript, a table of known test IDs, and best practices for test-data management.
For a full breakdown of what each digit means, read the SA ID number explained.
Generating ID numbers for software testing is legal. Using a fabricated ID number for a real transaction, financial application, or to impersonate a real individual is fraud and may carry criminal penalties under POPIA, the Cybercrimes Act and fraud legislation. Keep generated numbers inside isolated development, test and demo environments.
No. Every number is randomly generated for testing and development only. It is structurally valid — it passes the format, date and Luhn checksum rules — but it is not issued by the Department of Home Affairs and does not belong to a real person.
Yes. Each number is built with a valid date of birth, a correct gender sequence and citizenship digit, and a Luhn checksum, so it passes structural validation. You can confirm this by running it through our free SA ID checker. Note that structural validation never confirms a number belongs to a real, registered person.
Yes. Set gender to Male or Female, pin an exact age (or leave it random between 18 and 80), and choose SA Citizen or Permanent Resident. Anything you leave on “Any” is randomised, and the generated number will encode exactly the attributes you selected.
Generating test ID numbers for software development, QA and demos is legal and common practice. What is illegal is using a fabricated ID number for a real transaction, a credit or financial application, or to impersonate a real person — which can carry criminal penalties under POPIA, the Cybercrimes Act and fraud legislation.
Yes. Pick 1, 5, 10 or 25 at a time and copy them individually or all at once. For automated or larger-scale test-data generation you can build the same logic into your own code — see our developer guide on generating SA ID numbers for testing.
Run any 13-digit number through our free checker to verify its structure and decode date of birth, age, gender and citizenship.
Check an SA ID number →