Technical
10 min read23 December 2025

Omocodia in Italian Tax Code: What It Is and How It Works

Discover what omocodia is in the Italian Tax Code, why it occurs, how the Revenue Agency resolves it, and the digit-to-letter substitution table.

Technical aspects of the Tax Code
Technical aspects of the Tax Code

What is omocodia (tax code homonymy)?

Omocodia (tax code homonymy) is the Italian term for what happens when two different people end up with the exact same codice fiscale. Same Italian tax code, two humans. The algorithm never meant for that to happen, yet with tens of millions of people it sometimes does.

Why does it occur at all? Because the codice fiscale is built from a fixed, fairly small set of inputs:

  • Surname (the first consonants and vowels)
  • First name (same logic, with one extra rule when there are four or more consonants)
  • Date of birth
  • Gender
  • Municipality of birth

Feed two people the same surname consonants, the same name, the same birthday, the same gender and the same town, and the standard algorithm hands them an identical "natural" code. There is nothing random in it. The output is fully determined by those five fields, so collisions are mathematically inevitable once the population is large enough.

Where the word comes from

"Omocodia" is Greek-Italian: homos (same) glued to codice (code). Literally, "same code". We keep the Italian word here because that is the term the Italian Revenue Agency (Agenzia delle Entrate) itself uses on official documents.

Why omocodia happens

Two forces are at work, and neither is a bug. The first is plain arithmetic.

Limited combinations

The encoding produces a finite number of distinct codes. With more than 60 million residents in Italy, plus millions of foreign-born citizens, some combinations are bound to repeat. There is no way around it short of redesigning the whole format.

Demographic clustering

Then there is the human side. Certain profiles collide far more often than chance alone would suggest:

  • Common surnames: Rossi, Russo, Ferrari, Esposito, Bianchi
  • Common first names: Mario, Giuseppe, Francesco, Maria, Anna
  • Big cities: Rome, Milan, Naples — more births, more overlap
  • Symbolic dates: January 1st (the fallback for unknown dates), Christmas, New Year

A textbook collision:

Two men named Mario Rossi, both born in Rome on 15 March 1985, would both compute toRSSMRA85C15H501X

One code, two taxpayers. The state cannot let that stand — every tax position has to map to exactly one person.

How omocodia is resolved

The Italian Revenue Agency (Agenzia delle Entrate)resolves a collision by swapping selected digits for letters, following a fixed conversion table. The mechanism dates back to Presidential Decree (DPR) 605/1973, the law that established the codice fiscale in the first place.

The substitution runs in a strict order: it starts from the rightmost digit (position 15, the last one before the check character) and works leftward until the code is unique again. First person to register keeps the clean code; the next one gets the first substitution, and so on.

Order of substitution

  1. Position 15 first (the last digit before the CIN)
  2. Then position 14
  3. Then position 13
  4. And on it goes, leftward, as far as position 7 (the year)

One detail trips people up. The control character (CIN, position 16) is recalculated after every single substitution — so it changes too. Miss that, and your validation logic will reject a perfectly legitimate code.

Digit-to-letter substitution table

Here is the official conversion the Revenue Agency applies. Read it as "this digit becomes this letter":

Digit0123456789
LetterLMNPQRSTUV

An easy way to remember it

The letters run in alphabetical order — L, M, N, P, Q, R, S, T, U, V — deliberately skipping the ones that could be mistaken for numbers (no I, no O) and a few others. Ten digits, ten clean letters.

The seven levels of omocodia

Omocodia comes in seven levels, one for each digit the agency has had to replace. The more people share the same base code, the deeper it has to dig.

Level 0No substitution — the standard, untouched code
Level 1One digit replaced (position 15)
Level 2Two digits replaced (positions 14-15)
Level 3-7Three to seven digits replaced — genuinely rare territory

In practice, almost everything resolves at level 1 or 2. Anything beyond that is unusual, and a level-7 code (every replaceable digit turned into a letter) is the sort of thing tax-office veterans mention once a career.

A worked example, level by level

Theory is fine. Let's watch the resolution happen on a real string, the same Mario Rossi from earlier.

Original code (person 1):

RSSMRA85C15H501X

Level-1 omocodia (person 2):

RSSMRA85C15H50MY

(the 1 at position 15 becomes M; the check character is recalculated to Y)

Level-2 omocodia (person 3):

RSSMRA85C15H5LMZ

(0 becomes L and 1 becomes M at positions 14-15; check character recalculated to Z)

Notice the final letter shifting from X to Y to Z. That is the recalculated CIN at work — it tracks every change, which is exactly why you cannot just eyeball it.

Want to see the breakdown for a specific surname and town? Generate the base code with our tax code calculator and compare it against what you already have on file.

How to verify a tax code with omocodia

So how do you tell whether a codice fiscale carries omocodia? Three quick checks:

  1. Look for letters sitting in the numeric positions (7-8, 10-11, 13-15)
  2. If you spot L, M, N, P, Q, R, S, T, U or V there, it's almost certainly an omocodia case
  3. Confirm the control character still matches — by hand this is painful, so let a tool do it

Our checker spots omocodia automatically and re-validates the CIN for you.Verify a tax code

Working the other way around — you have a code and want to read the data back out of it? The reverse lookup tool decodes birth date, gender and birthplace even from an omocodia-modified string. For cross-checking what's printed on your card, the health card guide explains where the official code lives.

Common problems with omocodia

For the citizen, an omocodia code behaves like any other. The friction shows up in software that wasn't built to expect it. Three patterns come up again and again:

Outdated systems

Some legacy platforms don't recognise codes with letters in numeric slots and flag them as invalid.

Naive online calculators

Most free calculators only ever produce the standard code — they have no way of knowing the agency assigned you a modified one.

Document mismatches

Your computed code won't match your official one if you're an omocodia case. That mismatch is expected, not an error on your part.

The rule that settles every dispute

If your calculated code doesn't match the one on your Italian health card (tessera sanitaria), you're probably an omocodia case. The official code is whatever the Italian Revenue Agency (Agenzia delle Entrate) issued — that one always wins. Want the deeper mechanics? See our guides on the tax code structure and the control character (CIN).

Statistics and curiosities

A few numbers that put omocodia in perspective:

  • Roughly 1-2% of Italian tax codes are estimated to involve omocodia
  • The cities with the most cases are Rome, Milan and Naples
  • The hardest-hit surnames? Rossi, Russo, Ferrari, Esposito, Bianchi
  • The peak collision dates are 1 January and 25 December
  • In theory, up to 128 different valid codes can sit behind a single set of personal data — a ceiling almost nobody ever reaches, but it exists

Curious whether your own code is one of them? It takes about ten seconds to find out, and you'll learn something either way.

Frequently asked questions

How do I know if I'm an omocodia (tax code homonymy) case?

Compare your calculated codice fiscale with the one on your tessera sanitaria. If they differ — especially in the last few characters, where digits have become letters — you're an omocodia case. A quick check tool removes the guesswork.

Can I ask to change my omocodia code?

No. An omocodia code is fully valid and uniquely yours, so there's no reason to change it and no procedure to do so. It is your official Italian tax code, full stop.

Is an omocodia tax code less valid than a normal one?

Not in the slightest. It carries identical legal weight. The only difference is that one or more digits were swapped for letters to keep it unique — the code still encodes the same person.

Can omocodia cause legal or tax problems?

Not if you always use the official code issued by the Italian Revenue Agency (Agenzia delle Entrate). Modern systems handle omocodia correctly; the rare issues come from outdated software, not from the code itself.

Will online services accept my omocodia code?

Properly built systems will. If a service rejects yours, it's almost always a validation bug on their end — report it to their support and quote your official code. You're not the one in the wrong.

Why are there letters where I'd expect numbers in my tax code?

That's the visible fingerprint of omocodia. To break a tie with someone who shares your base code, the agency converted certain digits to letters using a fixed table. Those letters are intentional, not typos.

Check for omocodia (tax code homonymy) in seconds

Our tool recognises omocodia automatically and re-validates the control character for you

Verify a tax code now