Test Aadhaar Numbers

Checksum-valid numbers for your unit tests, form demos and QA — without ever putting a real Aadhaar number in a test database.

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 numberFormattedVerhoeff
9999410570589999 4105 7058valid
9999716588479999 7165 8847valid
9999331194059999 3311 9405valid
9999551834339999 5518 3433valid
9999905018949999 9050 1894valid

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.

    InputWhy it failsExpected reason code
    123456789012Starts with 1first_digit
    012345678901Starts with 0first_digit
    999941057059Last digit changed (checksum fails)checksum
    999914057058Two adjacent digits swapped (checksum fails)checksum
    99994105705Only 11 digitslength
    999941057058113 digitslength
    222222222222All digits identicalrepeated
    9999 4105 705AContains a letternon_digit
    (empty)Empty inputempty

    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.