How this validator works
This tool runs four sequential checks against any Aadhaar number you enter. All four must pass for the verdict to be Valid.
- Length. After stripping spaces and dashes, the number must be exactly 12 digits.
- Digits only. No letters, no symbols — only
0–9. - First-digit rule. UIDAI never issues a citizen Aadhaar starting with
0or1, so the first digit must be2–9. - Verhoeff checksum. The 12th digit is a check digit computed from the other 11 using the Verhoeff algorithm. If a single digit is mistyped or two adjacent digits are swapped, the checksum will fail — which is how UIDAI’s systems catch typos at point-of-entry.
If any one of these fails, the verdict turns red and the per-rule checklist below it shows you exactly which rule broke.
What this validator does NOT do
This is a format check, not an identity check. Specifically, it does not:
- Contact UIDAI’s servers or verify against the Aadhaar database.
- Confirm whether the number has actually been issued to a real person.
- Tell you anything about the person the Aadhaar belongs to.
A 12-digit number that passes all four checks here is mathematically consistent — meaning it could be a real Aadhaar. But there are billions of mathematically consistent 12-digit numbers, and only ~1.4 billion actual Aadhaars. Always pair this check with a real eKYC flow before trusting an Aadhaar in production.
Privacy
Every check happens in your browser via a pure JavaScript function (validateAadhaar in our open-source src/tools/validators/aadhaar.ts). The page does not send your Aadhaar over the network, store it in localStorage, or include it in any analytics event. You can verify this yourself by opening the Network tab of your browser’s developer tools — typing into the input produces zero outbound requests.