Free telecom & identity tools
Free tool
Canada Social Insurance Number (SIN) Generator & Validator
Generate valid test SINs by registration region with a correct Luhn check digit, or paste a SIN to check its region and checksum.
SIN Generator
Pick a registration region or leave it random. The serial number is random; the ninth digit is calculated with the Luhn checksum Service Canada uses.
SIN Validator
Paste a 9-digit SIN, with or without spaces, to check its registration region and Luhn check digit.
Every SIN this tool produces is synthetic test data only. It is not issued by Service Canada and does not belong to any real person. Use it on your own test systems only — never on a real form, payroll record or KYC check.
How a SIN is structured
A SIN is nine digits with no punctuation, usually written in three groups of three. It is the well-known fictitious example that appears throughout Service Canada's own documentation and test suites, so we use it here too. Taking 046 454 286 as an example:
| Digits | Segment | Meaning |
|---|---|---|
| 0 | Registration region | 1 Atlantic; 2–3 Quebec; 4–5 Ontario; 6 Prairies; 7 Pacific; 9 temporary residents. 8 is not used, and 0 is reserved for fictitious numbers — which is why 046 454 286 appears in so many test suites. |
| 4645428 | Serial | Seven digits, assigned in sequence within the region. |
| 6 | Check digit | Luhn: double every second digit from the left, add the digits of the products, the total must end in 0. |
The Luhn algorithm behind that check digit is the same one used to validate credit card numbers, SIM card ICCIDs and phone IMEIs. If you need to work through the arithmetic on an arbitrary number, AXON's Luhn calculator does exactly that.
Why generate test SINs?
Any system that deals with Canadian employees or residents stores SINs — payroll, CRA T4 and tax-slip generation, banking and telecom onboarding, and KYC and identity checks. All of them need realistic input to test against.
Using a real person's SIN in a test environment is bad practice and, under PIPEDA, a privacy problem — a SIN is sensitive personal information on its own. Synthetic numbers let you exercise region, serial and checksum logic without any real personal data leaving production. Generating a few numbers starting with 9 also lets you confirm your system correctly flags and handles a temporary resident's SIN, which expires with their immigration status.
