Canada SIN Validator — Social Insurance Number Check (Luhn)

Validate a Canadian Social Insurance Number with the Luhn check digit.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

A Canadian Social Insurance Number (SIN) is the 9-digit identifier issued for work and government services, usually written as AAA-BBB-CCC. This validator confirms a SIN is mathematically well-formed using the official Luhn (mod-10) check digit, and reads the registration region from the first digit. It is built for developers testing forms and anyone checking a number for typos — and it never contacts any government system.

How it works

The validator strips out spaces and dashes, then requires exactly 9 digits. It applies the Luhn algorithm: working left to right, every second digit (positions 2, 4, 6, 8) is doubled, and any result above 9 has 9 subtracted. All nine resulting digits are summed, and the SIN is valid only if that total is divisible by 10. The first digit is then matched to a province or category. A leading 0 is never issued, so it is treated as invalid even if the math works.

First digitRegion
1NB / NL / NS / PEI
2–3Quebec
4–5Ontario
6MB / SK / AB / Territories
7BC / Yukon
9Temporary resident
0Invalid — never issued

Example

Take the SIN 130 692 544. Doubling every second digit and subtracting 9 where needed gives a digit sum of 40, which is divisible by 10, so the Luhn check passes — and the leading 1 maps to the Atlantic provinces, so it is reported as well-formed. By contrast, a number with a leading 0 is rejected outright because that prefix is never issued.

A passing check confirms the number’s structure only — not that it was ever issued. The Luhn check runs entirely in your browser; nothing is uploaded.

Ad placeholder (rectangle)