Denmark CPR number decoder
Decode a 10-digit Danish CPR number (personnummer), written as DDMMYY-SSSS. It reveals the structural information encoded in the number — date of birth, gender and birth century — for anyone learning how the Danish personal identification system is built.
How it works
A CPR number packs three pieces of information into ten digits:
- DDMMYY — the date of birth (day, month, two-digit year).
- Birth century — derived from the 7th digit (first serial digit) plus the year, using the official CPR century table. Serial 0-3 → 1900s; 4 or 9 → 2000-2036 (years 00-36) else 1900s; 5-8 → 2000-2057 (years 00-57) else 1800s.
- Gender — the parity of the last digit: odd = male (mand), even = female (kvinde).
The tool also runs the historical modulus-11 control (a weighted checksum) but treats it only as a legacy hint, because Denmark officially abandoned it on 1 October 2007.
Example
For 010203-4567:
| Field | Value |
|---|---|
| Date of birth | 1 February 2003 |
| Serial | 4567 |
| Century rule | serial digit 4, year 03 → 2003 |
| Gender | last digit 7 (odd) → Male |
It is privacy-first: nothing leaves your browser, and the decoder only interprets the structure of the number — it does not check it against any government register.