The structure of the tax code at a glance
The structure of the tax code packs a surprising amount of personal data into just 16 alphanumeric characters. Every position in the Italian codice fiscale carries a defined meaning, and the whole sequence is built from rules laid down by Presidential Decree No. 605/1973. Nothing here is random.
Read it the right way and the code almost talks back to you: your surname, your first name, the day you were born, the town you were born in. It looks cryptic. It really isn't, once you know where to look.
Below is the map. Each block that follows breaks down one slice of those 16 characters, with real examples and the edge cases that trip people up. Want the full birds-eye view first?
RSSMRA85C15H501S
| Position | Characters | Information |
|---|---|---|
| 1-3 | RSS | Surname |
| 4-6 | MRA | First name |
| 7-8 | 85 | Birth year |
| 9 | C | Birth month |
| 10-11 | 15 | Day and gender |
| 12-15 | H501 | Municipality of birth |
| 16 | S | Control character |
One quick note before we start. These rules are designed for Italian-style names, so foreign names get processed through the same machinery anyway. Smith, Müller, Nowak — they all fit. We'll get to that.
Characters 1-3: the surname
The first three letters come from your surname. The algorithm is picky but consistent, and it always runs in the same order:
- Take the consonants of the surname, in the order they appear.
- If there are fewer than three consonants, top it up with the vowels, in order.
- Surname shorter than three letters total? Pad it with the letter X.
A few worked examples
- ROSSI → consonants R, S, S →
RSS - SMITH → consonants S, M, T →
SMT - AIELLO → consonants L, L, then vowel A →
LLA - LEE → consonant L, then vowels E, E →
LEE
Compound surnames like "De Rossi" or "Lo Presti" are treated as one string — spaces dropped, then the rule runs as usual. And for married women, the maiden name is always the one that counts, never the spouse's. Small detail, big source of confusion at the registry desk.
Characters 4-6: the first name
Positions four to six encode your first name. Same spirit as the surname, with one twist that catches everyone out the first time:
- Four or more consonants in the name? Take the 1st, 3rd, and 4th — skipping the second.
- Fewer than four consonants? Fall back to the plain surname rule.
Examples
- MARIO → consonants M, R (only two) + vowel A →
MRA - GIUSEPPE → G, S, P, P → 1st, 3rd, 4th →
GPP - ALEXANDER → L, X, N, D, R → 1st, 3rd, 4th →
LND - ANNA → consonants N, N + vowel A →
NNA
Why skip the second consonant?
That "1st, 3rd, 4th" trick for longer names wasn't an accident. It was designed to spread codes further apart and cut the odds of omocodia — two different people landing on the exact same tax code.
Characters 7-8: the birth year
Characters seven and eight are the last two digits of your birth year. This is the easy part. No algorithm, no lookup table — just copy the digits.
- Born in 1985 →
85 - Born in 2000 →
00 - Born in 2024 →
24
There's a catch, though. Two digits can't tell 1924 apart from 2024. In practice this rarely bites, because the rest of the code — and the official records behind it — supply the missing century.
Character 9: the birth month
The ninth character is a single letter standing in for your birth month. Each month maps to its own letter — and the pairing is anything but alphabetical:
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
| A | B | C | D | E | H | L | M | P | R | S | T |
Notice the gaps. The designers deliberately skipped letters that look like digits (the letter "O" never shows up, since it reads as a zero). It's a tidy bit of defensive design hiding in plain sight.
Characters 10-11: day of birth and gender
Here's where the code gets clever. Characters ten and eleven carry two facts at once: the day you were born and your gender. One field, double duty.
- Men: the day of birth as it is, from 01 to 31.
- Women: the day of birth plus 40, landing in the 41 to 71 range.
Examples
- Born on the 15th, male →
15 - Born on the 15th, female →
55 - Born on the 1st, male →
01 - Born on the 1st, female →
41
A neat consequence: any value above 40 instantly flags a female record, with zero extra digits spent. Frugal, and a little bit elegant.
Characters 12-15: the municipality
Positions twelve to fifteen hold the cadastral code (Belfiore code) of your place of birth. The format splits cleanly in two:
- One letter followed by three digits for Italian municipalities.
- Letter Z plus three digits when the birthplace is a foreign country.
Sample cadastral codes
- Rome →
H501 - Milan →
F205 - Naples →
F839 - France →
Z110 - Germany →
Z112 - United Kingdom →
Z114 - United States →
Z404
These codes aren't fixed forever. The Italian Revenue Agency (Agenzia delle Entrate)maintains the register and updates it whenever towns merge, split, or are dissolved. So if you ever see a code that no longer matches a place on the map, that's usually why. If you're not sure which code applies to a given record, our reverse lookup tool can decode an existing code back into its birthplace and date.
Character 16: the control character (CIN)
The final character is the CIN (Control Internal Number) — a single letter the system computes from everything before it. Its only job is to catch mistakes.
The calculation isn't something you'd want to do by hand. Roughly, it works like this:
- Assign numeric values to each character, using different tables for odd and even positions.
- Add all those values together.
- Take the remainder of that sum divided by 26.
- Convert the remainder into a letter, where A equals 0 and Z equals 25.
Why bother? Because this last letter is a built-in error detector. It flags the everyday slip-ups:
- a single mistyped character
- two adjacent characters accidentally swapped
- most of the common keyboard fumbles you'd never spot by eye
If even one earlier character is wrong, the CIN won't line up — which is exactly how a validator knows something's off. Rather than recompute it manually, you can paste any code into our tax code checker and let it confirm the control letter in a second. Curious how the whole string gets assembled from scratch? Our guide on how to calculate the tax code walks through it step by step, and there's a dedicated deep-dive on the control character (CIN) too.
A quick honest caveat
The structure tells you how a code should be built — it can't, on its own, prove the code belongs to a real, registered person. Only the Italian Revenue Agency (Agenzia delle Entrate)can confirm that. Structural validity and official validity are two different things.
Frequently asked questions
What does the structure of the tax code actually encode?
Sixteen characters, in a fixed order: three for the surname, three for the first name, two for the birth year, one for the month, two for the day combined with gender, four for the cadastral code of the birthplace, and a final control letter. Each block is derived by a rule, not chosen freely.
Is the codice fiscale the same thing as the Italian tax code?
Yes — they're two names for the same identifier. "Codice fiscale" is the Italian term; "Italian tax code" is the everyday English rendering. Same 16 characters, same rules.
Can two different people get the same tax code?
It can happen, and it has a name: omocodia. When people share enough name letters, birth date, and birthplace, their codes collide. The Revenue Agency resolves it by swapping certain digits for letters to force the codes apart.
How is a foreign country coded in characters 12-15?
Foreign birthplaces use a code starting with the letter Z. For example, France is Z110, Germany is Z112, the United Kingdom is Z114, and the United States is Z404. The same Z-prefix logic covers every country.
Does the control character guarantee the code is real?
No. The control character (CIN) only confirms the 16 characters are internally consistent — that nobody fat-fingered a digit. To confirm a code is genuinely registered to a person, you need the Italian Revenue Agency's records. Structure and registration are separate checks.
How do I check a tax code without doing the math myself?
Use a tool. You can verify an existing code, generate one from personal data, or run a reverse lookup to read the data back out. If you also need the plastic card itself, the health card page covers the tessera sanitaria.
Why doesn't the month use letters in alphabetical order?
To avoid confusion with numbers. Letters that resemble digits (like "O" versus zero) are skipped on purpose, which is why the month codes look scattered rather than sequential.
See the structure of the tax code in action
Now that you can read all 16 characters, put it to work — generate, verify, or decode a codice fiscale in seconds.
Calculate now