International · Validation

Polish PESEL validator.

Check an 11-digit Polish PESEL against the real weighted check digit the Polish government documents, and decode the date of birth and sex the number carries inside it.

How it works: multiply the first 10 digits by the weights 1, 3, 7, 9 (repeating), keep only the last digit of each product, add them up, and subtract from 10 (mod 10). That must equal digit 11. Digits 1–6 are YYMMDD with a century code added to the month; digit 10 is even for women and odd for men.

Source: gov.pl, “Czym jest numer PESEL?” (Polish government)Verified 29 September 2026

Advertisement

Inputs

Enter all 11 digits. Spaces and hyphens are ignored.

Result

Enter a PESEL and press Check.

How the PESEL number is built

PESEL is Poland's 11-digit national identification number. The layout is YYMMDD ZZZX Q: a date of birth, a four-digit serial whose last digit shows sex, and one check digit.

Century coding in the month field (as documented on gov.pl)
Birth yearsAdded to monthExample: July
1800–1899+8087
1900–1999+007
2000–2099+2027
2100–2199+4047
2200–2299+6067

Sex: the 10th digit is even (0, 2, 4, 6, 8) for a woman and odd (1, 3, 5, 7, 9) for a man.

Check digit: weights 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 on the first ten digits; add the last digit of each product; the check digit is 10 minus that sum (0 if the result is 10). gov.pl's worked example: 0207080362 gives check digit 8, so the number is 02070803628 — the date decodes to 8 July 1902 and the even 10th digit marks a woman.

Checksum and date check only — not a registry lookup

A pass means the checksum holds and the encoded date is a real calendar date. It does not prove the number was ever issued to anyone; only Poland's PESEL register can confirm that.

Checksum only — not a registry lookup

This tool runs entirely in your browser. It does not query any Polish government system. Nothing you type is transmitted, stored, or logged. Do not paste real people's PESEL numbers you have no reason to hold.

Advertisement
Advertisement
Listening…