Come calcoliamo il codice fiscale
Calcoliamo il codice fiscale applicando alla lettera le regole del decreto ministeriale 12 marzo 1974, n. 2227 — lo stesso algoritmo che usa l'Agenzia delle Entrate per costruire il codice dai dati anagrafici. In questa pagina lo spieghiamo passo passo, con le tabelle ufficiali, un esempio svolto carattere per carattere e il modo in cui verifichiamo che il motore non sbagli.
La fonte: il decreto del 1974
Il codice fiscale nasce con il decreto del Presidente della Repubblica 29 settembre 1973, n. 605, che riorganizza l'anagrafe tributaria. Le regole di costruzione del codice delle persone fisiche sono nel decreto del Ministro delle Finanze 12 marzo 1974, n. 2227, «Sistemi di codificazione dei soggetti da iscrivere all'anagrafe tributaria», pubblicato nella Gazzetta Ufficiale n. 71 del 15 marzo 1974: è quel testo a stabilire che il codice ha sedici caratteri, quali dati anagrafici li determinano e in quale ordine. Il nostro motore implementa quelle regole senza scorciatoie: nessuna euristiche, nessuna approssimazione.
L'algoritmo, passo passo
Passo 1 — Lettere del cognome
Si prendono le consonanti del cognome in ordine; se sono meno di tre si aggiungono le vocali, sempre in ordine, e se ancora non bastano si usa la lettera X. I cognomi composti o con spazi e apostrofi si considerano un'unica successione di lettere; per le donne si usa il cognome da nubile.
Passo 2 — Lettere del nome
Vale la stessa regola del cognome, con un'eccezione: se il nome ha quattro o più consonanti si prendono la prima, la terza e la quarta. La deroga serve a ridurre le collisioni tra nomi comuni. Se nel campo nome sono scritti due nomi separati da una virgola, il motore considera solo il primo, come da prassi di codifica.
Passo 3 — Anno di nascita
Le ultime due cifre dell'anno: 1980 diventa «80», 2004 diventa «04».
Passo 4 — Mese di nascita
Una lettera secondo la tabella ufficiale del decreto: gennaio A, febbraio B, marzo C, aprile D, maggio E, giugno H, luglio L, agosto M, settembre P, ottobre R, novembre S, dicembre T. Le lettere non seguono l'alfabeto in modo continuo: è la tabella del decreto, non una scelta nostra.
Tabella ufficiale delle lettere del mese Mese Lettera Gennaio A Febbraio B Marzo C Aprile D Maggio E Giugno H Mese Lettera Luglio L Agosto M Settembre P Ottobre R Novembre S Dicembre T Passo 5 — Giorno di nascita e sesso
Due cifre per il giorno (da 01 a 31). Per le donne si aggiungono 40: una donna nata il 15 avrà «55». Così il sesso è codificato senza usare un carattere in più.
Passo 6 — Luogo di nascita
Quattro caratteri: il codice catastale (Belfiore) del comune di nascita — una lettera e tre cifre, ad esempio H501 per Roma — oppure, per chi è nato all'estero, il codice dello Stato, che inizia sempre con Z (Francia Z110, Stati Uniti Z404). I codici provengono dall'archivio pubblicato nella pagina Dati aperti.
Passo 7 — Carattere di controllo
L'ultimo carattere (CIN) si calcola sui primi 15: i caratteri in posizione dispari si convertono con una tabella speciale, quelli in posizione pari con il loro valore naturale; si somma tutto, si divide per 26 e il resto indica la lettera (0 = A, 1 = B, … 25 = Z). Serve a intercettare gli errori di trascrizione.
Conversione dei caratteri in posizione dispari (1ª, 3ª, 5ª, …) Cifra 0 1 2 3 4 5 6 7 8 9 Valore 1 0 5 7 9 13 15 17 19 21 Lettera A B C D E F G H I J K L M Valore 1 0 5 7 9 13 15 17 19 21 2 4 18 Lettera N O P Q R S T U V W X Y Z Valore 20 11 3 6 8 12 14 16 10 22 25 24 23 Per le posizioni pari la conversione è naturale: le cifre valgono il loro numero (0–9) e le lettere la loro posizione nell'alfabeto partendo da A = 0 fino a Z = 25. Le due tabelle qui sopra sono generate dagli stessi valori che il motore usa nel calcolo: documentazione e codice non possono divergere.
L'omocodia: quando il codice non basta
Se due persone generano lo stesso codice — omonimi nati lo stesso giorno nello stesso luogo — il decreto prevede un correttivo: l'Agenzia delle Entrate sostituisce alcune delle sette cifre sostituibili (le due dell'anno, le due del giorno e le tre del codice Belfiore) con lettere, secondo questa tabella:
| Cifra | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| Lettera | L | M | N | P | Q | R | S | T | U | V |
Con sette posizioni sostituibili esistono 127 possibili varianti per ogni codice, e a ogni variante il carattere di controllo viene ricalcolato. Quale variante venga attribuita a una persona lo decide l'Agenzia in base ai codici già presenti in anagrafe: per questo il calcolo online fornisce sempre la forma «base». Lo strumento Omocodia: le 127 varianti mostra tutte le combinazioni di un codice.
Esempio completo: Mario Rossi
Mario Rossi, nato il 1° gennaio 1980 a Roma. Ecco il suo codice, carattere per carattere:
| Posizioni | Caratteri | Come si ottengono |
|---|---|---|
| 1–3 | RSS | Rossi → le tre consonanti R, S, S. |
| 4–6 | MRA | Mario → consonanti M, R (solo due) e prima vocale A. |
| 7–8 | 80 | 1980 → ultime due cifre. |
| 9 | A | Gennaio → lettera A della tabella ufficiale. |
| 10–11 | 01 | Giorno 1; è un uomo, quindi niente +40. |
| 12–15 | H501 | Roma → codice Belfiore H501. |
| 16 | U | Controllo: posizioni dispari 61 + posizioni pari 37 = 98; 98 ÷ 26 dà resto 20 → lettera U (A = 0). |
Risultato: RSSMRA80A01H501U. È lo stesso esempio che la nostra suite di test usa come vettore di riferimento: se il motore smettesse di produrlo, la pubblicazione si fermerebbe.
Come verifichiamo il motore
Ogni modifica al sito riesegue una suite di test automatizzati prima della pubblicazione. Per il motore di calcolo i test coprono: l'esempio svolto qui sopra; le regole con eccezioni (nomi con quattro o più consonanti, cognomi con meno di tre lettere, nomi doppi con virgola); le donne e il +40; i nati all'estero con codici Z; i nati in comuni soppressi; e tutte le 127 varianti di omocodia con il carattere di controllo ricalcolato. Per l'archivio dei luoghi, i test verificano conteggi e codici di ancoraggio — Roma H501, Francia Z110, Stati Uniti Z404 — contro i dati effettivi: sono gli stessi controlli descritti nella pagina Dati aperti, dove l'archivio è scaricabile con le sue fonti e i suoi limiti dichiarati.
Privacy: il calcolo resta sul tuo dispositivo
Tutti gli strumenti di CodiceChiaro eseguono l'elaborazione nel browser dell'utente: cognome, nome e data di nascita non vengono trasmessi a nessun server e non vengono memorizzati. Il motore che hai appena letto è lo stesso per il calcolatore, la decodifica inversa, la verifica e il calcolo multiplo da CSV — e funziona anche a pagina caricata e rete scollegata.
Il limite onesto: l'attribuzione ufficiale
Nessun sito può attribuire o validare ufficialmente un codice fiscale: lo fa solo l'Agenzia delle Entrate, che conosce i codici già presenti in anagrafe e risolve le omocodie. Il nostro calcolo è la previsione corretta secondo l'algoritmo, ma per gli atti ufficiali conta il codice dell'Agenzia. Puoi confrontare un codice con il servizio ufficiale di verifica dell'Agenzia delle Entrate oppure controllarne la correttezza formale con il nostro strumento di verifica.
Domande frequenti
Perché il codice calcolato può differire da quello ufficiale?
Per due motivi. Il primo è l'omocodia: se un'altra persona genera lo stesso codice, l'Agenzia delle Entrate sostituisce alcune cifre con lettere e attribuisce un codice diverso da quello «base» — quale variante spetti a chi lo decide l'Agenzia, non il calcolo. Il secondo sono i dati registrati in anagrafe: se il nome o il cognome risultano trascritti in modo diverso da come li ricordi (un doppio nome, un apostrofo), il codice ufficiale segue i dati registrati.
Il carattere di controllo è scelto a caso?
No: è il risultato di un calcolo preciso sui primi 15 caratteri, definito dal decreto del 1974 e spiegato passo passo in questa pagina. Proprio perché è deterministico, chiunque può verificare un codice: se il sedicesimo carattere non torna, il codice contiene un errore di trascrizione.
Perché per le donne il giorno di nascita aumenta di 40?
È la regola del decreto per codificare anche il sesso nei due caratteri del giorno: gli uomini hanno il giorno reale (01–31), le donne il giorno aumentato di 40 (41–71). Da un codice si può quindi ricavare il sesso sottraendo 40 quando il numero supera 40.
Come verificate che il motore calcoli bene?
Con una suite di test automatizzati rieseguita a ogni modifica: include l'esempio svolto in questa pagina (Mario Rossi → RSSMRA80A01H501U), i casi limite delle regole (nomi con quattro consonanti, cognomi corti, nati all'estero, comuni soppressi) e i codici di ancoraggio dell'archivio luoghi (Roma H501, Francia Z110, Stati Uniti Z404). Se un test fallisce, la versione non viene pubblicata.
Posso usare il codice calcolato per un documento ufficiale?
Il calcolo è una previsione molto affidabile, ma il codice fiscale legalmente valido è solo quello attribuito dall'Agenzia delle Entrate. Per gli atti ufficiali usa il codice riportato sulla tessera sanitaria o sul certificato di attribuzione; per un controllo formale puoi usare il nostro strumento di verifica, per la validità ufficiale il servizio di verifica dell'Agenzia.
Fonti
- Decreto del Ministro delle Finanze 12 marzo 1974, n. 2227, «Sistemi di codificazione dei soggetti da iscrivere all'anagrafe tributaria», Gazzetta Ufficiale n. 71 del 15 marzo 1974. (Il testo è consultabile su Normattiva e nella raccolta della Gazzetta Ufficiale; qui lo citiamo senza collegamento diretto perché al momento della pubblicazione non disponiamo di un URL stabile verificato.)
- Decreto del Presidente della Repubblica 29 settembre 1973, n. 605, «Disciplina dell'anagrafe tributaria e del codice fiscale dei contribuenti».
- Agenzia delle Entrate — servizio di verifica del codice fiscale
- Dati aperti di CodiceChiaro — fonti e metodo dell'archivio dei codici catastali (ISTAT e Agenzia delle Entrate).