Russia SNILS Validator

Validate an 11-digit Russian pension insurance number (СНИЛС) with its checksum.

Ad placeholder (leaderboard)

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:

  1. Strip non-digits. The number must be 11 digits, written as XXX-XXX-XXX YY.
  2. Multiply the 9 body digits by descending weights 9, 8, 7, 6, 5, 4, 3, 2, 1 and sum the products.
  3. Reduce the weighted sum:
    • if sum < 100, the checksum is sum;
    • if sum == 100 or sum == 101, the checksum is 00;
    • if sum > 101, take sum mod 101, and if that is 100 or 101, the checksum is 00.
  4. 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.

Ad placeholder (rectangle)