National ID / Iqama Number generator (Saudi Arabia)
A Saudi national ID or Iqama number is ten digits starting with 1 (citizen) or 2 (resident), with a Luhn check digit. These test values are synthetic but Luhn-valid.
Synthetic · not collision-guaranteed Validate a number →
2059926747
Synthetic Saudi ID (Luhn-valid). Not a real issued number.
Format specification
| Identifier | National ID / Iqama Number |
|---|---|
| Country | 🇸🇦 Saudi Arabia |
| Format | 0000000000 |
| Length | 10 characters |
| Checksum | Luhn |
| Example | 2291363352 |
| Safe strategy | Synthetic |
| Data quality | Best-effort |
National ID / Iqama Number: what each part means
| 0 | Holder type: 1 = Saudi citizen (national ID), 2 = foreign resident (Iqama). |
|---|---|
| 00000000 | Serial digits with no embedded personal meaning. |
| 0 | Luhn (mod 10) check digit over the first nine digits. |
Validation regex
Matches the canonical value — strip separators and uppercase first: value.replace(/[^A-Za-z0-9]/g, '').toUpperCase()
^[12]\d{9}$ References
Common questions
Will these pass my validation?
Yes — they are well-formed National ID / Iqama Number values (0000000000) and pass standard format checks, including the Luhn 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.