---
id: "cz_rc"
kind: "datatype"
status: "draft"
is_pii: true
categories: ["pii", "persons"]
country: ["CZ"]
langs: ["cs"]
quality: 100
url: "http://registry.apicrafter.io/datatype/cz_rc"
---

# Czech birth number (rodné číslo) (`cz_rc`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Rodné číslo, the Czech personal number; Slovakia uses the same scheme. The first six digits are the date of birth as YYMMDD. Women have 50 added to the month. Since 2004 (Act 53/2004) a further 20 is added to the month (70 for women) when the serial numbers of a day run out. Numbers of people born before 1954 have nine digits. Later ones have a tenth, check digit: the number is divisible by 11, except a few issued until 1985 whose first nine digits leave a remainder of 10 and that end in 0. It is usually written with a slash after the sixth digit. The Ministry of the Interior also assigns birth numbers to foreigners with long-term residence. Health insurance, social security and, by default, tax registration use it.

- Personal data (PII): yes
- Categories: Personally identifiable information (pii), Person related (persons)
- Countries: Czechia (CZ)
- Languages: Czech (cs)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^\d{2}(?:[0257][1-9]|[1368][0-2])(?:0[1-9]|[12]\d|3[01])/?\d{3,4}$
```

Check digit algorithm: `cz_rc`

## Examples

- `710319/2745` — Man born on 19 March 1971, example from the python-stdnum documentation
- `7810181082` — Synthetic number with a valid check digit
- `1457090811` — Synthetic number of a woman born on 9 July 2014 (month 57)
- `057214/4738` — Synthetic number of a woman born on 14 February 2005 with the alternative month 72
- `991231123` — Nine-digit number without a check digit, example from the python-stdnum documentation
- `7103192746` (invalid example) — Check digit does not match
- `781318/1082` (invalid example) — There is no month 13
- `78101810827` (invalid example) — One character too many

## Mappings

- dpv: `pd:OfficialID`
- google_dlp: `CZECHIA_PERSONAL_ID_NUMBER`
- purview: `Czech personal identity number`, `EU Social Security Number (SSN) or Equivalent ID`, `EU social security number or equivalent identification`, `EU national identification number`, `EU Tax Identification Number (TIN)`, `EU Tax identification number`
- stdnum: `cz.rc`

## Supported by tools

- `awsglue`
- `azureailanguage`
- `dataprep`
- `googledlp`
- `microsoftpurview`
- `pythonstdnum`
- `snowflake`

## Translations

- cs: Rodné číslo: Datum narození ve tvaru RRMMDD (u žen měsíc + 50, od roku 2004 případně + 20) a za lomítkem tři nebo čtyři číslice; desetimístné rodné číslo je dělitelné jedenácti.
- ru: Персональный номер Чехии (rodné číslo): Дата рождения в виде ГГММДД (у женщин к месяцу прибавляется 50, с 2004 года иногда ещё 20) и после косой черты три или четыре цифры; десятизначный номер делится на 11.

## Sources

- wikipedia: <https://cs.wikipedia.org/wiki/Rodn%C3%A9_%C4%8D%C3%ADslo>
- doc: <https://learn.microsoft.com/en-us/purview/sit-defn-czech-personal-identity-number>
- other: <https://arthurdejong.org/python-stdnum/doc/2.2/stdnum.cz.rc.html>
- other: <https://docs.dataprep.ai/user_guide/clean/clean_cz_rc.html>

## Quality

Score 100/100.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/cz_rc.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/CZ/persons/cz_rc.yaml>
