Validate an Aadhaar number format using the Verhoeff checksum algorithm.
The Verhoeff algorithm is a checksum formula for error detection developed by Jacobus Verhoeff in 1969. Unlike simpler checksum methods, it detects all single-digit errors and all adjacent transposition errors. Aadhaar, India's 12-digit unique identity number, uses this algorithm — the last digit is a Verhoeff checksum computed from the first 11 digits.
The Aadhaar Validator checks whether a 12-digit Aadhaar number is structurally valid before you rely on it in a form, database, or API. It runs the same format rules used by India's UIDAI: the number must contain exactly 12 digits, the first digit cannot be 0 or 1, and the final digit must satisfy the Verhoeff checksum computed over the preceding 11 digits.
It is built for developers, KYC and onboarding teams, data-entry operators, and QA engineers who need a fast client-side sanity check. Note that it verifies the number's format and checksum only — it does not confirm that the Aadhaar is actually issued to a real person, which requires an authenticated UIDAI API.
An Aadhaar number is a 12-digit identifier where the last digit is a check digit generated by the Verhoeff algorithm, a scheme designed to catch the most common human transcription errors: single-digit mistakes and adjacent transposition errors (for example typing 21 instead of 12).
The algorithm relies on three lookup tables: a multiplication table 'd' based on the dihedral group D5, a permutation table 'p', and an inverse table 'inv'. Each digit is processed right to left. For position i, the value p[i mod 8][digit] is looked up, then combined into a running checksum c using c = d[c][p[i mod 8][digit]]. After processing all 12 digits including the check digit, a valid number leaves c equal to 0.
This tool implements those tables exactly, so it produces the same accept/reject decision as UIDAI's format layer. Example: '2341 2345 6785' would only pass if its final digit correctly closes the Verhoeff computation over the first eleven; changing any single digit or swapping two adjacent ones almost always breaks the checksum and is caught.
No. This tool confirms only that the number has a correct format and a valid Verhoeff check digit. Verifying that it belongs to an actual person requires UIDAI's authenticated verification or e-KYC APIs, which are restricted to licensed agencies.
Yes, it is completely free. Validation runs entirely in your browser using JavaScript, so the Aadhaar number is never sent to our servers or stored anywhere. Given the sensitivity of Aadhaar data, this client-side design is intentional.
The most common causes are a transposed pair of digits, a mistyped single digit that breaks the checksum, or an accidental extra or missing digit. Re-check against the physical card, since even one wrong digit fails the Verhoeff test.
No. Valid Aadhaar numbers begin with a digit from 2 to 9. A leading 0 or 1 is rejected before the checksum is even evaluated.
Yes. Aadhaar is often printed in a 4-4-4 grouping like '1234 5678 9012'. The tool removes spaces, hyphens, and other non-digit characters before validating, so you can paste numbers in their common formatted form.
Verhoeff is a checksum method that detects all single-digit errors and all adjacent transposition errors, which are the mistakes people make most often when typing long numbers. UIDAI uses it to generate the final digit of every Aadhaar number.
You can validate them one at a time here. For bulk or programmatic use, implement the same Verhoeff tables in your own code; the logic is small and language-agnostic, and this tool is handy for verifying your implementation against known values.