Italy Codice Fiscale Checksum Validator & Decoder

Validate a 16-character Italian Codice Fiscale's check character and decode the embedded birth year, month, day, and gender — entirely in your browser.

Checked 100% in your browser — your number is never transmitted or stored.

How to Use the Codice Fiscale Checksum Validator

  1. Type or paste a 16-character Codice Fiscale into the box above.
  2. Click Check. The tool verifies the structure and recomputes the official check character.
  3. Read the decode table for the encoded birth year, month, day, and gender.
  4. Nothing you type is uploaded anywhere — the whole calculation runs as plain JavaScript in your browser tab.

How a Codice Fiscale Encodes Personal Data

Italy's Codice Fiscale is unusual among the codes in this tool family: it isn't just a random identifier with a check digit — its first 15 characters actually encode personal information, assigned by Italy's Agenzia delle Entrate (Revenue Agency):

  • Characters 1–3: Derived from the surname's consonants (vowels fill in if there aren't three consonants).
  • Characters 4–6: Derived from the first name's consonants the same way.
  • Characters 7–8: The last two digits of the birth year.
  • Character 9: A letter code for the birth month — A=January, B=February, C=March, D=April, E=May, H=June, L=July, M=August, P=September, R=October, S=November, T=December. (Several letters are deliberately skipped so no digit/letter pair is ambiguous.)
  • Characters 10–11: The birth day — for men, the day itself (01–31); for women, the day plus 40 (41–71). This is how a single field encodes both day-of-birth and gender.
  • Characters 12–15: A 4-character "Belfiore" cadastral code identifying the municipality (or country, for those born abroad) of birth.
  • Character 16: A check character computed from all 15 preceding characters.

The Checksum: Odd/Even Position Tables

The 16th character is computed by assigning every one of the first 15 characters a numeric value from one of two lookup tables — one for characters in odd positions (1st, 3rd, 5th…), one for even positions (2nd, 4th, 6th…) — summing all 15 values, and taking the result modulo 26 to pick a letter A–Z. The two tables use deliberately different, "scrambled" values so that swapping two adjacent characters (a very common typo) changes the final sum and gets caught.

Worked Example

RCCMNL83S18D969H
is a published, structurally-valid test value: birth year 83 (1983), birth month S → November, and day/gender field 18 → day 18, Male (since 18 is under 41, no +40 offset was applied). The check character H matches what this tool recomputes from the first 15 characters.

Omocodia: When Two People Would Get the Same Code

If the algorithm would generate an identical code for two different people (a real risk in a country with common names), the Agenzia delle Entrate resolves it through omocodia: one or more of the seven numeric positions (7, 8, 10, 11, 13, 14, 15) gets a digit replaced with a letter from a fixed substitution table (0→L, 1→M, 2→N, 3→P, 4→Q, 5→R, 6→S, 7→T, 8→U, 9→V). This tool's format pattern accepts those substituted letters so an omocodia code still validates its checksum correctly — but the birth-date/gender decoder in the table above expects actual digits in those slots, so an omocodia code's date fields may show as undecoded in this specific tool.

What This Tool Does NOT Do

This checks structure and checksum only. It does not query the Agenzia delle Entrate database, cannot confirm the code is actually issued, and does not attempt to decode the 4-character Belfiore municipality code to an actual place name (that requires the full, several-thousand-entry official comuni reference table, which is out of scope here).

Frequently Asked Questions

Is my Codice Fiscale uploaded anywhere? No — everything runs locally in your browser tab.

Can this tool tell me which comune (town) someone was born in? No — it shows the raw 4-character Belfiore code but doesn't map it to a place name.

Does a valid checksum mean the code is real? No — it means the code is internally consistent, not that it's actually issued to a real person.

Is this tool free? Yes, completely free, with no login and no usage limit.

A free browser tool by Toolzer Hub. It runs on your device; files you add are not uploaded. More free tools