Calculation
12 min read23 December 2025

How to Calculate the Italian Tax Code: Complete Step-by-Step Guide

Learn how to calculate the Italian Tax Code (Codice Fiscale) easily and quickly. Complete guide with practical examples, explained algorithm and special cases. Updated 2025.

Guide to calculating the Italian Tax Code
Guide to calculating the Italian Tax Code

What is the Italian tax code (codice fiscale)?

Learning how to calculate the Italian tax code by hand starts with knowing what the thing actually is. The codice fiscale is a 16-character alphanumeric string that uniquely identifies every Italian citizen, plus every foreign resident who deals with the Italian system. It was introduced in 1973 under Presidential Decree no. 605, and it's administered by the Italian Revenue Agency (Agenzia delle Entrate).

Here's the part people underestimate. The code isn't random. Every character is derived from your personal data through a fixed algorithm, which means you can reconstruct it yourself with nothing more than a name, a birth date, and a place of birth.

You'll need it for almost anything official in Italy:

  • Opening a bank account
  • Signing an employment contract
  • Buying or selling property
  • Registering with the National Health Service (and getting your Italian health card)
  • Filing tax returns
  • Enrolling in schools and universities
  • Setting up utilities — electricity, gas, water, the lot

Did you know?

There are over 60 million active tax codes in Italy. The model is tidy enough that other European countries have borrowed the idea.

The 16-character structure

Before we touch the algorithm, look at the map. Those 16 characters aren't a soup — they sit in fixed blocks, and each block has a job. Once you can read the structure, the rest is just filling in slots.

PositionCharactersMeaning
1-3RSS3 letters from the surname
4-6MRA3 letters from the first name
7-885Last 2 digits of the birth year
9CMonth letter (A=Jan, B=Feb, …)
10-1115Day of birth (+40 for women)
12-15H501Municipality cadastral code
16SControl character (CIN)

A worked example: RSSMRA85C15H501S. That belongs to Mario Rossi, born on 15 March 1985 in Rome. Read it left to right and you can see the man's whole identity packed into a single line. Want the full anatomy? Our deep dive on the tax code structure breaks down each block in detail.

Step 1: surname calculation (3 letters)

The first three letters come from your surname. The rules are short:

  1. Pull the consonants out in the order they appear.
  2. If you have at least three, take the first three. Done.
  3. If you have fewer than three, top up with the vowels, in order.
  4. Still short of three letters total? Pad with X.

Practical examples:

ROSSI → consonants R, S, S → RSS

SMITH → consonants S, M, T, H → first three → SMT

AIELLO → consonants L, L → then vowels A, I → LLA

FO → consonant F → vowel O → add X → FOX

Watch out for compound surnames

Surnames like "DE LUCA" or "LA ROSA" are treated as one word, spaces removed: DELUCA → DLC, LAROSA → LRS. Drop the space and the rule behaves normally.

Step 2: name calculation (3 letters)

The first name works almost the same way, with one twist that trips up beginners every single time. When the name has four or more consonants, you skip the second one.

  • Four or more consonants? Take the 1st, 3rd and 4th — not the first three.
  • Exactly three consonants? Take all three.
  • Fewer than three? Add vowels in order, then X if you're still short.

Practical examples:

MARIO → consonants M, R → vowels A, I, O → MRA

FRANCESCO → consonants F, R, N, C, S, C (≥4) → 1st, 3rd, 4th → FNC

GIUSEPPE → consonants G, S, P, P (≥4) → 1st, 3rd, 4th → GPP

ADA → consonant D → vowels A, A → DAA

Why the odd skip-the-second rule? It exists to cut down on omocodia — the rare case where two different people would otherwise land on the identical code. More on that below.

Step 3: date of birth and gender (5 characters)

Positions 7 through 11 pack in the date of birth and the person's gender. Three small parts.

Year (2 digits)

Just the last two digits of the birth year. 1985 becomes 85; 2001 becomes 01.

Month (1 letter)

Each month maps to a letter. The pattern isn't alphabetical, so keep this table handy:

JanFebMarAprMayJunJulAugSepOctNovDec
ABCDEHLMPRST

Day and gender (2 digits)

This is the clever bit. The two digits encode the day and the sex at the same time:

  • Men: the birth day exactly as it is (01–31).
  • Women: the birth day plus 40 (41–71).

A man born on the 15th15

A woman born on the 15th → 15 + 40 = 55

So any day value above 31 is an instant tell: the person is female. Neat, right?

Step 4: municipality code (4 characters)

Positions 12 to 15 hold the cadastral code — also called the Belfiore code — of the place of birth. One letter followed by three digits. Every Italian municipality has one, and every foreign country has one too, for people born abroad.

The official list is maintained by the Italian Revenue Agency (Agenzia delle Entrate). Here are a few you'll see constantly:

H501

Rome

F205

Milan

F839

Naples

L219

Turin

Born outside Italy? Then the code starts with Z, followed by three digits that name the country. A handful of common ones:

  • France → Z110
  • Germany → Z112
  • United Kingdom → Z114
  • Spain → Z131
  • United States → Z404

Don't know the code for your birthplace?Our calculator looks it up for you →

Step 5: the control character (CIN)

The 16th and final character is the control character, or CIN. It's a checksum: a single letter derived from the first 15 characters, designed to catch typos. Mistype one character anywhere in the code, and the check letter no longer matches.

The math behind it is fiddly — odd and even positions get different value tables — but the logic is easy to follow:

  1. Characters in odd positions (1, 3, 5, …) get a value from table A.
  2. Characters in even positions (2, 4, 6, …) get a value from table B.
  3. Sum every value.
  4. Divide by 26 and keep the remainder.
  5. The remainder maps to a letter: 0=A, 1=B, …, 25=Z.

Skip the manual math

Nobody computes this by hand for fun. Paste any code into ourtax code validator and it confirms the control character in a fraction of a second.

A complete worked example

Let's run the whole thing end to end for Maria Bianchi, born on 22 July 1990 in Florence:

1

Surname: BIANCHI

Consonants B, N, C, H → first three → BNC

2

Name: MARIA

Consonants M, R (only two) + vowels A, I → MRA

3

Year: 1990 → 90

4

Month: July → L

5

Day: 22 (woman) → 22 + 40 = 62

6

Municipality: Florence → D612

7

Control character → X

Final result: BNCMRA90L62D612X

Special cases

Apostrophes and accents

Punctuation and accents are simply ignored. Only the plain A–Z letters count, so D'ANGELO collapses to DANGELO (→ DNG) and NICOLÒ becomes NICOLO (→ NCL). Foreign letters get folded too: ü→U, ö→O, ñ→N.

Names shorter than three letters

When a name or surname has fewer than three usable letters, you pad the gap with X.

  • BO → BOX
  • LI → LIX

Omocodia (duplicate codes)

Occasionally two people generate the exact same "natural" code — same initials, same birth date, same town. When that happens, the Revenue Agency steps in and swaps certain digits for letters using a fixed substitution table. So a code ending …H501S might become …H50MS for the duplicate. And here's the practical upshot: if your official code differs from the one you calculated, you're probably an omocodia case, not a victim of a mistake.

Need to confirm whose data a code belongs to? A reverse lookup decodes any tax code back into birth date, gender and birthplace.

Common errors to avoid when you calculate the Italian tax code

Most mistakes I see are small, repeatable, and easy to dodge once you know them. Scan this list before you trust a hand-built code:

  1. Confusing I with 1, or O with 0. The first six positions and the final check character are always letters — never digits.
  2. Picking the wrong municipality code. Towns with near-identical names have different Belfiore codes; verify the right one.
  3. Forgetting the +40 for women. The single most common manual slip.
  4. Using residence instead of birthplace. The code encodes where you were born, not where you live now. People move; the code doesn't follow.
  5. Mishandling compound surnames. Use every part, glued together, no spaces.

Important

Spot a genuine error in your official tax code? You can't fix it yourself. Contact the Italian Revenue Agency and request a correction. Want to compare against a clean result first? Run our guide to calculation errors.

Frequently asked questions

How do I calculate the Italian tax code from just a name and birth date?

You apply five steps in order: three letters from the surname, three from the first name, two digits for the birth year, one letter for the month, two digits for the day (add 40 for women), then the four-character municipality code and the final check letter. Every step is deterministic, so the same inputs always produce the same code.

Can I work out the codice fiscale entirely by hand?

Steps 1 through 4 are genuinely doable on paper. Step 5, the control character, is where most people give up — it needs two lookup tables and modulo-26 arithmetic. For accuracy and speed, an automated calculator is the sensible choice.

Is a hand-calculated tax code legally valid?

No. Only the code issued by the Italian Revenue Agency is official. The algorithm lets you predict and double-check a code, but the version recorded by the Agency is the one that counts — especially in omocodia cases, where the official code is deliberately altered.

What's the cadastral code for someone born abroad?

It starts with the letter Z plus three digits for the country. For example France is Z110, Germany is Z112, the United Kingdom is Z114, and the United States is Z404. The home town never appears for foreign-born people — only the country.

Why doesn't my calculated code match my official one?

The usual culprit is omocodia. If someone else already held your "natural" code, the Agency swapped one or more digits for letters, so your official code legitimately differs from the textbook calculation. A double-check with our validator will tell you whether the rest of the structure is sound.

Does the tax code change if I move house or change my name?

A house move never changes it, because the code is built from your birthplace, not your address. A legal name change can trigger a new code, since the first six letters depend on your name — but that's handled by the Agency, not by you.

Ready to calculate the Italian tax code?

Skip the tables and the modulo math — our free, fast and fully private calculator does all five steps for you.

Calculate now — it's free

Official Sources