Codice Fiscale Validator
Enter an Italian Codice Fiscale to validate it.
Result
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.
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.
Popular calculators
Loan Calculator
Monthly payment, total interest and full amortization schedule.
Percentage Calculator
Percent change, percent of, and ratio calculations.
Discount Calculator
Calculate final price, savings, and discount amount.
BMI Calculator
Body mass index from height and weight (metric or imperial).
Age Calculator
Compute your exact age in years, months and days from a birth date.
Compound Interest Calculator
Calculate the final amount and interest earned with compounding.
All Calculators
- Loan Calculator
- Profit Calculator
- Discount Calculator
- BMI Calculator
- Percentage Calculator
- Ideal Weight Calculator
- Age Calculator
- Pregnancy Due Date Calculator
- Compound Interest Calculator
- BMR Calculator (Basal Metabolic Rate)
- Tip Calculator
- Fuel Cost Calculator
- Date Difference Calculator
- Sleep Cycle Calculator
- Daily Water Intake Calculator
- Simple Interest Calculator
- Heart Rate Zones Calculator
- Running Pace Calculator
- Pet Age Calculator
- Calories Burned Calculator
- Macro Calculator
- TDEE Calculator (Total Daily Energy Expenditure)
- Waist-to-Hip Ratio Calculator
- Honor Roll Calculator
- One Rep Max (1RM) Calculator
- Ovulation Calculator
- Electricity Cost Calculator
- Unit Price Calculator
- Savings Goal Calculator
- Break-Even Point Calculator
- Paint Calculator
- Course Grade Average Calculator
- Business Days Calculator
- Time Duration Calculator
- Fuel Economy Calculator
- Temperature Converter
- Tile Calculator
- Aspect Ratio Calculator
- Roman Numeral Converter
- Goal Weight Timeline Calculator
- Salary Converter (Hourly to Annual)
- Credit Card Validator (Luhn)
- Body Surface Area (BSA) Calculator
- Feels-Like Temperature Calculator
- Ohm’s Law Calculator
- PPI (Pixel Density) Calculator
- Molar Mass Calculator
- Zodiac Sign Calculator (Western + Chinese)
- IBAN Validator
- Shoe Size Converter
- Country Info & Dialing Code Lookup
- Time Zone Difference (World Clock)
- CAGR (Compound Annual Growth Rate) Calculator
- Rule of 72 Calculator
- Blood Alcohol Content (BAC) Calculator
- Lean Body Mass (LBM) Calculator
- Pythagorean Theorem Calculator
- Speed Converter
- Download Time Calculator
- Date Calculator (Add/Subtract)
No calculators found
Comments (1)
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?