Skip to main content
Skip to main content

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:

PositionFieldLengthMeaning & RuleExample
1 to 2Birth Year2 digitsLast two digits of the birth year85
3 to 4Month & Century2 digitsMonth encoded with century offset (+0 for 1900s, +20 for 2000s)07
5 to 6Birth Day2 digitsDay of birth (01 to 31)30
7 to 9Sequential Counter3 digitsSequential registration number123
10Gender1 digitOdd for Male, Even for Female4
11Check Digit1 digitWeighted Modulo 10 security digit8

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. 1. Remove spaces and hyphens from the string.
  2. 2. Validate that the sequence has exactly 11 numeric digits.
  3. 3. Decode month and century and verify valid calendar day.
  4. 4. Multiply the first 10 digits by weights [1, 3, 7, 9, 1, 3, 7, 9, 1, 3].
  5. 5. Compute the 10's complement of the weighted sum modulo 10.
  6. 6. Compare the obtained value against the 11th digit.

Frequently Asked Questions (FAQ)