Our validation process is instant and privacy-conscious: we check the structure of the ID number and never store the number itself. Here's the technical breakdown.
You enter a 13-digit South African ID number into our validator. The input accepts numbers only and automatically formats as you type.
8501015009086Our validation engine checks the ID number in real-time. We never store the number itself or the decoded personal details — only privacy-safe usage metadata, such as whether the check passed and when it ran.
Within milliseconds, you see the validation result along with extracted demographic information.
The checksum digit (digit 13) is validated using the Luhn algorithm, also known as the "modulus 10" algorithm. This detects any single-digit error and most transposition errors.
Learn more about the Luhn algorithm →We extract the date of birth from digits 1-6 (YYMMDD format) and validate it's a real date. The century is determined using a sliding window based on the current year.
We never store the ID number you submit or the decoded personal details (date of birth, age, gender, or citizenship). We keep only privacy-safe usage metadata — whether a check passed, when it ran, and which feature was used — and we never share validation data with third parties.
Our validation algorithm executes in under 1 millisecond on modern devices. Bulk validation can process thousands of IDs per second.
Enter a 13-digit South African ID number to verify
We never store the ID numbers you submit or their decoded details, keeping only privacy-safe usage metadata. How you use the results in your own POPIA obligations remains up to you.
We never store the ID number you submit or the decoded date of birth, age, gender, or citizenship — only privacy-safe usage metadata about the check itself.
Our validation uses the standard Luhn algorithm. No proprietary black boxes—you can verify our method yourself.
Use our API to add ID number validation to your applications