Russian ИНН and СНИЛС: Structure and Check Digits
Two numbers appear on almost every Russian form: the ИНН, the taxpayer identification number, and the СНИЛС, the insurance number of an individual's personal account. Both end in check digits that can be calculated from the other digits. This guide explains how each number is built, how the check digits are calculated, with worked examples, and what a correct result does not prove.
Two Numbers, Two Registers
| Number | Issued by | Length | Example |
|---|---|---|---|
| ИНН of an organisation | Federal Tax Service (ФНС) | 10 digits, 1 check digit | 5024002119 |
| ИНН of an individual or sole proprietor (ИП) | Federal Tax Service (ФНС) | 12 digits, 2 check digits | 123456789047 |
| СНИЛС | Kept by the Social Fund of Russia (СФР) | 11 digits, 2-digit check number | 112-233-445 95 |
The 10-digit example is the one the ФНС uses in its filling instructions for the 6-НДФЛ form; the 12-digit one is an illustration built for this guide; the СНИЛС example comes from the Pension Fund's rules for checking personal records.
How the ИНН Is Built
Under the ФНС order on assigning ИНН that applied until the end of 2025, the number reads from left to right as: four digits for the tax office that assigned it, a serial number of the record (five digits for an organisation, six for an individual) and the check number (one digit for an organisation, two for an individual), calculated by an algorithm set by the ФНС.
Since 1 January 2026 a new ФНС order (ЕД-7-14/559@) governs the assignment of ИНН. The ФНС has stated that the structure of the ИНН and the method of calculating the check number do not change, and numbers already assigned remain valid. Because the first digits identify a tax office and some region codes start with 0, an ИНН can begin with 0: always keep it as text.
Check Digit of a 10-Digit ИНН
The government services portal Госуслуги publishes the algorithm in its validation guide:
- Multiply the first nine digits by 2, 4, 10, 3, 5, 9, 4, 6 and 8 and add the products.
- Divide the sum by 11 and take the remainder.
- The last digit of the remainder must equal the 10th digit. A remainder of 10 therefore gives 0.
Worked example: for 5024002119, 5×2 + 0×4 + 2×10 + 4×3 + 0×5 + 0×9 + 2×4 + 1×6 + 1×8 = 10 + 0 + 20 + 12 + 0 + 0 + 8 + 6 + 8 = 64. 64 = 5 × 11 + 9, so the check digit is 9, which matches the last digit.
Check Digits of a 12-Digit ИНН
An individual's ИНН has two check digits, calculated one after the other with different weights:
- 11th digit: multiply digits 1–10 by 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, add them, take the remainder after dividing by 11 and keep its last digit.
- 12th digit: multiply digits 1–11 (including the 11th just calculated) by 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8 and do the same.
Worked example: for the base 1234567890, the first sum is 1×7 + 2×2 + 3×4 + 4×10 + 5×3 + 6×5 + 7×9 + 8×4 + 9×6 + 0×8 = 257, and 257 = 23 × 11 + 4, so the 11th digit is 4. The second sum, over 12345678904, is 282 = 25 × 11 + 7, so the 12th digit is 7. The full number is 123456789047.
Because a remainder of 10 and a remainder of 0 both give the digit 0, a mistake that moves the remainder between 0 and 10 goes unnoticed. The check catches most typing mistakes, not all of them.
Check Number of a СНИЛС
The СНИЛС is written as 000-000-000 00: nine digits and a two-digit check number. Госуслуги gives the calculation:
- Multiply the first nine digits by 9, 8, 7, 6, 5, 4, 3, 2 and 1 (each digit by its position counted from the end) and add them.
- If the sum is below 100, it is the check number.
- If it is 100, the check number is 00.
- If it is above 100, take the remainder after dividing by 101; a remainder of 100 again gives 00.
Worked examples: for 112-233-445 the sum is 1×9 + 1×8 + 2×7 + 2×6 + 3×5 + 3×4 + 4×3 + 4×2 + 5×1 = 95, so the number is 112-233-445 95. For 123-456-789 the sum is 165; 165 − 101 = 64, so the full number is 123-456-789 64.
The Pension Fund's rules add one condition: the check number is checked only for numbers above 001-001-998. The LeedyBox validator therefore shows lower numbers as not checked rather than as wrong. Its review notes record that this rule was read in the text of the Pension Fund rules as published by a legal database, because the original was not found on a government site.
What a Correct Result Does Not Prove
- Existence. For any nine digits exactly one tenth digit fits, so one in ten 10-digit numbers passes; most of them were never assigned. Only the ФНС and the Social Fund, which keep the registers, can confirm a number.
- The right number for the right person. A real ИНН or СНИЛС copied from someone else passes every check.
- Other identifiers. The КПП of an organisation is a separate 9-character code written next to the ИНН, and the state registration numbers ОГРН (13 digits) and ОГРНИП (15 digits) have check digits of their own. The validator does not check them.
Using the Numbers in Software
- Store both numbers as strings and strip spaces and hyphens before checking. Show the СНИЛС as 000-000-000 00 if users expect it.
- Decide the type by length: 10 or 12 digits for an ИНН, 11 for a СНИЛС. A 9-digit value is ambiguous, so the validator only completes it for a СНИЛС.
- Real ИНН and СНИЛС identify people. Keep them out of URLs, logs and analytics.
- Use generated test numbers for development. The validator makes ИНН for organisations and individuals and СНИЛС above 001-001-998; they may coincide with real numbers, so never use them as anyone's identity.
Frequently Asked Questions
Is the ИНН the same as the ОГРН?
No. The ИНН is the taxpayer number; the ОГРН is the main state registration number of a legal entity (ОГРНИП for a sole proprietor). Each has its own length and check digit.
Did the ИНН change in 2026?
A new ФНС order on assigning ИНН applies from 1 January 2026, but according to the ФНС the structure and the check-number method stay the same and existing numbers remain valid.
Why is my СНИЛС shown as not checked?
Numbers up to 001-001-998 are outside the range for which the Pension Fund's rules check the check number, so the validator does not judge them.
Can the validator tell me whose number it is?
No. It only calculates check digits in your browser and does not look numbers up in any register.
Sources
Source: Госуслуги, ЕСКС: Валидация · Last checked:
Source: ФНС России: Порядок и условия присвоения, применения, а также изменения ИНН (приложение к приказу от 29.06.2012 № ММВ-7-6/435@) · Last checked:
Source: ФНС России: С 1 января 2026 года действует новый порядок постановки на налоговый учет · Last checked:
Source: ФНС России: порядок заполнения расчёта 6-НДФЛ (приложение № 2 к приказу от 19.09.2023 № ЕД-7-11/649@) · Last checked:
Source: Госуслуги, ЕСКС: Валидация · Last checked:
Source: Распоряжение Правления ПФР от 31.07.2014 № 323р, п. 2.7 (текст: КонсультантПлюс) · Last checked: