Skip to content
100% local

Birth number validator

Check a Slovak or Czech birth number and see the date of birth, age and sex it encodes.

Input
Output

Birth number validator

A Slovak or Czech birth number (rodné číslo) packs a date of birth, a sex marker and a check digit into nine or ten digits — this tool decodes and verifies all of it at once, for as many numbers as you paste in. Enter one number per line, with or without the slash. Each line is checked independently: its length (nine digits before 1954, ten after), the month field (shifted by 50 for a woman, and by a further 20 or 70 for the second registers opened in 2004 once a month ran out of serials), and — for the ten-digit form — the checksum, including the historic exception for the rare case where the check digit lands on 10.

For every line the result states whether it is valid, the date of birth, the current age against a reference date, and the sex the number encodes. An impossible date — a month that doesn't exist once the sex offset is removed, or a day past the end of that month — is reported as invalid rather than guessed at. A wrong checksum still shows the date and sex it decodes to, often enough to spot a single mistyped digit.

The reference date defaults to today but can be pinned to any date, which keeps the calculated age reproducible rather than tied to the clock. The output switches between readable report lines and a CSV table (input, valid, date of birth, age, sex, reason) for pasting into a spreadsheet, and the "only invalid" option filters the list down to the numbers worth double-checking.

Everything runs locally in your browser: the numbers you paste are never uploaded, logged or sent to any server, which matters given how much a birth number reveals about a real person.

FAQ

Is my data uploaded anywhere?
No. Every birth number is checked locally in your browser — nothing is sent to a server, logged or stored.
What formats does it accept?
Nine digits (pre-1954, no check digit) or ten digits (1954 onward, checksum-verified), with or without the slash — one per line.
How is the year decoded when the two digits could mean two different centuries?
The ten-digit format only exists from 1954 onward, so a year below 54 always means 20xx and 54 or above always means 19xx. The nine-digit format only ever ran from 1900 to 1953, so it is always 19xx.
Why does an invalid number still show a date of birth?
If only the checksum fails, the date and sex still decode correctly — that's shown so you can spot a likely single-digit typo. A number is shown with no date only when the month or day itself is impossible.
Can this confirm the number belongs to a real, registered person?
No. It only proves the number is well-formed under the public algorithm — it cannot check against any registry, and it never tries to.