Skip to main content

Italy Codice Fiscale Validator

Online validator for Italian Codice Fiscale. Verifies structure, month code, and CIN check character integrity.

How does Codice Fiscale validation work?

The validator strips spacing, checks the 16-character length, confirms the alphanumeric pattern, and verifies that the month code belongs to the official 12-letter set (A-E, H, L, M, P, R-T).

It computes the weighted sum of odd and even characters using official Agenzia delle Entrate tables and validates the final Modulo 26 control character (CIN).

Anatomy & Structure of Italian Codice Fiscale (16 Characters)

The Italian Fiscal Code comprises 16 alphanumeric characters distributed across 6 functional blocks:

PositionFieldLengthMeaning & RuleExample
1 to 3Surname (Cognome)3 lettersFirst 3 consonants of family surnameRSS
4 to 6First Name (Nome)3 letters1st, 3rd and 4th consonants of first name (or first ones if < 4)MRA
7 & 8Birth Year2 digitsLast 2 digits of the birth year85
9Birth Month1 letterAlphabetic month code (A to T, skipping non-standard letters)M
10 & 11Day & Gender2 digitsDay of birth: 01-31 for males; 41-71 for females (+40)01
12 to 15Cadastral Code (Belfiore)4 charsBelfiore code identifying birth municipality or foreign countryH501
16Control Character (CIN)1 letterChecksum letter derived via Modulo 26 with odd/even weight tablesQ

Codice Fiscale Validation Algorithm (Modulo 26 CIN)

The Agenzia delle Entrate determines the CIN character via separate odd and even character weights:

CIN = char(65 + (sum(odd_weight(c_i)) + sum(even_weight(c_j))) % 26)
  1. 1. Extract the first 15 characters of the code (0-indexed 0 to 14).
  2. 2. For characters at odd positions (1st, 3rd, 5th... index 0, 2, 4...), map using the official odd weights table.
  3. 3. For characters at even positions (2nd, 4th, 6th... index 1, 3, 5...), map using the official even weights table.
  4. 4. Sum all mapped weight values.
  5. 5. Compute the remainder modulo 26: Remainder = Total % 26.
  6. 6. The 16th character must match the letter corresponding to the remainder (0=A, 1=B, ..., 25=Z).

Frequently Asked Questions