Singapore NRIC / FIN Validator
Singapore NRIC and FIN format validator. Verifies the official ICA checksum algorithm for S, T, F, G, and M prefixes. Browser-only — your ID never leaves the page.
Singapore NRIC / FIN Validator
How the SG NRIC / FIN check works
Parse the prefix
S/T = Singapore citizens or PRs (S = pre-2000 birth, T = 2000+). F/G/M = foreigners on work or long-term passes (F = pre-2000, G = 2000+, M = 2022+).
Apply weights to digits
Multiply the 7 body digits by weights 2, 7, 6, 5, 4, 3, 2 and sum the products.
Add the prefix offset
T or G prefix adds 4 to the sum. M prefix adds 3. S and F add nothing.
Modulo 11 → letter table
Take sum mod 11 and look up the check letter in the prefix's letter table. If your entered letter matches, the number is well-formed.
About the Singapore NRIC / FIN check digit
The National Registration Identity Card (NRIC) is Singapore's primary identity document, issued to all citizens and Permanent Residents by the Immigration & Checkpoints Authority (ICA). Foreigners holding employment passes, dependant passes, or long-term visit passes receive a parallel format called the Foreign Identification Number (FIN). Both share the same 9-character structure: 1 prefix letter + 7 digits + 1 check letter.
The 5 prefix letters
The prefix encodes both citizenship status and issuance era. S is for citizens and PRs born before 2000; T for those born in 2000 or later. F is for foreigners issued before 2000, G for those issued from 2000. The newest prefix, M, was introduced on 1 January 2022 because the G block was projected to exhaust by mid-decade given Singapore's foreign workforce growth.
"The check letter is a transcription safeguard, not an authenticity guarantee — a real NRIC will always satisfy the formula, but the formula being satisfied does not prove the NRIC was ever issued."
Why this matters in Singapore
NRICs surface in countless local workflows: HDB applications, CPF lookups, bank KYC, SingPass logins, healthcare records, and increasingly in mandatory PDPA-driven masking on receipts and letters. A typo in any one of these can cascade into hours of administrative pain. A 10-second client-side check before submission catches the vast majority of human entry errors — without ever sending the ID to any server.
Privacy stance
This tool runs entirely in your browser. Your ID is never uploaded, logged, or stored. Under Singapore's PDPA, NRICs are personal data and may not be collected unnecessarily — so we built this with zero network round-trip.
10 facts about the SG NRIC
The check-letter algorithm has been public since the 1980s — anyone can verify it offline.
The M prefix was added in 2022 because G-block numbers were nearing exhaustion.
S/T prefixes share one check-letter table; F/G share another; M uses a third (F/G reversed).
Under PDPA 2019 guidelines, organisations can no longer collect NRIC unless legally required.
The 7-digit body is sequential — earlier numbers indicate earlier registration, but the prefix matters more than the digits for dating.
FIN holders typically get a new FIN each time their work pass type changes.
The check letter is intentionally one of only 11 possible values — even purely random NRICs have ~9% chance of being well-formed by accident.
Masking guidance: show only the last 3 digits + check letter when displaying publicly (e.g. "***567D").
Singapore is one of very few countries where the national ID has a publishable, mathematically verifiable check digit.
SingPass authentication does not actually verify the NRIC check letter — it does a database lookup. So a check-letter-valid NRIC can still be unregistered.
Frequently asked questions
No. The validation runs entirely in your browser — your NRIC never leaves the page. There is no upload, no logging, no server-side record.
No. It means the check letter matches the formula, which is what you would get on any properly issued NRIC. But ~9% of random S+7digits+letter combinations also satisfy the formula, so a positive result is necessary but not sufficient for a real ID.
NRIC (prefix S or T) is for Singapore citizens and Permanent Residents. FIN (prefix F, G, or M) is for foreigners holding work passes, dependant passes, long-term visit passes, or student passes.
The G-block of FIN numbers was projected to exhaust by the mid-2020s given Singapore's growing foreign workforce. ICA introduced M as a new block, with a reversed F/G check-letter table.
This page validates one at a time for privacy. If you need to validate a list within your own application, the algorithm is published here in plain JavaScript — copy it into your own code (no API call required).
T. The T prefix is for citizens or PRs born in or after 2000. The original S block does not have a fixed cutoff but in practice covers pre-2000 births.
The NRIC and driving license number happen to be identical — the IC number IS the license number. There is no separate driver number.
Yes, and PDPA recommends it. The standard masking shows only the last 3 digits + check letter, e.g. "S****567D". Avoid displaying the full NRIC in any public-facing UI.
No — the algorithm is case-insensitive by convention. This tool normalises to uppercase. The check letter at the end is also always uppercase.
It validates against the F or G tables (whichever your prefix indicates). M-prefix IDs use a different lookup table — the tool detects the prefix automatically and uses the right one.
Related News
You may be interested in these recent stories from our newsroom.
No related news yet for this tool. Our editorial team publishes new pieces every week.
Browse all news →75 more free tools
Calculators, converters, security tools — no signup.