Carattere di Controllo del Codice Fiscale

Come si calcola l'ultima lettera del codice fiscale: l'algoritmo Luhn spiegato passo per passo, con le tabelle dei valori pari e dispari e un esempio numerico verificato secondo il D.M. 12 maggio 1995.

L'ultima lettera del codice fiscale, quella che chiude la sequenza dei 16 caratteri, è un carattere di controllo: non racchiude alcun dato anagrafico, ma è il risultato di un calcolo matematico applicato ai 15 caratteri precedenti. La sua funzione è permettere a banche, pubblica amministrazione e Agenzia delle Entrate di verificare istantaneamente che un codice fiscale sia formalmente corretto, senza dover consultare alcun database. In questa guida spieghiamo a cosa serve, come si calcola e come usarlo per capire se un codice è valido o contiene un errore.

Vuoi verificare se un codice fiscale è corretto senza fare i calcoli a mano? Usa il nostro calcolatore codice fiscale, che applica l'algoritmo ufficiale e ti restituisce immediatamente il carattere di controllo.

A cosa serve il carattere di controllo

Il carattere di controllo (in inglese check digit) è un meccanismo di sicurezza informatica pensato per intercettare gli errori di battitura. Si basa su un principio semplice ma efficace: se anche un solo carattere tra i primi 15 viene scritto male, la lettera finale non corrisponde più al valore atteso, e il codice viene rifiutato automaticamente dal sistema.

Questo sistema protegge ogni transazione in cui il codice fiscale viene digitato a mano: apertura di un conto bancario, iscrizione al servizio sanitario, invio di una dichiarazione dei redditi, stipula di un contratto. Senza il carattere di controllo, un banale scambio di due cifre (per esempio 73 al posto di 37) passerebbe inosservato e finirebbe per associare l'operazione alla persona sbagliata.

L'algoritmo alla base, definito dal D.M. 12 maggio 1995, è una variante del metodo di Luhn, uno schema di checksum inventato negli anni Sessanta per i numeri delle carte di credito e ancora oggi usato in moltissimi sistemi di identificazione numerica.

Come si calcola: l'algoritmo passo per passo

Il calcolo del carattere di controllo segue quattro passaggi fissi. Vediamoli in ordine, prima della teoria, perché la logica è lineare una volta capita la struttura.

  1. Si prendono i primi 15 caratteri del codice fiscale.
  2. A ciascun carattere viene assegnato un valore numerico, usando due tabelle diverse a seconda che occupi una posizione dispari (1ª, 3ª, 5ª...) o pari (2ª, 4ª, 6ª...).
  3. Si sommano tutti i valori ottenuti.
  4. Si calcola il resto della divisione della somma per 26. Il resto, un numero da 0 a 25, corrisponde a una lettera dell'alfabeto (0=A, 1=B, ..., 25=Z). Quella lettera è il carattere di controllo.

L'uso di due tabelle separate per pari e dispari non è un vezzo estetico: serve a rendere l'algoritmo sensibile all'ordine dei caratteri. Se due caratteri vengono scambiati di posto, la loro posizione (pari o dispari) cambia, e di conseguenza cambiano i valori assegnati. Questo fa sì che anche una semplice inversione venga intercettata.

Le tabelle dei valori pari e dispari

Queste sono le tabelle di conversione ufficiali previste dal decreto. Le cifre da 0 a 9 e le lettere da A a Z vengono convertite in numeri con criteri diversi a seconda della posizione occupata.

Tabella valori per posizione PARI

In posizione pari la conversione è semplice e sequenziale: ad ogni carattere corrisponde la sua posizione nell'alfabeto (le cifre 0-9 equivalgono alle lettere A-J).

Carattere Valore Carattere Valore Carattere Valore
0 / A0J / 99T19
1 / B1K10U20
2 / C2L11V21
3 / D3M12W22
4 / E4N13X23
5 / F5O14Y24
6 / G6P15Z25
7 / H7Q16
8 / I8R17
S18

Tabella valori per posizione DISPARI

In posizione dispari la conversione segue una sequenza non ordinata, studiata appositamente per massimizzare la capacità dell'algoritmo di rilevare gli errori.

Carattere Valore Carattere Valore Carattere Valore
0 / A1J / 921T14
1 / B0K2U16
2 / C5L4V10
3 / D7M18W22
4 / E9N20X25
5 / F13O11Y24
6 / G15P3Z23
7 / H17Q6
8 / I19R8
S12

Notate un dettaglio importante: le cifre e le lettere condividono lo stesso valore. Per esempio, la lettera B e la cifra 1 valgono entrambe 0 in posizione dispari e 1 in posizione pari. Questo perché nel codice fiscale non c'è ambiguità tra una lettera e un numero nella stessa posizione: il sistema sa sempre quale sta leggendo.

Tabella di conversione del resto in lettera

Una volta sommati tutti i valori e diviso per 26, il resto va convertito nella lettera di controllo finale. La corrispondenza è diretta: si contano le lettere dell'alfabeto partendo da A.

Resto Lettera Resto Lettera Resto Lettera
0A9J18S
1B10K19T
2C11L20U
3D12M21V
4E13N22W
5F14O23X
6G15P24Y
7H16Q25Z
8I17R

Esempio numerico verificato: calcoliamo la W

Vediamo l'algoritmo in azione su un codice fiscale reale. Prendiamo i primi 15 caratteri di un codice ipotetico di Marco Rossi, nato a Roma il 15 dicembre 1973:

R S S M R A 7 3 T 1 5 H 5 0 1

Suddividiamo i caratteri in posizione dispari e pari, applichiamo le rispettive tabelle e sommiamo.

Caratteri in posizione DISPARI (1, 3, 5, 7, 9, 11, 13, 15)

Posizione 1 3 5 7 9 11 13 15
CarattereRSR7T551
Valore8128171413130

Somma dispari = 8 + 12 + 8 + 17 + 14 + 13 + 13 + 0 = 85

Caratteri in posizione PARI (2, 4, 6, 8, 10, 12, 14)

Posizione 2 4 6 8 10 12 14
CarattereSMA31H0
Valore181203170

Somma pari = 18 + 12 + 0 + 3 + 1 + 7 + 0 = 41

Calcolo finale

Somma totale = 85 + 41 = 126

Divisione per 26: 126 ÷ 26 = 4 con resto di 22

Nella tabella di conversione, il resto 22 corrisponde alla lettera W.

Il codice fiscale completo è quindi:

R S S M R A 7 3 T 1 5 H 5 0 1 W

Questa è la lettera che compare come 16° carattere del codice fiscale di Marco Rossi. Cambiate anche un solo carattere dei primi 15, e il calcolo darà una lettera diversa, rendendo il codice immediatamente non valido.

Come verificare se un codice fiscale è corretto

Il calcolo del carattere di controllo è il primo livello di verifica che qualsiasi sistema informatico applica a un codice fiscale. Se l'ultima lettera non coincide con quella che l'algoritmo produce a partire dai primi 15 caratteri, il codice viene scartato senza ulteriori controlli.

Esistono due livelli di verifica:

Vuoi verificare un codice fiscale senza fare i calcoli a mano? Il nostro calcolatore codice fiscale applica l'algoritmo ufficiale in tempo reale: inserisci i dati anagrafici e ottieni il codice completo con il carattere di controllo calcolato.

Limiti del carattere di controllo

È importante capire cosa il carattere di controllo può e non può fare. Può rilevare la stragrande maggioranza degli errori di battitura: cifre sbagliate, lettere invertite, caratteri omessi. Non può invece garantire che il codice appartenga a una persona esistente, né che i dati anagrafici siano veri.

Esiste anche un limite matematico: in casi molto rari, due errori contemporanei possono compensarsi a vicenda e produrre una lettera di controllo formalmente corretta. La probabilità è bassa, ma non nulla. È per questo che la verifica formale è solo il primo filtro, e che per le operazioni sensibili (apertura di un rapporto bancario, stipula di un contratto) è sempre richiesta anche la verifica di esistenza presso l'Agenzia delle Entrate.

Domande frequenti

Posso calcolare l'ultima lettera del codice fiscale a mano?

Sì, ma è un'operazione laboriosa. Servono le tre tabelle di conversione (valori dispari, valori pari, resto-lettera) e un po' di pazienza per applicarle ai 15 caratteri senza sbagliare. Per un controllo rapido è molto più pratico usare un calcolatore basato sull'algoritmo ufficiale.

Il carattere di controllo rende il codice fiscale univoco?

No. L'univocità del codice fiscale dipende dalla combinazione dei dati anagrafici (cognome, nome, data e luogo di nascita), non dal carattere di controllo. Come spiegato nella nostra guida sull'omocodia, due persone con gli stessi dati anagrafici possono ricevere lo stesso codice fiscale: in quel caso l'Agenzia delle Entrate interviene attribuendo un codice diverso.

Se cambio un dato anagrafico cambia anche l'ultima lettera?

Sì, quasi sempre. Modificando anche un solo carattere tra i primi 15 (per esempio correggendo una data di nascita), la somma dei valori cambia e quindi cambia il resto della divisione per 26, producendo un carattere di controllo diverso. È esattamente così che il sistema rileva le discrepanze.

Admeto Verde

Articolo a cura di Admeto Verde

Fondatore e direttore editoriale di AlgoSintesi. L'algoritmo di calcolo e le tabelle di conversione riportate seguono le regole stabilite dal D.M. 12 maggio 1995 (Gazzetta Ufficiale n. 129).

LinkedIn ↗

Approfondimenti correlati: