Skip to content
Identique

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.

What validation does
  • 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.
What validation does not do
  • 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.

  1. Pick a country

    Choose one of the 80 supported countries — search by name or ISO code.

  2. Enter the number

    Type or paste an ID number. Validation runs locally in your browser.

  3. 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

For developers

The validation engine behind this site is published as idnumbers — an open-source, zero-dependency npm package with full TypeScript types.

Install

npm install idnumbers

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);

The ID numbers in this example are randomly generated test values — they do not belong to anyone.