Vai al contenuto
CF Inverso

Il sito

Metodologia

Che cosa fanno esattamente gli strumenti, su quali regole si basano, come vengono verificati e dove si fermano. Nessun passaggio è «magico»: tutto quello che vedi è riproducibile a mano.

Revisione editoriale:

Base normativa

Il codice fiscale delle persone fisiche è disciplinato dal D.P.R. 29 settembre 1973, n. 605 e dal D.M. 23 dicembre 1976 («Sistemi di codificazione dei soggetti da iscrivere all'anagrafe tributaria», G.U. n. 345 del 29 dicembre 1976), che fissa le regole per cognome, nome, data, sesso, luogo, carattere di controllo e omocodia. Le regole sono riassunte, blocco per blocco, nella sezione Struttura.

Calcolo diretto

  1. Normalizzazione dei nomi. Le lettere accentate o con segni diacritici sono ridotte alla lettera base (decomposizione Unicode); alcune lettere latine senza decomposizione hanno una traslitterazione esplicita (ß→SS, Ø→O, Æ→AE, Œ→OE, Ð/Đ→D, Þ→TH, Ł→L); spazi, apostrofi, trattini e altri caratteri non alfabetici vengono eliminati. Caratteri di alfabeti non latini non vengono convertiti: lo strumento li segnala.
  2. Cognome e nome secondo le regole del decreto (consonanti, vocali, X; 1ª-3ª-4ª consonante per il nome con quattro o più consonanti).
  3. Data e sesso: due cifre dell'anno, lettera del mese, giorno +40 per le donne. La data deve esistere nel calendario gregoriano (29 febbraio solo negli anni bisestili) e non essere futura.
  4. Luogo: il codice catastale proviene esclusivamente dal dataset verificato; non viene mai costruito o indovinato. Se il comune scelto non era valido alla data di nascita, lo strumento lo segnala.
  5. Carattere di controllo: tabelle delle posizioni pari e dispari, somma, resto modulo 26.

Decodifica (codice fiscale inverso)

  1. Normalizzazione dell'input: maiuscole, rimozione di spazi, punti e trattini.
  2. Controllo strutturale per posizione, con messaggi che indicano la posizione del problema. Le lettere L-V nelle posizioni numeriche sono accettate come omocodia.
  3. Omocodia: le lettere vengono riportate alle cifre (L→0 … V→9); lo strumento verifica anche che le sostituzioni seguano l'ordine ufficiale (da destra verso sinistra) e lo segnala se non è così.
  4. Carattere di controllo: calcolato sui 15 caratteri così come digitati (comprese le lettere di omocodia) e confrontato con il 16°.
  5. Anno: poiché sono note solo due cifre, vengono elencati tutti gli anni dal 1850 a oggi che terminano con quelle cifre e per cui la data esiste e non è futura. Non viene scelto un secolo «probabile».
  6. Luogo: il codice viene cercato fra Stati esteri, comuni attivi e record storici; se più denominazioni hanno avuto quel codice, viene scelta quella in vigore alle date di nascita candidate. Se nessuna fonte copre il caso, il risultato lo dice.
  7. Nome e cognome non vengono ricostruiti né «suggeriti».

Verifica formale

Quattro livelli (formato, struttura, carattere di controllo, coerenza dei dati) descritti nella pagina Verifica. I codici numerici a 11 cifre vengono controllati con l'algoritmo della partita IVA. Il quinto livello, l'esistenza nell'Anagrafe tributaria, non è coperto da questo sito: CF Inverso non dispone di un'integrazione autorizzata con il registro e rimanda al servizio dell'Agenzia delle Entrate e non lo interroghiamo in alcun modo.

Dati territoriali

Comuni attivi, comuni soppressi con date di validità e Stati esteri provengono da ISTAT e dal Ministero dell'Interno (ANPR), con una procedura di importazione automatica che controlla la coerenza fra le fonti e si interrompe in caso di contraddizioni. Dettagli, versioni e licenze in Fonti dei dati.

Verifica del software

Il motore di calcolo è coperto da test automatici eseguiti a ogni modifica (66 casi al 11/10/2026): calcolo diretto e inverso, regole dei nomi, lettere dei mesi, offset femminile, anni bisestili, date non valide, Stati esteri, comuni storici e omonimi, carattere di controllo, omocodia, ambiguità del secolo, formati non riconosciuti. Gli esempi usati sono persone fittizie.

Due verifiche sono indipendenti dal nostro codice. La prima confronta il motore con un'implementazione separata delle stesse regole, scritta in un altro linguaggio, su 300 identità casuali (con nomi accentati e traslitterati, 29 febbraio, Stati esteri, tutte le varianti di omocodia): i codici devono coincidere e la decodifica deve ritrovare i dati di partenza. La seconda riproduce i casi di test pubblicati dal progetto open source python-codicefiscale (licenza MIT): dieci identità complete, fra cui una nata in un comune poi soppresso, le 128 varianti di omocodia di un codice, i casi di decodifica e i codici degli Stati esteri, confrontati anche con il nostro dataset ISTAT/ANPR.

Limiti dichiarati

  • Un codice calcolato non è un codice attribuito.
  • I codici degli Stati esteri non più esistenti non sono nella tabella corrente e non vengono proposti.
  • Le regole di traslitterazione per nomi in alfabeti non latini seguono il documento d'identità, che il sito non può conoscere.
  • Per i comuni soppressi prima della disponibilità di dati storici affidabili, l'archivio ANPR può non coprire ogni variazione; in quei casi lo strumento dichiara l'incertezza.