Carattere di controllo del codice fiscale
Scrivi i primi quindici caratteri di un codice fiscale e lo strumento calcola l'ultima lettera, mostrando ogni passaggio: il valore di ciascun carattere, la somma, il resto della divisione per 26. Con sedici caratteri controlla anche la lettera già scritta.
Risultato
Scrivi i primi 15 caratteri e premi «Calcola»: la tabella dei passaggi comparirà qui.
Il codice è calcolato secondo le regole ufficiali (DM 23/12/1976), ma ha valore legale solo il codice fiscale rilasciato dall'Agenzia delle Entrate. I dati inseriti restano nel tuo browser.
Come si calcola l’ultima lettera del codice fiscale
L’ultima lettera del codice fiscale si calcola trasformando in numeri i primi quindici caratteri, sommandoli e convertendo in lettera il resto della divisione per 26. È un controllo di tipo aritmetico, pensato perché un errore in un solo carattere cambi il risultato e si noti subito. Il procedimento ha cinque passaggi.
- Numerare le posizioni. I quindici caratteri si numerano da 1 a 15. Le posizioni 1, 3, 5, 7, 9, 11, 13 e 15 sono dispari; le posizioni 2, 4, 6, 8, 10, 12 e 14 sono pari.
- Convertire i caratteri in posizione dispari. Ognuno vale il numero indicato dalla tabella dei dispari, che non segue alcun ordine apparente: la A vale 1, la B vale 0, la C vale 5.
- Convertire i caratteri in posizione pari. Qui la regola è più semplice: una cifra vale se stessa, una lettera vale il suo posto nell’alfabeto contando da zero, quindi A è 0, B è 1, C è 2.
- Sommare tutti i valori. Si sommano i quindici numeri ottenuti.
- Dividere per 26 e tradurre il resto. Il resto, compreso tra 0 e 25, indica la lettera: 0 è A, 1 è B, fino a 25 che è Z.
La lettera ottenuta va in sedicesima posizione. Per costruire un intero codice dai dati anagrafici, invece, serve il calcolatore del codice fiscale, che applica questo passaggio come ultimo.
Esempio pratico: il carattere di controllo di Marco Moretti
Per Marco Moretti, nato a Venezia il 18 giugno 1985, i primi quindici caratteri del codice sono MRTMRC85H18L736. La tabella mostra il valore di ognuno e la somma che si accumula.
| Posizione | Carattere | Tabella | Valore | Somma parziale |
|---|---|---|---|---|
| 1 | M | dispari | 18 | 18 |
| 2 | R | pari | 17 | 35 |
| 3 | T | dispari | 14 | 49 |
| 4 | M | pari | 12 | 61 |
| 5 | R | dispari | 8 | 69 |
| 6 | C | pari | 2 | 71 |
| 7 | 8 | dispari | 19 | 90 |
| 8 | 5 | pari | 5 | 95 |
| 9 | H | dispari | 17 | 112 |
| 10 | 1 | pari | 1 | 113 |
| 11 | 8 | dispari | 19 | 132 |
| 12 | L | pari | 11 | 143 |
| 13 | 7 | dispari | 17 | 160 |
| 14 | 3 | pari | 3 | 163 |
| 15 | 6 | dispari | 15 | 178 |
| 178 diviso 26: resto 22 | W |
I caratteri in posizione dispari danno una somma di 127 e quelli in posizione pari una somma di 51, per un totale di 178. Dividendo 178 per 26 si ottiene un resto di 22, che corrisponde alla lettera W. Il codice completo è quindi MRTMRC85H18L736W.
Approfondimento
Un'altra tabella a cui il codice si affida, quella delle lettere dei mesi, è spiegata nella guidatabella delle lettere dei mesi.
Tabella dei caratteri pari e dispari
Le due tabelle di conversione sono il cuore del calcolo, e si trovano qui sotto in forma completa: per ogni cifra e per ogni lettera, il valore che assume in posizione dispari e quello in posizione pari. La tabella dei pari è l’unica a seguire un criterio leggibile; quella dei dispari è fissata dal decreto e va presa così com’è.
| Carattere | Valore dispari | Valore pari |
|---|---|---|
| 0 | 1 | 0 |
| 1 | 0 | 1 |
| 2 | 5 | 2 |
| 3 | 7 | 3 |
| 4 | 9 | 4 |
| 5 | 13 | 5 |
| 6 | 15 | 6 |
| 7 | 17 | 7 |
| 8 | 19 | 8 |
| 9 | 21 | 9 |
| A | 1 | 0 |
| B | 0 | 1 |
| C | 5 | 2 |
| D | 7 | 3 |
| E | 9 | 4 |
| F | 13 | 5 |
| G | 15 | 6 |
| H | 17 | 7 |
| I | 19 | 8 |
| J | 21 | 9 |
| K | 2 | 10 |
| L | 4 | 11 |
| M | 18 | 12 |
| N | 20 | 13 |
| O | 11 | 14 |
| P | 3 | 15 |
| Q | 6 | 16 |
| R | 8 | 17 |
| S | 12 | 18 |
| T | 14 | 19 |
| U | 16 | 20 |
| V | 10 | 21 |
| W | 22 | 22 |
| X | 25 | 23 |
| Y | 24 | 24 |
| Z | 23 | 25 |
Le cifre e le lettere dei primi dieci posti dell’alfabeto hanno lo stesso valore: lo zero e la A, l’uno e la B, il due e la C, fino al nove e la J. Per le altre lettere, da K a Z, il valore in posizione dispari è proprio e non corrisponde a nessuna cifra.
CIN del codice fiscale: il nome dell’ultima lettera
L’ultima lettera si chiama carattere di controllo, ma in molti siti si trova indicata come CIN. È un uso diffuso e non del tutto corretto: la sigla CIN, nel linguaggio bancario, indica la lettera di controllo della parte nazionale dell’IBAN italiano, mentre per il codice fiscale il termine ufficiale resta carattere di controllo. Chi cerca la parola «CIN» in relazione al codice fiscale sta quasi sempre cercando l’ultima lettera, e questa pagina è quella giusta.
Sono due calcoli distinti, applicati a dati diversi: quello bancario riguarda ABI, CAB e numero di conto, quello del codice fiscale i dati anagrafici di una persona.
Ultima lettera del codice fiscale: cosa controlla e cosa no
L’ultima lettera segnala gli errori di trascrizione, non gli errori sui dati. Se in un codice si cambia un solo carattere, la somma cambia sempre e la lettera finale non torna più: lo garantisce il modo in cui sono costruite le tabelle, nelle quali ogni carattere ha un valore diverso dagli altri. L’unica eccezione riguarda una cifra e la lettera di pari valore, come lo zero e la A, che però non possono sostituirsi a vicenda per la struttura del codice.
Due caratteri scambiati di posto, invece, vengono notati nella maggior parte dei casi, ma non sempre, perché la somma può restare uguale. Un errore che coinvolge due caratteri, se si compensa per caso, passa inosservato. In compenso, il carattere di controllo non dice niente sull’esattezza dei dati: un codice con una data sbagliata ma costruita bene, ricalcolando la lettera finale, risulta valido.
Per controllare tutto il codice, e non solo l’ultima lettera, serve il percorso completo della controllare se un codice fiscale è corretto.
Come cambia la lettera con un codice omocodico
Quando una cifra viene sostituita da una lettera, il suo valore cambia e con lui cambia la somma: l’ultima lettera non può quindi restare quella del codice base. Nel codice di esempio, la sostituzione dell’ultima cifra dà il codice MRTMRC85H18L73ST. Il carattere in posizione 15 passa da 6, che in posizione dispari vale 15, a S, che vale 12. La somma sale da 178 a 175, il resto della divisione per 26 diventa 19, e la lettera finale passa da W a T.
Questo è uno dei motivi per cui un codice omocodico non si può ottenere cambiando a mano una cifra: serve ricalcolare l’ultima lettera ad ogni sostituzione.
Quanti errori rileva davvero il carattere di controllo
Prendendo il codice di esempio come campione, il carattere di controllo individua quasi tutti gli errori di battitura. Sostituendo ogni carattere dei primi quindici con ognuno degli altri trentacinque simboli possibili, si ottengono 525 errori diversi: 516 cambiano la lettera finale e vengono rilevati, mentre 9 la lasciano uguale. Questi ultimi sono tutti scambi tra una cifra e la lettera di pari valore, come lo zero e la A, che in un codice reale non possono presentarsi nella stessa posizione.
Per gli scambi di due caratteri vicini la protezione è meno completa. Nello stesso codice, le coppie di caratteri adiacenti diversi sono 14: scambiandole, 14 cambiano la lettera finale e 0 no. In questo esempio tutti gli scambi vengono rilevati, ma non è una garanzia valida per ogni codice: la somma può restare uguale quando i due caratteri invertiti, tenendo conto delle tabelle di posizione pari e dispari, si compensano a vicenda. Per controllare in una volta molti codici, per esempio un intero elenco, c’è la verifica di più codici fiscali.
Perché si usa la divisione per 26
Si divide per 26 per ottenere un resto che corrisponda a una delle 26 lettere dell’alfabeto latino, senza lettere accentate né simboli. L’idea è la stessa di molti codici di controllo: una somma pesata, cioè con valori diversi per posizione, e un resto che la riassume in un solo carattere.
La somma è «pesata» perché lo stesso carattere vale in modo diverso in posizione pari e dispari. Questo permette di notare anche lo scambio di due caratteri vicini, che con una semplice somma di valori uguali passerebbe sempre inosservato.
Casi particolari ed errori
Gli errori più frequenti nel calcolo a mano riguardano le posizioni e le tabelle. Per evitarli conviene scrivere i quindici caratteri in una riga, sotto ognuno il suo valore, e sommare separatamente i valori dei dispari e quelli dei pari, come nella tabella dell’esempio, prima di unirli: così le due tabelle non si mescolano.
- Posizioni contate da zero. Il primo carattere è in posizione 1, dispari. Se si parte da zero si scambiano le due tabelle e la lettera risulta sbagliata.
- Tabella dei pari usata per i dispari. Succede soprattutto con le cifre: nella tabella dei pari la cifra 5 vale 5, in quella dei dispari vale 13.
- Lettere minuscole. Le tabelle valgono per le maiuscole; lo strumento converte il testo da solo, ma nel calcolo a mano conviene scrivere tutto in maiuscolo.
- Codici omocodici. Con lettere al posto di alcune cifre i valori cambiano, e l’ultima lettera va ricalcolata ad ogni sostituzione: l’argomento è trattato nella pagina sull’omocodia.
- Codici di persone giuridiche. I codici numerici di undici cifre di aziende e società hanno un’altra regola di controllo e non si calcolano con questo strumento.
Per fare prove, o per avere codici validi con cui collaudare un programma, si può usare il generatore di codici fiscali, che calcola per ogni persona di prova la lettera finale con lo stesso procedimento.
Domande frequenti
L'ultima lettera del codice fiscale si può scegliere?
No. È sempre il risultato di un calcolo sui primi quindici caratteri: dati gli stessi caratteri, la lettera è una sola. Se non coincide, il codice contiene un errore.
Perché si divide per 26?
Perché le lettere dell'alfabeto usato sono 26. Il resto della divisione, che va da 0 a 25, indica una lettera: 0 corrisponde ad A, 1 a B e così via fino a 25, che corrisponde a Z.
Le posizioni si contano da zero o da uno?
Da uno. La prima lettera del cognome è in posizione 1 e quindi dispari; il primo carattere conta con la tabella dei dispari, il secondo con quella dei pari. Contare da zero scambia le due tabelle e dà un risultato sbagliato.
Il carattere di controllo cambia con l'omocodia?
Sì. Quando alcune cifre vengono sostituite da lettere, i caratteri cambiano valore e l'ultima lettera va ricalcolata. È per questo che un codice omocodico ha spesso una lettera finale diversa dal codice base.
Il carattere di controllo basta a sapere se un codice è giusto?
No. Rileva gli errori di battitura più comuni, ma un codice può avere la lettera finale corretta ed essere comunque sbagliato nei dati: serve anche il controllo di data, mese e luogo.