Skip to main content
FastCalc

Codice fiscale

Italy · Individuals

AAAAAA00A00A000A

Paste or type the number — punctuation is optional.

What this check does — and what it cannot do

This tool checks the number's structure and its check digit, using the published algorithm for that document. A number that passes is well formed: it is arithmetically consistent and could have been issued.

It cannot tell you whether the number was actually issued, whether it is active, or who it belongs to. Only the issuing tax authority can confirm that, through its own lookup service. Treat a passing result as "worth submitting", never as proof of identity.

Calculated in your browser. Nothing you enter is sent anywhere.

Two people can generate the same tax code, so Italy turns digits into letters

The codice fiscale is derived entirely from name, birth date, sex and birthplace — nothing random. Two people who share a surname, a first name's consonants, a birthday and a town therefore produce identical codes. Italy resolves this collision, called omocodia, by replacing numeric positions with letters starting from the right: 0 becomes L, 1 becomes M, 2 becomes N, and so on to 9 as V.

How it works

  • Checks the sixteenth character against the odd/even weighting tables and modulo 26.
  • Decodes the birth date, the recorded sex and the four-character birthplace code.
  • Accepts omocodia codes, where digits have been substituted with letters, and says so.
characters 1-3 surname consonants · 4-6 first-name consonants
7-8 year · 9 month letter from ABCDEHLMPRST · 10-11 day, +40 for women
12-15 Belfiore code for the town · 16 control character

control = alphabet[(sum of odd-position values + even-position values) mod 26]
omocodia: 0→L 1→M 2→N 3→P 4→Q 5→R 6→S 7→T 8→U 9→V, rightmost first

Worked example

The published example: a man born in Milan on 8 April 1991.

  1. surname and name give MRT and MTT
  2. 91 for the year, D for April, 08 for the day — a woman would show 48
  3. F205 is the Belfiore code for Milan
  4. the weighting tables over the first fifteen characters give control letter J
  5. under omocodia the final 5 could become R, and the control character is recomputed

Sixteen characters that encode a person rather than counting them. That is what makes collisions possible at all, and why the substitution scheme has to exist.

Reading the result

  • Because the code is derived, anyone who knows your name, birth date and birthplace can compute it. It is an identifier, not a secret, and should never be treated as proof of identity on its own.
  • The month letters are ABCDEHLMPRST, which skips I, N, O, Q and others. The gaps are deliberate: letters that could be misread as digits or as each other were left out, which is why April is D and not the fourth letter you might expect.
  • A validator that insists on digits in the numeric positions will reject legitimate omocodia codes. This one accepts them and reports when substitution has been applied, decoding the underlying date and town.
  • No generator is offered. Producing a codice fiscale from real personal details is exactly the capability a fraudulent form needs, and the calculation itself is what an Italian would already get from the tax authority.

Common questions

How is the Codice Fiscale check character calculated?
Each of the first fifteen characters is turned into a number: those in odd positions (1st, 3rd, 5th and so on) through a special conversion table, those in even positions by their plain value, with 0–9 counting 0 to 9 and A–Z counting 0 to 25. The values are added up, and the remainder of the sum divided by 26 gives the letter, 0 being A and 25 being Z. If the sixteenth character differs, this tool shows the one it expected.
Why does my codice fiscale differ from the one an online calculator gives?
Usually because of omocodia: when your details produce the same code as someone already registered, the Agenzia delle Entrate replaces one or more digits with letters and recalculates the control character. The code that counts is the one assigned to you and printed on your tessera sanitaria, not the one a calculator derives. This tool accepts omocodia codes and says when substitution has been applied.
How can I verify a codice fiscale officially?
The Agenzia delle Entrate has a free online service that checks whether a codice fiscale is registered in the tax register. This tool checks only the structure and the control character and decodes the recorded sex, birth date and place-of-birth code; it cannot tell you whether the code exists or who holds it. A place code starting with Z means the person was born abroad, with the digits identifying the country.