Documentation
Identique checks whether a national ID number is well-formed. Every check runs inside your browser — the number you type is never sent to a server.
- Checks the number against the format rules for the selected country — length, letters, digits, and separators.
- Recomputes check digits where the national scheme defines them.
- Extracts data that some countries encode in the number itself, such as birth date or gender.
- No registry lookup — a well-formed number is not proof that it was ever issued.
- No identity verification — it cannot confirm that a number belongs to a particular person.
- No uploads — the number stays on your device and is never stored or transmitted.
Using the validator
Three steps, no sign-up, nothing leaves your browser.
Pick a country
Choose one of the 80 supported countries — search by name or ISO code.
Enter the number
Type or paste an ID number. Validation runs locally in your browser.
Read the result
You get a format and check-digit verdict, plus any data the number itself encodes for countries that support it.
Country reference
Format rules for all 80 supported countries. Open a country for its full specification.
80 countries shown
- AlbaniaALBIdentity Number
- ArgentinaARGDNI
- AustraliaAUSMedicare NumberChecksum
- AustriaAUTTax Identification NumberChecksum
- BahrainBHRPersonal Number
- BangladeshBGDNational ID
- BelgiumBELNational Registration NumberChecksum
- Bosnia and HerzegovinaBIHUnique Master Citizen NumberChecksum
- BrazilBRACPF NumberChecksum
- BulgariaBGRUniform Civil NumberChecksum
- CanadaCANSocial Insurance NumberChecksum
- ChileCHLRUN/RUTChecksum
- ChinaCHNResident Identity NumberChecksum
- ColombiaCOLUnique Personal IDChecksum
- CroatiaHRVPersonal ID NumberChecksum
- CyprusCYPTax NumberChecksum
- Czech RepublicCZEBirth NumberChecksum
- DenmarkDNKPersonal Identity Number
- EstoniaESTPersonal ID NumberChecksum
- FinlandFINPersonal Identity CodeChecksum
- FranceFRASocial Security NumberChecksum
- GeorgiaGEOPersonal Number
- GermanyDEUTax Identification NumberChecksum
- GreeceGRCTax Identity NumberChecksum
- Hong KongHKGNational ID NumberChecksum
- HungaryHUNPersonal ID NumberChecksum
- IcelandISLIcelandic Identification Number (kennitala)Checksum
- IndiaINDAadhaar (UID)Checksum
- IndonesiaIDNNational ID Number
- IranIRNNational ID NumberChecksum
- IraqIRQNational Card Number
- IrelandIRLPersonal Public Service NumberChecksum
- IsraelISRIdentity NumberChecksum
- ItalyITAFiscal CodeChecksum
- JapanJPNMy NumberChecksum
- KazakhstanKAZIndividual Identification NumberChecksum
- KuwaitKWTCivil NumberChecksum
- LatviaLVAPersonal CodeChecksum
- LithuaniaLTUPersonal CodeChecksum
- LuxembourgLUXNational Identification NumberChecksum
- MacauMACResident Identity Card
- MalaysiaMYSNational Registration Identity Card Number
- MexicoMEXCURPChecksum
- MoldovaMDAPersonal Code (IDNP)
- MontenegroMNEUnique Master Citizen Number (JMBG)Checksum
- NepalNPLNational ID Number
- NetherlandsNLDBurgerservicenummer (BSN)Checksum
- New ZealandNZLIRD Number
- NigeriaNGANational Identification Number
- North MacedoniaMKDUnique Master Citizen Number (JMBG)Checksum
- NorwayNORNational Identity NumberChecksum
- PakistanPAKNational Identity Card
- Papua New GuineaPNGNational ID Number
- PhilippinesPHLPhilSys Number
- PolandPOLPESELChecksum
- PortugalPRTCitizen CardChecksum
- RomaniaROUPersonal Numeric CodeChecksum
- RussiaRUSInternal Passport
- San MarinoSMRSocial Security Number / Tax Registration
- Saudi ArabiaSAUNational IDChecksum
- SerbiaSRBJMBGChecksum
- SingaporeSGPNRIC/FINChecksum
- SlovakiaSVKBirth NumberChecksum
- SloveniaSVNEMŠOChecksum
- South AfricaZAFNational ID NumberChecksum
- South KoreaKORResident Registration Number
- SpainESPDNIChecksum
- Sri LankaLKANational ID NumberChecksum
- SwedenSWEPersonal Identity NumberChecksum
- SwitzerlandCHESocial Security NumberChecksum
- TaiwanTWNNational Identification CardChecksum
- ThailandTHANational Identity Card NumberChecksum
- TurkeyTURNational ID NumberChecksum
- UkraineUKRIndividual Tax NumberChecksum
- United Arab EmiratesAREEmirates IDChecksum
- United KingdomGBRNational Insurance Number
- United StatesUSASocial Security Number
- VenezuelaVENCédula de Identidad
- VietnamVNMCitizen Identity Card Number
- ZimbabweZWENational ID NumberChecksum
For developers
The validation engine behind this site is published as idnumbers — an open-source, zero-dependency npm package with full TypeScript types.
Validate and parse
import { validateNationalId, parseIdInfo } from "idnumbers";
// Validate a Taiwan National ID (format + checksum, no network)
const result = validateNationalId("TWN", "C130536598");
console.log(result.isValid); // true
// Some countries encode data in the number itself
const info = parseIdInfo("ZAF", "1605077045198");
console.log(info?.gender, info?.yyyymmdd);
const { validateNationalId, parseIdInfo } = require("idnumbers");
// Validate a Taiwan National ID (format + checksum, no network)
const result = validateNationalId("TWN", "C130536598");
console.log(result.isValid); // true
// Some countries encode data in the number itself
const info = parseIdInfo("ZAF", "1605077045198");
console.log(info && info.gender, info && info.yyyymmdd);
The ID numbers in this example are randomly generated test values — they do not belong to anyone.