Check an Aadhaar number
Type or paste the 12 digits. The result appears automatically.
What this checks
Length (12 digits), the first-digit rule (never 0 or 1), and the Verhoeff check digit that UIDAI builds into every Aadhaar number. A pass means the number is well-formed; only UIDAI can confirm it has been issued or who it belongs to. Need to check many numbers? Use the bulk validator. Have a 16-digit number? That is a Virtual ID.
How the Aadhaar validator works
1. Format checks
An Aadhaar number is exactly 12 digits, usually written as three groups of four (XXXX XXXX XXXX). Spaces and dashes are ignored. UIDAI never issues numbers that start with 0 or 1, so those are rejected immediately.
2. Verhoeff checksum
The 12th digit is a check digit computed with the Verhoeff algorithm. It catches every single-digit typo and every swap of two neighbouring digits, which is why UIDAI chose it. Click Show the calculation after validating to see each step.
What a "valid" result does and doesn't mean
Valid means the number could have been issued: it has the right shape and its check digit is correct. It does not mean the number is active or belongs to a specific person — that requires UIDAI's own services. Read how to properly check an Aadhaar number for the official options.
More free validation tools
Every tool runs in your browser. Nothing you type is uploaded, logged or stored.
For developers: validate Aadhaar in your own code
A regex alone can't check the checksum. The snippet below is the shape of a correct implementation; the developer guide has complete, copy-paste versions for JavaScript, TypeScript, Python, Java, C#, PHP, Go, Kotlin, Swift and Dart, plus test numbers for your unit tests.
// Verhoeff check used by UIDAI — full tables at /developers
const isValidAadhaar = (s) =>
/^[2-9]\d{11}$/.test(s = String(s).replace(/\s/g, '')) && verhoeffValid(s);
Guides
Plain-language explanations of how Aadhaar numbers are built and verified.
Frequently asked questions
Not affiliated with UIDAI. For information about how we handle data, read our Privacy Policy.