Polish Personal Identification Number

PESEL Generator

Generates PESEL numbers with a correct check digit and an encoded date of birth. You can narrow results to a specific gender or birth year range.

Generated numbers pass checksum validation but are not assigned to any real entity. For testing purposes only.

How many numbers to generate?

Gender

About the PESEL generator

Use cases

PESEL numbers are required by healthcare systems, social insurance platforms, and government application forms. During development and testing you need structurally valid numbers that carry no real personal data. Filtering by gender or birth year is useful when a test scenario requires data from a specific demographic group.

How generation works

The generator picks a random date within the requested year range, a random serial number (digits 6–8), and a gender-appropriate digit 9 (odd = male, even = female). The century is encoded in the month field: 01–12 for the 1900s, 21–32 for the 2000s, 41–52 for the 2100s, 61–72 for the 2200s, and 81–92 for the 1800s. The check digit (position 11) is (10 − (sum mod 10)) mod 10 with weights [1, 3, 7, 9, 1, 3, 7, 9, 1, 3].

Important limitation

Generated PESEL numbers are for testing only and do not correspond to any real person. Using them in healthcare records, social security claims, official documents, or any registration process is prohibited.

Generator API

Each generator is backed by a REST API endpoint. Send a GET request with optional parameters and get an array of structurally valid numbers in JSON format.

GET /api/v1/generate/pesel?count=5 &gender=any&year_from=1960&year_to=2000

Host: polishdata.eu

// Response 200 OK

{

"data": [

{

"pesel": "44051401359",

"date_of_birth": "1944-05-14",

"gender": "male"

}

],

"count": 5,

"type": "pesel"

}

Explore API docs