Personas kods generator (Latvia)
A Latvian personal code is eleven digits — date of birth, a serial, and a MOD-11 check digit, formatted DDMMYY-NNNNN. These test values are synthetic but checksum-valid.
Synthetic · not collision-guaranteed Validate a number →
180152-99267
Synthetic personal code with a valid check digit. Not a real issued number.
Format specification
| Identifier | Personas kods |
|---|---|
| Country | 🇱🇻 Latvia |
| Format | 000000-00000 |
| Length | 11 characters |
| Checksum | MOD 11 |
| Example | 200495-13631 |
| Safe strategy | Synthetic |
| Data quality | Verified against sources |
Personas kods: what each part means
| 000000 | Date of birth as DDMMYY (codes issued since July 2017 can instead be fully random and start with 32). |
|---|---|
| 0 | Century of birth on classic codes: 0 = 1800s, 1 = 1900s, 2 = 2000s. Test values use a random digit. |
| 000 | Serial number. |
| 0 | MOD-11 check digit: ((1101 − weighted sum of the first ten digits) mod 11) mod 10. |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^\d{11}$ References
Common questions
Will these pass my validation?
Yes — they are well-formed Personas kods values (000000-00000) and pass standard format checks, including the MOD 11 checksum.
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.
For software testing only. These numbers are synthetic and must never be used
for real-world identification, applications, or to impersonate anyone.