Canada SIN Validator — Social Insurance Number Checker (Luhn)

Validate a Canadian SIN with the Luhn checksum and read its province or temporary-resident flag.

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 by Service Canada (ESDC) that every working resident needs for employment, tax filing, and government programs. SINs are typically written in three groups of three: 046-454-286. This validator confirms a SIN is structurally correct using the Luhn (mod-10) checksum, reads the registration province or category from the leading digit, and flags any special ranges — including the temporary-resident prefix (9) and the reserved prefix (8) that is not normally issued.

How the Luhn algorithm works

The Luhn algorithm was designed by IBM engineer Hans Peter Luhn in 1954 and is now the universal single-digit check for identifiers like credit cards, IMEI numbers, and — for Canada — the Social Insurance Number.

Starting from the leftmost digit and counting positions from 1:

  1. Leave odd-position digits (1st, 3rd, 5th, 7th, 9th) unchanged.
  2. Double each even-position digit (2nd, 4th, 6th, 8th). If the result exceeds 9, subtract 9 — this is equivalent to summing the two digits of the product.
  3. Add all nine resulting values together.
  4. The SIN is valid if and only if the total is divisible by 10.

The step-by-step table in the tool shows every digit at each stage so you can follow the maths and spot exactly which position fails when a SIN is invalid.

Province and category flags

The first digit of a SIN is not random — it encodes where and under what programme the SIN was registered:

First digitRegion / category
0Invalid — never issued
1NB / NL / NS / PEI (Atlantic)
2–3Quebec
4–5Ontario
6MB / SK / AB / NT / NU (Prairies + Territories)
7BC / Yukon
8Reserved — not normally issued
9Temporary resident (ITN, work permit)

A 9-prefix SIN passes the Luhn check but signals a non-permanent number. Employers, payroll systems, and benefits platforms often need to handle these differently because they carry an expiry date and may not qualify for certain programmes. The validator surfaces a clear flag whenever it detects this range.

Example — obviously fake sample

The number 046-454-286 is a well-known example used in Service Canada documentation and testing. It should not be used as a real identity number.

Working through the Luhn check manually:

Position123456789
Digit046454286
×2 at even0868582166
−9 if >9086858276
Sum = 50 → 50 % 10 = 0 → PASS

The leading digit 0 would normally make this invalid, but this specific SIN is used purely for illustration. Enter any real-looking test number and the tool will break down each step identically.

Every calculation runs entirely in your browser — nothing is uploaded or stored.

Ad placeholder (rectangle)