Singapore NRIC / FIN Validator
Singapore NRIC and FIN format validator. Checks the widely documented check-letter rule 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
Read the prefix
S and T are the series ICA issues to Singapore citizens and Permanent Residents. F, G and M are Foreign Identification Numbers (FINs): F was used before 2000, G from 2000 to 31 December 2021, and M from 1 January 2022.
Weight the seven digits
Multiply the digits by 2, 7, 6, 5, 4, 3 and 2 in turn and add the products.
Add the prefix offset
T and G add 4 to the sum and M adds 3. S and F add nothing.
Take the remainder after dividing by 11
The remainder, 0 to 10, picks the letter from the prefix's table. If it matches the letter you typed, the number is well formed. The result panel shows the sum and the remainder, so you can follow the working.
About the Singapore NRIC / FIN check letter
The National Registration Identity Card (NRIC) is the identity document the Immigration & Checkpoints Authority (ICA) issues to Singapore citizens and Permanent Residents. Foreigners who work, study or live in Singapore get a Foreign Identification Number (FIN) instead, issued by ICA and other government agencies. Both have the same nine characters: a prefix letter, seven digits and a check letter.
The five prefixes
In its media release of 12 July 2021, ICA said citizens and PRs carry numbers starting with S or T. It did not say how the two divide; T is commonly described as the series for people born from 2000, and this page does not rely on that. For FINs the release is specific: F was used before 2000, G from the start of 2000 until 31 December 2021, and M from 1 January 2022. The reason for M is that a FIN is never reassigned, not even after its holder leaves Singapore for good or dies, so every series runs out. ICA describes the M format as M, seven digits and a checksum letter, but it has never published the checksum rule. The rule this tool applies is the widely documented one, and the page treats it as that, not as an official specification.
"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."
What the check letter catches
Because 11 is prime and none of the weights is a multiple of it, changing any one digit always changes the remainder, so every single mistyped digit gives a different letter. Swapping two neighbouring digits changes the sum by the difference of their weights times the difference of the digits, and neighbouring weights here never differ by a multiple of 11, so every swap of two adjacent, different digits is caught too. The S/T and F/G tables have no letter in common, so typing S for F, or T for G, always fails. What the letter cannot do is tell a real number from an invented one: a made-up S number with a random final letter passes 1 in 26 times if the letter is any of A to Z, and 1 in 11 times if it is drawn from the S/T table.
Why this matters in Singapore
NRICs surface in countless local workflows: HDB applications, CPF lookups, bank KYC, SingPass logins and healthcare records. Not all of these follow the same privacy rules. HDB, CPF Board and the SingPass service are run by public agencies, which section 4(1)(c) of the Personal Data Protection Act 2012 excludes from the Act's data protection obligations; they follow the government's own data rules instead. Banks, clinics, retailers and other private organisations do fall under the PDPA, and so do the public hospitals and polyclinics, which are run by corporatised healthcare groups rather than public agencies. A single mistyped digit in any one of these can mean a rejected form, and the check letter flags it before you submit, without the number being sent anywhere.
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.
Every single-digit typo changes the letter, yet ICA's own M-series example fails the rule
The check letter depends only on the prefix and the seven digits, so a number can be checked offline, with no lookup against ICA.
The M prefix arrived on 1 January 2022 because a FIN is never reassigned, so each series runs out.
S and T share one letter table and F and G another. M uses the F/G letters with J in place of M at remainder 8, the same table some sources write backwards as KLJNPQRTUWX.
Since 1 September 2019, PDPC's advisory guidelines under the PDPA 2012 say a private organisation should collect an NRIC number only when the law requires it or when it must verify someone's identity to a high degree of fidelity.
ICA's 2021 release illustrates the new format as M1234567B. Under the documented rule those digits take M1234567K, so the example was a placeholder, not a checked number.
PDPC's guidelines use S1234567A to show a partial number. The rule gives those digits the letter D, so that example is a placeholder too.
Every remainder from 0 to 10 has its own letter, so a random final letter passes 1 in 26 times if it can be any of A to Z, and 1 in 11 if it is drawn from the right table.
PDPC does not treat collecting up to the last three digits and the check letter (e.g. "567A") as collecting the full NRIC number. A masked number cannot be checked here, because the letter depends on every digit.
ICA has never published the check-letter rule. The one in common use was worked out from issued numbers, which is why this page calls a match a well-formed number, not a real one.
Typing S for F, or T for G, always fails: the S/T and F/G tables have no letter in common.
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 widely documented rule, which every properly issued number should. An invented S number with a random final letter passes 1 in 26 times (1 in 11 if the letter comes from the S/T table), so a match shows the number is well formed, not that ICA issued it.
NRIC numbers (prefix S or T) are issued to Singapore citizens and Permanent Residents. FINs (prefix F, G or M) are issued by ICA and other government agencies to foreigners who are working, studying or residing in Singapore.
Because a FIN is never reassigned — not even after its holder leaves Singapore permanently or dies — so each series depletes over time. ICA announced the M series on 12 July 2021 and brought it in on 1 January 2022, keeping the format: M, seven digits and a checksum letter. Existing F and G numbers were not affected.
This page validates one at a time for privacy. If you need to check a list inside your own application, the rule is set out step by step above, and it needs no network call.
T is commonly described as the series for citizens and PRs born from 2000, with S before that. ICA's 2021 release names S and T without saying how they divide, so this tool does not infer a birth year from the prefix.
Because it was an illustration. Under the documented rule, prefix M and the digits 1234567 have a weighted sum of 109 and a remainder of 10, so the letter is K. ICA has not published its rule, so a placeholder in a press release says nothing either way about it.
Yes. PDPC's NRIC advisory guidelines (section 5.2) say that collecting up to the last 3 digits and the check letter, such as "567A" from "S1234567A", is not collecting the full NRIC number. A masked number cannot be checked by this tool, because the letter depends on all seven digits.
No. The tool converts what you type to capitals and ignores spaces and hyphens before checking.
Yes. ICA said F and G holders are not affected by the M series. The tool applies the F/G table to F and G numbers and the M table to M numbers, chosen from the prefix you type.
Method & sources
How it computes
Prefix S/T (citizens and PRs) or F/G/M (FINs), seven digits and a check letter. Weights 2, 7, 6, 5, 4, 3, 2; add 4 for T/G and 3 for M; the remainder mod 11 picks the letter from JZIHGFEDCBA (S/T), XWUTRQPNMLK (F/G) or XWUTRQPNJLK (M). The rule is the widely documented one; ICA has not published it (NationalIdKernel.sg).
What this tool implements
- ICA confirms the M series from 1 January 2022 — M, seven digits and a checksum letter — because a FIN is never reassigned, so each series depletes over time. F was used before 2000 and G from 2000 to 31 December 2021; S and T are the citizen and PR series, which the release does not date.
- ICA has never published the check-letter rule; the one applied here is the widely documented rule worked out from issued numbers. ICA's own illustrative example, M1234567B, is not a valid number under it (the rule gives K), nor is PDPC's S1234567A (D). Both are placeholders.
- What the letter catches is counted from the weights, not asserted: because 11 is prime and no weight or neighbouring-weight difference is a multiple of 11, every single mistyped digit and every swap of two adjacent different digits changes the letter. A random final letter passes 1 in 26 (A-Z) or 1 in 11 (from the table).
- PDPC's NRIC guidelines §5.2: collecting up to the last 3 digits and the checksum is not collecting the full NRIC number; a masked number cannot be checked.
- A valid check letter confirms the format, not that the number was issued.
- Corrected 2026-10-19: "~9%" of random numbers passing (1 in 26 for a random letter); unsourced claims that SingPass does not check the letter, that a FIN changes with the pass type, that the digits are sequential and that the driving-licence number is the NRIC (removed); S/T presented as birth-year series (ICA does not say so).
Sources
- Immigration & Checkpoints Authority. New M FIN Series To Be Introduced From 1 January 2022 (media release, 12 July 2021). https://www.ica.gov.sg/news-and-publications/newsroom/media-relea…
- Personal Data Protection Commission. Advisory Guidelines on the Personal Data Protection Act for NRIC and other National Identification Numbers (31 August 2018; applied from 1 September 2019), §5.2 and §6.1. https://www.pdpc.gov.sg/-/media/Files/PDPC/PDF-Files/Advisory-Gui…
What can make this go out of date
- None at runtime; nothing the reader types is sent anywhere.
Pick up where you left off
Stored only in this browser — never sent to our servers.