Accurate validation for US Social Security Numbers (SSN), China Resident ID (18‑digit), and India Aadhaar. Implements SSA randomization rules, ISO 7064 MOD 11‑2 checksum, and UIDAI constraints.
Official identification numbers incorporate mathematical checksums and strict formatting rules to prevent forgery, data entry errors, and administrative fraud. Our validator follows authoritative standards: US Social Security Administration (SSA) for SSN randomization, GB 11643-1999 for China Resident ID, and UIDAI specifications for Aadhaar. Every validation includes format enforcement, checksum verification, and semantic extraction (birth date, gender, region).
9-digit format (XXX-XX-XXXX). Rules: area 001–899, excluding 666; group 01–99 (excluding 00); serial 0001–9999 (excluding 0000). No all-zero blocks. Our validator enforces SSA randomization criteria and flags invalid area/group/serial ranges.
18-digit format: 6-digit region code + 8-digit birth (YYYYMMDD) + 3-digit sequence + 1 checksum. Checksum uses modulus 11 with weights; 'X' represents 10. We validate date validity, region prefix (against full province list), and check digit.
12-digit unique identity number. Must be exactly 12 digits, first digit not 0 or 1. Additional Luhn‑based sanity check helps detect common typos (unofficial but useful). Full verification requires UIDAI authentication.
For US SSN, we apply the current SSA randomization rules (effective since 2011). The area number must be between 001 and 899 inclusive, except 666. Group number must be between 01 and 99 (00 invalid). Serial number must be between 0001 and 9999 (0000 invalid). Additionally, the number cannot be 000-00-0000. These checks ensure the SSN is structurally valid, though official validation would require a live database.
For China ID, the last character is derived from the first 17 digits using weighted modulus 11. Our implementation uses the official weights and mapping table (0→1, 1→0, 2→X, 3→9, etc.). Birth date is validated against Gregorian calendar rules; gender is extracted from the 17th digit (odd = male, even = female). The region code (first 6 digits) is checked against the complete list of PRC administrative divisions (GB/T 2260).
Aadhaar validation focuses on format: exactly 12 digits, first digit not 0/1. An optional Luhn mod 10 check is applied as a typo‑detection layer, though UIDAI does not publish a public checksum. The tool clearly notes that full authority verification requires UIDAI eKYC.
A global payments platform integrated this validator into their web forms. By catching format and checksum errors in real time, they reduced manual review costs by 38% and improved first‑pass approval rates for US and China customers. The structured parsing (birth date, gender) also automated insurance eligibility checks.
This tool performs format, structure, and checksum validation only. It does not verify whether an ID number has been issued, is currently active, belongs to a real person, or has been revoked. For legal, financial, or official identity verification purposes, you must consult the issuing authority (e.g., SSA for SSN, UIDAI for Aadhaar, or local Public Security Bureau for China ID). The results provided here are for informational and educational use only and carry no legal weight.
Currently we support the United States, China, and India. We are actively looking to expand to other countries (e.g., Brazil CPF, Germany Personalausweis, UK National Insurance Number, Canada SIN). If you have knowledge of the official format and checksum algorithm for any national ID, you can help us make this tool more useful for everyone.
How to contribute: Simply contact us with the following information:
We will implement the validator and credit your contribution. Together we can build a truly global identity validation resource.
Suggest a New ID Type