NIC generator (Sri Lanka)
A Sri Lankan NIC (new format) is twelve digits — the four-digit birth year, the day of the year with 500 added for women, a serial, and a check digit whose algorithm is not published. These test values are synthetic and format-valid.
Synthetic · not collision-guaranteed Validate a number →
195069398109
Synthetic NIC (format-valid). The check digit’s algorithm is not published.
Format specification
| Identifier | National Identity Card Number (NIC) |
|---|---|
| Country | 🇱🇰 Sri Lanka |
| Format | 000000000000 |
| Length | 12 characters |
| Checksum | None |
| Example | 196684810183 |
| Safe strategy | Synthetic |
| Data quality | Verified against sources |
National Identity Card Number: what each part means
| 0000 | Four-digit year of birth. |
|---|---|
| 000 | Day of the year of birth (001–366), with 500 added for women (so 501–866 = a woman). The old ten-character format encoded the same values with a two-digit year. |
| 0000 | Serial number. |
| 0 | Check digit (algorithm not published; test values use a random digit). |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^(19|20)\d{10}$ References
Common questions
Will these pass my validation?
Yes — they are well-formed National Identity Card Number values (000000000000) and pass standard format checks.
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.