A Romanian CNP (Cod Numeric Personal) is a 13-digit national identification number that encodes a person’s sex and century of birth, their date of birth, the county where the number was issued, a serial, and a check digit. This tool decodes each field and verifies the checksum, entirely in your browser.
How it works
The 13 digits follow the pattern S AA LL ZZ JJ NNN C:
- S — sex + century (1/2 = 1900s, 3/4 = 1800s, 5/6 = 2000s, 7/8 = resident foreigner)
- AA LL ZZ — two-digit year, month, day of birth
- JJ — county (județ) code
- NNN — serial number
- C — check digit
The check digit is verified by multiplying the first twelve digits by the fixed weights 2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9, summing the products, and taking the sum modulo 11. If the remainder is 10 the check digit should be 1; otherwise it equals the remainder.
Example
Take a CNP beginning 1980229...:
- First digit 1 → male, born 1900s
- Next six 800229 → 29 February 1980
- The following two digits give the county, then a serial, then the check digit, which the tool validates against the weighted-sum rule.
| Field | Position | Example |
|---|---|---|
| Sex + century | 1st digit | 1 → male, 1900s |
| Date of birth | digits 2–7 | 800229 → 1980-02-29 |
| County | digits 8–9 | mapped to județ |
| Check digit | 13th digit | mod-11 verified |
The CNP you enter is never uploaded; this is a structure and checksum decoder, not a registry lookup.