What this tool is good for
Use it for registration forms, regex checks, validation messages, API fixtures, spreadsheet samples, demos, and automated tests that need realistic Singapore NRIC or FIN-shaped values.
Free checksum-valid NRIC and FIN test numbers for developers and QA. Click, copy, done.
Click the number to copy it
Synthetic test data only · nothing is uploaded · need a batch?
Ready for test fixtures.
Paste an NRIC or FIN to check it.
Need more than one? Use Bulk generate to create up to 250 values and export them as plain text, CSV, JSON, TypeScript, Python or SQL.
Every NRIC and FIN has nine characters: a prefix letter, seven digits and a check letter, for example S1234567D. The prefix tells you which series the number belongs to.
| Prefix | Type | Issued to | This tool |
|---|---|---|---|
| S | NRIC | Citizens and permanent residents born or registered before 2000 | Generates and validates checksum |
| T | NRIC | Citizens and permanent residents born or registered from 2000 | Generates and validates checksum |
| F | FIN | Foreigners issued a FIN before 2000 | Generates and validates checksum |
| G | FIN | Foreigners issued a FIN from 2000 to 2021 | Generates and validates checksum |
| M | FIN | Foreigners issued a FIN from 1 January 2022 | Format only |
Worked example. For S1234567: 1×2 + 2×7 + 3×6 + 4×5 + 5×4 + 6×3 + 7×2 = 106. 106 divided by 11 leaves a remainder of 7, and position 7 in the S table is D, so the full number is S1234567D.
Use it for registration forms, regex checks, validation messages, API fixtures, spreadsheet samples, demos, and automated tests that need realistic Singapore NRIC or FIN-shaped values.
A checksum-valid value is not a real-world identity check. This tool cannot verify issuance, personhood, citizenship, residency, pass status, or ownership.
Numbers are generated and checked by plain JavaScript in your browser. The values you generate or paste are never sent to Aivoryx, AI services, or a validation server. We only collect anonymous page-visit statistics.
A Singapore NRIC generator creates random numbers that follow the NRIC or FIN format and pass the checksum, so developers and QA testers can fill in forms, seed databases and write automated tests without using a real person’s identity number.
No. Every number is random, synthetic test data. A value that passes the checksum only has the right structure; it does not prove that the number was ever issued or that it belongs to anyone.
Nine characters: one prefix letter (S or T for NRIC; F, G or M for FIN), seven digits, and one check letter calculated from the prefix and digits. Example: S1234567D.
Multiply the seven digits by the weights 2, 7, 6, 5, 4, 3, 2 and add the results. Add 4 if the prefix is T or G. Take the remainder after dividing by 11 and look it up in the check-letter table: J Z I H G F E D C B A for S and T, or X W U T R Q P N M L K for F and G. For S1234567 the sum is 106, the remainder is 7, and the check letter is D.
An NRIC (National Registration Identity Card number) is issued to Singapore citizens and permanent residents and starts with S or T. A FIN (Foreign Identification Number) is issued to foreigners holding long-term passes and starts with F, G or M. Both share the same nine-character layout.
M-series FINs were introduced on 1 January 2022. The format is public, but the official checksum rule has not been published, so this tool generates and checks M-series values by format only instead of claiming checksum verification.
No. Generation, validation, copying and exports all run locally in your browser. The numbers you generate or paste are never sent to a server.
Yes. It is free, has no sign-up, and has no limit on how many numbers you generate.
No. Use them only as synthetic test data. Do not use generated NRIC or FIN values for authentication, account recovery, KYC, or any workflow involving a real person.
Aivoryx tools kit