Personal Number generator (Belarus)
A Belarusian personal number is fourteen characters — a sex/century digit, the date of birth, a region letter, a serial, a citizenship code (PB for citizens), and a check digit whose algorithm is not published. These test values are synthetic and format-valid.
Synthetic personal number (format-valid). The check digit’s algorithm is not published.
Format specification
| Identifier | Personal Number (Асабісты нумар) |
|---|---|
| Country | 🇧🇾 Belarus |
| Format | 0000000A000AA0 |
| Length | 14 characters |
| Checksum | None |
| Example | 5091210C654PB3 |
| Safe strategy | Synthetic |
| Data quality | Best-effort |
Personal Number: what each part means
| 0 | Sex and century in one digit: 1/2 = born 1800s, 3/4 = 1900s, 5/6 = 2000s. |
|---|---|
| 000000 | Date of birth as DDMMYY. |
| A | Region of registration (A–M; e.g. A = Minsk city). |
| 000 | Three-digit serial number. |
| AA | Citizenship code: PB for Belarusian citizens. |
| 0 | Check digit (algorithm not published; test values use a random digit). |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^[1-6]\d{6}[A-Z]\d{3}[A-Z]{2}\d$ References
Common questions
Will these pass my validation?
Yes — they are well-formed Personal Number values (0000000A000AA0) and pass standard format checks.
Could one belong to a real person?
These are synthetic values. They are format-valid but not drawn from a guaranteed reserved range, so use them only for testing.
Can I generate many at once?
Increase the count, or use the free API and CSV/JSON export for large datasets.