Home HKID Hong Kong

Hong Kong HKID validator

How the HKID format works

Format
1-2 letters + 6 digits + a check character (0-9 or A), often shown in parentheses
Example
A123456(3)

Things to watch for

  • The check character is printed in parentheses on the physical card (e.g. A123456(3)) but is still part of the number — the letters and 6 digits alone won't pass without it
  • Format + mod-11 check-character validation only — a pass doesn't confirm the HKID is currently issued or active with the Immigration Department
  • An HKID is sensitive personal data — this validator runs entirely in your browser and never sends or stores what you type
Regex for HKID
^[A-Z]{1,2}[0-9]{6}\(?[0-9A]\)?$

A Hong Kong Identity Card (HKID) number identifies every HKID card the Immigration Department issues to Hong Kong residents. The format is one or two letters, six digits, and a check character — 0 through 9, or A — shown in parentheses on the physical card, for example A123456(3). The parentheses aren’t decorative: the check character inside them is as much a part of the number as the digits before it, and a number entered without it is incomplete.

How the check character is derived

That check character comes from a fixed calculation, not a lookup table. Each letter is converted to a numeric value (A=10 through Z=35), a single-letter prefix is treated as if a blank space preceded it, and the resulting eight values — two letter positions plus six digits — are each multiplied by a descending weight from 9 to 2 before being summed. Whatever value brings that sum to a multiple of 11 is the check character, with a result of 10 written as A instead of a two-digit number. Because every position feeds into the same sum, a single mistyped digit or swapped letter almost always produces a mismatch — exactly the kind of slip this validator is built to catch before it reaches a form.

What this check does and doesn’t confirm

Validating an HKID here confirms only that the check character is mathematically consistent with the letters and digits in front of it — it says nothing about whether that number was ever issued, belongs to a real person, or is still active with the Immigration Department. Because an HKID is sensitive personal data, this tool runs entirely in your browser: nothing you type is transmitted or stored anywhere, and there’s no server-side lookup involved even for numbers that fail.

Content last reviewed 2026-08-09.

HKID FAQ

What does the number in brackets on an HKID mean?

It's the check character, not a separate part of the number. HKID format is 1-2 letters plus 6 digits plus a final check character (0-9 or A), printed in parentheses — for example A123456(3). The brackets are just how it's printed; the check character inside them is still required for the number to be valid.

How is the HKID check character calculated?

Each letter is converted to a number (A=10 up to Z=35), a one-letter prefix is treated as if preceded by a blank space, and the resulting 8 values — 2 letter-slots plus 6 digits — are multiplied by weights running from 9 down to 2 and summed. The check character is whatever value brings that sum to a multiple of 11, with a result of 10 shown as A rather than a two-digit number.

Does a valid HKID mean the card is real or currently issued?

No. This checks only that the check character mathematically matches the letters and digits before it — it can't confirm the Immigration Department actually issued that number or that the card is still active. Because an HKID is sensitive personal data, this validator runs entirely in your browser; nothing you type is sent or stored anywhere.

← More HKID validators