Home🇹🇭 ThailandThai National ID

Thai National ID generator (Thailand)

A Thai national ID is thirteen digits with a MOD-11 check digit. These test values are synthetic but checksum-valid.

Synthetic · not collision-guaranteed Validate a number →
6-0599-26749-44-4

Synthetic Thai national ID with a valid check digit. Not a real issued number.

Format specification

IdentifierThai National ID
Country🇹🇭 Thailand
Format0-0000-00000-00-0
Length13 characters
ChecksumMOD 11
Example6-2913-63353-94-0
Safe strategy Synthetic
Data qualityVerified against sources

Thai National ID: what each part means

0 Category of person: 1–2 Thai nationals registered at birth, 3–5 those registered later or under special rules, 6–7 foreign residents, 8 naturalised citizens.
0000 Province and district (amphoe) of the registration office.
00000 00 Birth-registration record group and the order within it.
0 MOD-11 check digit: the first twelve digits weighted 13 down to 2, then (11 − sum mod 11) mod 10.

Validation regex

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

^[1-8]\d{12}$

References

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

Common questions

Will these pass my validation?

Yes — they are well-formed Thai National ID values (0-0000-00000-00-0) 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.

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.