Polish PESEL National ID Generator
Generate and format valid Polish PESEL personal identification numbers.
Waiting for generation...
About Polish PESEL National IDs
The PESEL (Powszechny Elektroniczny System Ewidencji Ludności) is the universal 11-digit national identity number assigned to all Polish citizens and residents by the Ministry of Digital Affairs and MSWiA.
The structure is `YYMMDDZZZG`: first 6 digits encode date of birth (with century month offsets: +20 for 2000-2099); `ZZZ` is the registration order; `G` indicates gender (even for female, odd for male); and the 11th digit is the Modulo 10 check digit.
Anatomy & Structure of Polish PESEL
PESEL consists of 11 decimal digits regulated by the Ministry of Digital Affairs:
| Position | Field | Length | Meaning & Rule | Example |
|---|---|---|---|---|
| 1 to 2 | Birth Year | 2 digits | Last two digits of the birth year | 85 |
| 3 to 4 | Month & Century | 2 digits | Month encoded with century offset (+0 for 1900s, +20 for 2000s) | 07 |
| 5 to 6 | Birth Day | 2 digits | Day of birth (01 to 31) | 30 |
| 7 to 9 | Sequential Counter | 3 digits | Sequential registration number | 123 |
| 10 | Gender | 1 digit | Odd for Male, Even for Female | 4 |
| 11 | Check Digit | 1 digit | Weighted Modulo 10 security digit | 8 |
PESEL Calculation & Validation Algorithm (Modulo 10)
PESEL validation computes the security digit using weighted Modulo 10:
DV = (10 - ((∑ di × Weights[i]) mod 10)) mod 10 (Weights: 1, 3, 7, 9, 1, 3, 7, 9, 1, 3)
- 1. Remove spaces and hyphens from the string.
- 2. Validate that the sequence has exactly 11 numeric digits.
- 3. Decode month and century and verify valid calendar day.
- 4. Multiply the first 10 digits by weights [1, 3, 7, 9, 1, 3, 7, 9, 1, 3].
- 5. Compute the 10's complement of the weighted sum modulo 10.
- 6. Compare the obtained value against the 11th digit.