Skip to content

PESEL generator and validator

Generate PESEL numbers for a chosen birth date range and sex as test data, or decode and check a PESEL's date, sex and check digit in your browser.

Document

PESELPowszechny Elektroniczny System Ewidencji Ludności

National identification number · written like 85031212343

Where the rules come from

Options

Up to 10,000 at a time

Sex

Valid format only · belongs to no one · for testing

Pick the options and press Generate. The numbers pass every rule this page checks, so they suit forms, fixtures and QA.

Poland publishes no test range for PESEL, so by chance a random PESEL can equal an issued one: keep it in test systems.
Runs in your browser · no uploadHow it works

How to use PESEL generator

  1. 1

    Choose the birth dates

    The page opens on the generator. Set the earliest and latest birth date the numbers should have.

  2. 2

    Pick the sex

    Any, Male or Female sets the parity of the tenth digit.

  3. 3

    Generate and export

    Set the count and press Generate, then copy the list or download a CSV or JSON with each number's birth date and sex.

  4. 4

    Decode a PESEL

    On the Check tab paste PESELs to read their birth date and sex, or see why one is invalid.

Limits and Pro

Free: up to 10,000 PESELs per batch for birth dates from 1800 to 2099, and checks of up to 10,000 pasted numbers.

Pro removes the ads; the generator is unlimited either way. See Pro

About PESEL generator

Polish e-commerce, healthcare and banking systems validate the PESEL on every form, so test databases need numbers that pass, ideally for realistic ages and both sexes. This generator makes them for any birth-date range you choose, men, women or both, up to 10,000 at a time, and exports them with their decoded birth date and sex so the fixtures line up with your test cases.

A PESEL is eleven digits, RRMMDDPPPPK. The first six are the birth date, with the century folded into the month: 1900s births use the month as it is, 2000s births add 20, so a child born on 12 January 2014 starts 142112, and the 1800s, 2100s and 2200s add 80, 40 and 60. The next four are a serial number whose last digit is even for women and odd for men. The final digit is a check: multiply the first ten by 1, 3, 7, 9, 1, 3, 7, 9, 1, 3, keep the last digit of the sum and subtract it from 10.

Paste PESELs on the Check tab to decode them or to find the broken ones in an import: an impossible date such as 30 February is reported as well as a wrong check digit. Choosing Poland in the main tool also covers NIP and REGON.

None of this can confirm that a PESEL exists or who holds it; only the state register knows that, and this page never contacts it.

Privacy

PESEL numbers are generated and decoded by the code in this page; birth dates and numbers never leave your browser, and the generated lists aren't stored anywhere.

PESEL generator: frequently asked questions

How does PESEL encode birth dates after 2000?
The year keeps two digits and the century moves into the month. Someone born in January 2014 has 21 as the month digits instead of 01, so the number starts 142112 for 12 January. Births in the 1800s add 80 to the month, the 2100s add 40 and the 2200s add 60, which keeps every PESEL unambiguous for four centuries.
Which digit of a PESEL shows the sex?
The tenth digit, the last of the four serial digits. It is even (0, 2, 4, 6 or 8) for women and odd (1, 3, 5, 7 or 9) for men. The generator sets it from your choice of sex, and the Check tab reads it back along with the birth date.
How is the PESEL check digit calculated?
Multiply the first ten digits by 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 and add the products. Take the last digit of the total and subtract it from 10; a result of 10 counts as 0. For 4405140135 the sum is 101, its last digit is 1, so the check digit is 9 and the PESEL is 44051401359.
Can I generate PESELs for people of a particular age?
Yes. Set the birth-date range to the ages your test needs, for example 1 January to 31 December 1990 for everyone born in 1990, and every number will decode to a date inside it. Combine it with the sex option to build fixtures for age and gender rules.
Is a PESEL that passes the check a real one?
Not necessarily. The check digit and the date only prove the number is well-formed; whether it was assigned, and to whom, is recorded in the national register, which this page never queries. A random valid PESEL can by chance equal an issued one, so keep generated numbers in test systems.

Other tasks with this tool

All developer tools