← Demonstrations and tools
Country ID validator
Check whether an identifier is structurally valid for Singapore, Malaysia, Indonesia, Thailand or Vietnam. The real checksum arithmetic, running in your browser. Structure only — never identity.
What this page will not do
- Send what you type anywhere. There is no request to make one with: this page contacts no origin at all, including ours.
- Tell you who anyone is. It checks structure — a check digit, a date field, a province code. A structurally valid identifier is not a real person, and we hold no registry to ask.
- Remember it. Nothing is stored, in this page or anywhere else. Reload, or press Clear, and it is gone.
All samples are synthetic. Nothing you type leaves this page. There is no reason to use anything other than a sample.
1 of 7 validators accepted this candidate.
| Validator | Class | Result | Why / what it requires |
|---|---|---|---|
| Singapore NRIC / FIN | id.sg.nric | MATCH | prefix-weighted checksum verified |
| Malaysia MyKad | id.my.mykad | NO MATCH | 12 digits, YYMMDD-PB-####G; there is no check digit — validated by date plausibility, the place-of-birth code table, and the trailing gender digit. |
| Indonesia NIK | id.id.nik | NO MATCH | 16 digits: a province code, a DDMMYY date field (+40 added to the day for women), and a four-digit serial; there is no checksum. |
| Thailand national ID | id.th.pid | NO MATCH | 13 digits with a mod-11 weighted check digit: weights 13 down to 2, check = (11 − sum mod 11) mod 10. |
| Vietnam CCCD | id.vn.cccd | NO MATCH | 12-digit số định danh cá nhân; province code, century/gender digit and birth year are structural, and there is no checksum. |
| Payment card | finance.pan | NO MATCH | 13–19 digits satisfying the Luhn (mod-10) checksum used by payment card networks. |
| IBAN | finance.iban | NO MATCH | Two-letter country code, two check digits and a BBAN, validated against the ISO 13616 mod-97 checksum. |
What is real here
- The same detector module the prompt sandbox imports — no second implementation.
- NRIC prefix-weighted checksum with per-series letter tables
- MyKad contextual validation — there is no check digit to verify
- NIK province codes and the +40 day-offset for women
- Thai mod-11 check digit; Vietnamese province and century/gender structure
- Luhn and IBAN mod-97
What this is not
- Identity verification — it checks structure, never against any registry.
- An identifier generator. A public "make me a valid NRIC" button is a fraud tool.
- Bulk or batch validation, file upload, or any storage of what you type.
- Coverage for jurisdictions outside the five packs (SG, MY, ID, TH, VN).