NRIC / FIN Number
Partial (e.g. S1234567) → computes the check character.
Full (e.g. S1234567D) → validates it.
Use * for an unknown prefix, # for unknown digits
→ e.g. S123#### or *1234567.
Algorithm
Each of the 7 digits is multiplied by a fixed weight, then a prefix offset is added. The sum is taken mod 11 to produce a remainder 0–10, which maps to a check character via the appropriate series alphabet.
| Position | D1 | D2 | D3 | D4 | D5 | D6 | D7 |
|---|---|---|---|---|---|---|---|
| Weight | 2 | 7 | 6 | 5 | 4 | 3 | 2 |
Prefix offsets added before mod 11: S = 0, T = 4, F = 0, G = 4, M = 3.
S / T series — check character map (remainder 0–10)
F / G series — check character map (remainder 0–10)
M series — check character map (remainder 0–10)
Prefix Reference
The first character of an NRIC or FIN encodes both the holder's residency status and the approximate period of issue. Each prefix group uses its own check-character alphabet to prevent cross-series confusion.
NRIC / FIN Structure
A Singapore NRIC or FIN is always 9 characters long:
| Pos | 1 | 2–8 | 9 |
|---|---|---|---|
| Field | Prefix | 7 Digits | Check |
| Values | S T F G M | 0000001 – 9999999 | A – Z (series-dependent) |
S and T holders share one check alphabet; F and G share another; M uses a third distinct alphabet. This ensures a check character alone cannot reveal the holder's series.
The seven-digit sequence is a serial number assigned by ICA. It does not encode date of birth or any other personal attribute.