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
| Identifier | Thai National ID |
|---|---|
| Country | 🇹🇭 Thailand |
| Format | 0-0000-00000-00-0 |
| Length | 13 characters |
| Checksum | MOD 11 |
| Example | 6-2913-63353-94-0 |
| Safe strategy | Synthetic |
| Data quality | Verified 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
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.
For software testing only. These numbers are synthetic and must never be used
for real-world identification, applications, or to impersonate anyone.