This Italian codice fiscale validator checks the 16-character tax code
against the official checksum defined by the 1976 Ministry of Finance decree — the same
odd/even position lookup-table algorithm used by the Agenzia delle Entrate. Runs entirely in
your browser.
How to use it
Paste the 16-character code (case-insensitive) and click "Check codice fiscale". The tool
recomputes the expected check letter from the first 15 characters and compares it to the
16th.
How the checksum works
Every character in an odd position (1st, 3rd, 5th, …, 15th) is converted to a number using
one table; every character in an even position (2nd, 4th, …, 14th) uses a different table.
The 15 resulting values are summed, and the sum modulo 26 gives a number from 0–25, which
maps directly to a check letter (0=A, 1=B, … 25=Z).
What the 16 characters encode
Positions 1–3 come from consonants in the surname, 4–6 from the first name, 7–8 the last two
digits of the birth year, position 9 a letter for the birth month, 10–11 the birth day
(with 40 added for women), 12–15 a code for the town or country of birth, and position 16
the check letter this tool validates.
Frequently asked questions
What is a codice fiscale?
Italy's 16-character tax code, assigned to every citizen and resident. It encodes a person's surname, first name, birth date, sex, and place of birth, ending with a single check letter.
How is the check letter calculated?
Each of the first 15 characters is converted to a numeric value using one of two lookup tables depending on whether its position is odd or even, all 15 values are summed, and the sum modulo 26 selects the check letter (0=A through 25=Z).
Why does the same letter mean different things in different positions?
The odd-position and even-position tables assign different numeric values to the same character on purpose — it makes the checksum sensitive to transposition errors (swapping two adjacent characters), not just substitution errors, since a swapped character usually moves between an odd and an even position.
Does a valid checksum mean the codice fiscale is real?
No. It confirms the code is internally consistent — the right length, character set, and a matching check letter — not that it was actually issued by the Agenzia delle Entrate to a real person. Some codes are also deliberately altered ("omocodia") when two people would otherwise share an identical code; this tool doesn't attempt to detect that.
Is my codice fiscale sent anywhere when I use this tool?
No. The checksum is computed entirely in your browser via JavaScript. Nothing is transmitted, logged, or stored.