Czech Rodné číslo Validator

Validate a Czech birth number and decode its hidden birth date and gender.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

The Czech rodné číslo (RČ) is the national personal identification number used in the Czech Republic (and historically in Slovakia before the 1993 split). It appears on national ID cards, travel documents, tax forms, health insurance records, and most official correspondence. Unlike a purely arbitrary sequence, the number carries real semantic content: the holder’s date of birth and gender are encoded directly in the first six digits, so a validator can extract both without any external lookup.

This tool verifies the number against the official mod-11 checksum algorithm, confirms the encoded date is a real calendar date, decodes the gender from the month offset, and explains exactly which check — if any — failed.

Structure of a rodné číslo

A modern (post-1953) rodné číslo looks like this:

  Y  Y  M  M  D  D  /  S  S  S  C
  └──┴──┘  └──┴──┘  └──┴──┘  └──┴──┘  └─┘
  birth year  month   day    serial  check
  (last 2)   code             (seq)   digit
  • YY — last two digits of the birth year. Whether this means 1900s or 2000s depends on the total length and value (see Birth-year resolution below).
  • MM — encodes both the calendar month and the holder’s gender. Men: 01–12 (base) or 21–32 (overflow since 2004). Women: 51–62 (base) or 71–82 (overflow since 2004). Subtract 50 from a female code, or 20/70 from an overflow code, to get the real month.
  • DD — day of birth (01–31, validated against the actual number of days in that month and year).
  • SSS — three-digit sequential serial, distinguishing people born on the same day.
  • C — check digit, present only on numbers issued from 1 January 1954 onward. Pre-1954 numbers are nine digits and carry no check digit.

The slash between the sixth and seventh digit is conventional formatting — it carries no mathematical meaning and is stripped before validation.

The mod-11 algorithm explained

  1. Take the first nine digits (the six-digit date block plus the three-digit serial) and interpret them as a single integer N.
  2. Compute N mod 11. This gives a remainder between 0 and 10.
  3. Edge case: if the remainder is exactly 10, the check digit must be 0 (the result is taken mod 10 once more). This is an explicit design decision in the Czech standard — otherwise no valid number could end in 0.
  4. For all other remainders, the check digit C must equal the remainder exactly.
  5. If C != (N mod 11 == 10 ? 0 : N mod 11), the number fails validation.

Example with a deliberately fake number (900101/1234, used only for illustration — not a real person’s data):

  • Prefix nine digits: 900101123
  • 900101123 mod 11 = 4
  • Check digit must be 4 — and the final digit here is 4, so it passes.

Birth-year resolution

A 10-digit number with YY between 54 and 99 belongs to 1954–1999. When YY is between 00 and 53, the birth year is 2000–2053. A 9-digit (pre-1954) number always maps to 1900–1953.

Why this matters

Because the date and gender are embedded in the number, a single typo can produce a date that does not exist (e.g. 30 February) or a checksum mismatch. Both failures are caught here with an explanation of exactly which rule was violated, making it easy to spot the error position before submitting a form or processing a document.

Ad placeholder (rectangle)