The Latvian personas kods (personal code) is an 11-digit identifier from the PMLP. Codes issued before July 2017 embed the date of birth (DDMMYY) and end with a mod-11 check digit; codes issued since then begin with 32 and carry no date or published checksum. This tool validates both variants in your browser.
How it works
After removing the optional dash, the validator looks at the first two digits:
- New 32-series code: if the code starts with
32, it is a post-2017 code with no birth date. The tool checks only that it is 11 digits beginning with32. - Old date-based code: otherwise, the first six digits are treated as
DDMMYY. The tool runs the official mod-11 check-digit algorithm:
weights = [1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
sum = Σ digit[i] × weights[i] for i = 0..9
C = (1101 − sum) mod 11 mod 10
valid = C equals digit[10]
It also performs a light plausibility check on the embedded date (day 1–31, month 1–12) and reports it, though the checksum is the authoritative test.
Example
Old code: 161175-19997 → date 16-11-1975, check digit recomputed and compared
New code: 32012-345678 → begins with 32 → format-only validation, no check digit
Notes
A valid result confirms the code is internally consistent (old) or correctly structured (new). It does not confirm the code was issued or belongs to a real person — only the PMLP register can. All processing is local, so the tool is safe for KYC and HR pre-checks.