A СНИЛС (SNILS) is the 11-digit individual personal account number on a Russian pension insurance certificate, issued by the Pension Fund. It is used in HR onboarding and Gosuslugi identity verification, and it carries a two-digit checksum so transcription errors can be caught instantly. This validator runs the official checksum in your browser.
How it works
The last two digits are a check number computed from the first 9 digits:
- Strip non-digits. The number must be 11 digits, written as
XXX-XXX-XXX YY. - Multiply the 9 body digits by descending weights
9, 8, 7, 6, 5, 4, 3, 2, 1and sum the products. - Reduce the weighted sum:
- if
sum < 100, the checksum issum; - if
sum == 100orsum == 101, the checksum is00; - if
sum > 101, takesum mod 101, and if that is100or101, the checksum is00.
- if
- The SNILS is valid when the computed two-digit checksum equals the actual last two digits.
The checksum is only defined for 9-digit bodies greater than 001-001-998, so smaller numbers are reported as out of range.
Example
For body 112-233-445 the weighted sum is 1×9 + 1×8 + 2×7 + 2×6 + 3×5 + 3×4 + 4×3 + 4×2 + 5×1 = 95. Since 95 < 100, the expected check number is 95. A SNILS 112-233-445 95 therefore passes.
Notes
A valid checksum confirms the number is consistent, not that it is issued to a real insured person — use official Pension Fund / Gosuslugi services for that. Everything runs locally, so your SNILS never leaves your device.