Home🇫🇮 FinlandHenkilötunnus

HETU generator (Finland)

A Finnish personal identity code (HETU) is date of birth, a century marker, a serial, and a check character. These test values use the 2000s marker (A) and carry a valid check character, but are synthetic.

Synthetic · not collision-guaranteed Validate a number →
180152A8829

Synthetic HETU with a valid check character (2000s form). Not a real issued code.

Format specification

IdentifierHenkilötunnus (Personal identity code)
Country🇫🇮 Finland
Format000000A000A
Length11 characters
ChecksumMod 31 check char
Example200495A093M
Safe strategy Synthetic
Data qualityVerified against sources

Henkilötunnus: what each part means

000000 Date of birth as DDMMYY.
A Century marker: + for 1800s births, − (or U–Y) for 1900s, A (or B–F) for 2000s. These test values use A.
000 Individual number 002–899; on real codes odd means male and even means female (900+ marks temporary codes). Test values use random values in range.
A Check character: the nine digits (date + individual number) modulo 31, indexed into the official table 0123456789ABCDEFHJKLMNPRSTUVWXY.

Validation regex

Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()

^\d{6}A\d{3}[0-9A-FHJ-NPR-Y]$

References

  1. en.wikipedia.org/wiki/National_identification_number#Finland

Common questions

Will these pass my validation?

Yes — they are well-formed Henkilötunnus values (000000A000A) and pass standard format checks, including the Mod 31 check char 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.

Validate an existing number →

For software testing only. These numbers are synthetic and must never be used for real-world identification, applications, or to impersonate anyone.