UIDAI's published sandbox numbers
UIDAI provides a small set of Aadhaar numbers for use with its authentication sandbox and developer documentation. They pass every format rule and the Verhoeff checksum, and they are the safest choice for examples, screenshots and fixtures because they are already public.
| Aadhaar number | Formatted | Verhoeff | |
|---|---|---|---|
| 999941057058 | 9999 4105 7058 | valid | |
| 999971658847 | 9999 7165 8847 | valid | |
| 999933119405 | 9999 3311 9405 | valid | |
| 999955183433 | 9999 5518 3433 | valid | |
| 999990501894 | 9999 9050 1894 | valid |
Source: UIDAI Aadhaar Authentication API documentation and sandbox test data. These numbers are not linked to any resident.
Generate checksum-valid test numbers
Random 12-digit numbers that start with 2–9 and end in a correct Verhoeff check digit. Generated on your device with a cryptographic random source. For software testing only.
Use responsibly. Generated numbers are random and carry no identity information, but by chance one may coincide with an issued Aadhaar number. Do not present them as belonging to anyone, do not submit them to real KYC systems, and do not use them to bypass forms on other websites.
Invalid numbers for negative tests
A good test suite checks that bad input is rejected for the right reason. Each row below fails exactly one rule.
| Input | Why it fails | Expected reason code |
|---|---|---|
| 123456789012 | Starts with 1 | first_digit |
| 012345678901 | Starts with 0 | first_digit |
| 999941057059 | Last digit changed (checksum fails) | checksum |
| 999914057058 | Two adjacent digits swapped (checksum fails) | checksum |
| 99994105705 | Only 11 digits | length |
| 9999410570581 | 13 digits | length |
| 222222222222 | All digits identical | repeated |
| 9999 4105 705A | Contains a letter | non_digit |
| (empty) | Empty input | empty |
Reason codes match the ones this site's validators report, so you can reuse them as expected values in your own tests.
Why not use a real Aadhaar number?
- Legal exposure. The Aadhaar Act and the DPDP Act, 2023 restrict storage and sharing of Aadhaar numbers. Test systems are rarely covered by the same controls as production.
- Leaks happen. Fixtures get committed to Git, copied into screenshots and pasted into tickets.
- You don't need them. Every behaviour you want to test — formatting, masking, checksum, error messages, storage — works identically with the numbers on this page.
Frequently asked questions
Can I use my own Aadhaar number for testing?
You should not. Test databases, logs and fixtures are rarely protected like production data, and the Aadhaar Act restricts how the number may be stored and shared. Use the UIDAI sandbox numbers or generated numbers instead.
Are the UIDAI test Aadhaar numbers real?
They are published by UIDAI for use in its authentication sandbox and developer documentation. They pass the Verhoeff checksum but are not linked to real residents.
Could a generated number belong to a real person?
Possibly, by coincidence. About 80 billion numbers pass the format and checksum rules and roughly 1.4 billion Aadhaar numbers have been issued, so a random valid number has about a 1 in 60 chance of matching an issued one. A bare number carries no identity data and cannot be used to authenticate, but you should still never present generated numbers as belonging to anyone.
Do generated numbers work with UIDAI APIs?
No. Only numbers provisioned in UIDAI's sandbox work there, and production authentication requires a real resident and their biometrics or OTP. Generated numbers are only for testing your own validation, masking, storage and UI code.