Codice Fiscale Validator

Enter an Italian Codice Fiscale to validate it.

How it is calculated

The tool trims spaces at the ends, converts to capitals and checks that the code matches the fixed pattern of 6 letters, 2 digits, 1 letter, 2 digits, 1 letter, 3 digits and a final letter (16 characters). If the pattern fits, it recomputes the control letter. Each of the first 15 characters gets a value: characters in odd positions (1st, 3rd, 5th and so on) are looked up in the official odd table, while characters in even positions count as their digit value or their place in the alphabet (A = 0 … Z = 25). The values are added and sum mod 26 gives a letter, A for 0 up to Z for 25. The code is Valid only when this letter equals the 16th character. The tool shows Valid or Invalid, the computed control letter and whether the format passed. It does not check names, dates or place codes.

Worked example

Take the sample code RSSMRA85T10A562S. The format fits. The odd positions hold R, S, R, 8, T, 0, 5, 2, worth 8 + 12 + 8 + 19 + 14 + 1 + 13 + 5 = 80. The even positions hold S, M, A, 5, 1, A, 6, worth 18 + 12 + 0 + 5 + 1 + 0 + 6 = 42. The total is 80 + 42 = 122. Then 122 mod 26 = 18, and letter number 18 counting from A = 0 is S. The 16th character of the code is also S, so the tool reports Valid, with control letter S and format Yes. Changing the last letter to X would leave the format intact but make the result Invalid.

Try this example →

Common mistakes

  • Believing a Valid result proves the person exists or that the name fits. Only the pattern and the control letter are tested, so a code made up with the right check letter, even with month letter Z and day 99, still passes.
  • Typing a space or dash inside the code. Any character that is not a letter or digit in the expected place makes the format fail, and the control letter is then not computed (shown as a dash).
  • Entering a 16-character code in which letters replace digits (the substitution used to separate people with identical codes). The strict pattern expects digits at those places, so such a code is reported as format No even though it can be genuine.
  • Entering the 11-digit partita IVA of a company. The validator is for the 16-character personal code only.
  • Typing the letter O for the digit 0 (or I for 1). The strict pattern then fails and the result is format No, which looks like a wrong code when it is only a letter-for-digit slip.

About this calculator

The Codice Fiscale validator checks a 16-character Italian tax code — the identifier every resident, and anyone who does business or opens a bank account in Italy, must have — against the official format: three consonants from the surname, three from the first name, two digits and a letter for birth year and month, two digits for day of birth (offset by 40 for women), four characters for the birthplace code, and one final check character.

The check character is derived by giving each of the first 15 characters a value that depends on both the character itself and whether its position is odd or even, summing those values, and taking the result modulo 26 to pick a letter — the same odd/even substitution scheme defined by the Italian Ministry of Finance (Agenzia delle Entrate). Businesses onboarding Italian clients or employees, accountants, and anyone verifying an Italian ID or invoice use this validator to catch a mistyped or fabricated code before it causes a rejected filing or payment.

Was this helpful?

You can pick up to 3 reactions.

Comments (1)

  • Editorial team

    A Valid result means only that the pattern and the control letter agree. The tool does not compare the surname and first-name letters or the birth date with a real person, and it does not check the birthplace code against any list. For a genuinely official confirmation, use the Italian tax authority's own verification service. This is Italian-specific and has nothing to do with Turkish ID numbers. Which situation brings you to this check?

Popular calculators

All Calculators