The Vietnamese Citizen Identification Card number (Căn cước công dân, CCCD) is the 12-digit identifier that replaced the older 9-digit CMND. Unlike a tax code, it carries no arithmetic check digit; instead, each field has a fixed meaning, so the number itself encodes the holder’s province of registration, gender, century of birth and birth year. This free validator decodes those fields and flags structural inconsistencies — useful for banking KYC, labour onboarding and form validation.
How it works
The 12 digits break down into four fields:
- Positions 1-3 — province or city code of registration (for example
079is Hồ Chí Minh City,001is Hà Nội). - Position 4 — a combined century and gender digit. Even digits (0, 2, 4, …) are male and odd digits (1, 3, 5, …) are female; each pair steps the century forward by 100 years starting from the 1900s.
- Positions 5-6 — the last two digits of the birth year, combined with the century from position 4.
- Positions 7-12 — a random sequence number that distinguishes people who share the earlier fields.
The validator marks a number as inconsistent if the province code is unrecognised or the decoded birth year lands in the future.
Example
For a CCCD beginning 079 2 95 ...: province 079 is Hồ Chí Minh City, the digit 2 means male born in the 2000s, and 95 combined with that century gives a birth year of 2095 — which would be flagged as future-dated. A digit 0 with 95 would instead decode to 1995, a plausible year.
Because there is no check digit, a consistent structure does not prove the card is genuine. For real identity verification, check the official database. Everything here runs locally — your ID number never leaves your device.