The Poland PESEL validator checks whether an 11-digit PESEL number is structurally correct. It runs the official weighted checksum, tells you exactly why the number passes or fails, and decodes every piece of information the format encodes — birth date (including century), and gender. Everything happens locally in your browser; no data is ever transmitted.
What is a PESEL?
PESEL (Powszechny Elektroniczny System Ewidencji Ludności) is Poland’s national population register number, introduced in 1979. Every Polish citizen receives one at birth; foreign nationals who register their residence in Poland also receive one. The number appears on the national identity card (dowód osobisty), passport, tax return, and health insurance card. Because it encodes the holder’s date of birth and gender, it is both an identifier and a compact data record.
Structure of the 11 digits
A PESEL looks like YYMMDDSSSCP, where each group carries a specific meaning:
| Positions | Label | Meaning |
|---|---|---|
| 1-2 | YY | Last two digits of birth year |
| 3-4 | MM | Month, offset-encoded to carry century |
| 5-6 | DD | Day of birth (01-31) |
| 7-9 | SSS | Serial number within the birth date |
| 10 | C | Gender digit (odd = male, even = female) |
| 11 | P | Weighted check digit |
Century encoding in the month field
The clever part of PESEL is that the two-digit month field encodes five different centuries by adding a fixed offset:
| Raw MM value | Real month | Century |
|---|---|---|
| 01-12 | plain | 1900s |
| 21-32 | subtract 20 | 2000s |
| 81-92 | subtract 80 | 1800s |
| 41-52 | subtract 40 | 2100s |
| 61-72 | subtract 60 | 2200s |
So a person born on 14 May 2000 would have MM = 25 (May + 20) and
their PESEL starts 00 25 14 …. A person born on 14 May 1944 would
have MM = 05 and their PESEL starts 44 05 14 ….
The checksum algorithm
The check digit at position 11 is computed using a weighted sum over the first 10 digits with the repeating weight pattern 1, 3, 7, 9, 1, 3, 7, 9, 1, 3:
- Multiply each of the first 10 digits by its corresponding weight.
- Add all 10 products together.
- Compute
sum mod 10. - Subtract from 10, then take
mod 10again (the second mod handles the case where the remainder is already 0, keeping the result in 0-9). - The result must equal digit 11.
For the obviously-fake sample 44051401359: weights × digits sum to 191, 191 mod 10 = 1, (10 − 1) mod 10 = 9 — which matches the last digit. Expand “Show checksum working” inside the tool to see the full multiplication table for any number you enter.
Example
The sample number 44051401359 is constructed purely to demonstrate a valid
format — it is not a real person’s PESEL:
- Birth date: 14 May 1944 (MM=05, in the 1900-range; DD=14; YY=44)
- Gender digit: 5 (odd → Male)
- Checksum: position-11 digit is 9, expected value is 9 — pass
Any number where one digit is wrong will fail the checksum check, and the tool will show both the expected and actual values so you can pinpoint the error immediately.