Codice Fiscale (CF) — Generatore e Verificatore
Genera, decodifica o verifica la struttura del Codice Fiscale. Nessun dato anagrafico viene inviato a server esterni, tutela totale della privacy.
Genera, decodifica o verifica la struttura del Codice Fiscale. Nessun dato anagrafico viene inviato a server esterni, tutela totale della privacy.
👨💻 Chi lo ha realizzato
Sviluppato e mantenuto da ingegneri software indipendenti. Motore di calcolo basato esclusivamente sulle normative ufficiali vigenti. (Zero-Backend: nessun dato viene inviato a server esterni).
🔒 Privacy Zero-Backend
Nome, cognome, data e luogo di nascita vengono elaborati nel browser e non sono inviati a server. I valori dei campi possono restare memorizzati nel localStorage di questo dispositivo per ritrovarli alla visita successiva, nel rispetto dei principi degli artt. 5 e 25 del GDPR.
📚 Fonti normative e tecniche
D.P.R. 29 settembre 1973 n. 605, D.M. 23 dicembre 1976 (struttura del codice fiscale e carattere di controllo), codici catastali dei Comuni e codici «Z» degli Stati esteri usati dall'Agenzia delle Entrate, D.Lgs. 231/2007 (antiriciclaggio), Regolamento UE 2016/679.
Il sistema alfanumerico del Codice Fiscale, gestito centralmente dal partner tecnologico Sogei per conto dell'Anagrafe Tributaria, è normato dal Decreto Ministeriale del 23 dicembre 1976. Questo standard a sedici caratteri costituisce la chiave primaria nei database della Pubblica Amministrazione, fungendo da identificatore univoco per l'assolvimento degli obblighi tributari, previdenziali e civili. Dal punto di vista sistemistico e normativo, l'applicativo erogato in questa pagina opera interamente nel rispetto del paradigma architetturale Zero-Backend. L'elaborazione algoritmica avviene al 100% all'interno della sandbox del browser locale dell'utente, annullando di fatto il trasferimento dei dati anagrafici verso server esterni e conformandosi rigorosamente al principio di Data Protection by Design e by Default imposto dall'Articolo 25 del Regolamento Generale sulla Protezione dei Dati (GDPR). Neutralizzando l'esfiltrazione crittografica, tale architettura esenta il fornitore dell'applicativo web dalla qualifica di Responsabile del Trattamento (Data Processor), eliminando per il professionista gli oneri legati alla redazione di complessi Data Processing Agreements (DPA) delineati dall'Articolo 28 del GDPR.
Il procedimento di hashing alfanumerico opera una scomposizione deterministica della matrice anagrafica secondo rigorose regole sintattiche:
La chiusura crittografica della stringa è affidata al Carattere Interno di Controllo (CIN), determinato tramite il calcolo dell'Algoritmo Modulo 26. I quindici caratteri primari generati vengono isolati alternativamente nelle rispettive posizioni pari e dispari, per poi essere convertiti in numeri interi secondo mappe di pesi asimmetriche. Ad esempio, per le posizioni pari, il carattere 'A' (o lo '0') assume peso 0, e il carattere 'C' (o '2') assume peso 2; per le posizioni dispari, 'A'/'0' assume peso 1, 'B'/'1' peso 0, e 'C'/'2' assume peso 5. Al termine dell'assegnazione, i valori vengono sommati in un montante unico e ridotti matematicamente al modulo 26, producendo un resto finale che viene associato ad una lettera dell'alfabeto (dove A=0 e Z=25).
Prendiamo in esame la procedura di compilazione algebrica per il cittadino fittizio MARIO ROSSI, uomo, nato il 15/05/1980 a Roma (Codice Belfiore H501).
1. Cognome (ROSSI): L'estrazione delle prime tre consonanti produce la stringa RSS.
2. Nome (MARIO): L'algoritmo individua due sole consonanti (M, R) e sopperisce all'assenza della terza importando la prima vocale utile (A), producendo MRA.
3. Data e Sesso: L'anno 1980 fornisce la stringa 80. Il mese di Maggio si converte nella lettera E. Il giorno 15, declinato per il sesso maschile, rimane invariato in 15.
4. Luogo di Nascita: Innesta il blocco H501. La stringa provvisoria a quindici caratteri si attesta su RSSMRA80E15H501.
5. Calcolo CIN: Il checksum CIN si calcola aggregando i pesi posizionali. R(Dispari)=8, S(Pari)=18, S(Dispari)=12, M(Pari)=12, R(Dispari)=8, A(Pari)=0, 8(Dispari)=19, 0(Pari)=0, E(Dispari)=9, 1(Pari)=1, 5(Dispari)=13, H(Pari)=7, 5(Dispari)=13, 0(Pari)=0, 1(Dispari)=0. La somma di tali interi ammonta algebricamente a 120. Applicando l'operazione matematica $120 \pmod{26}$, si ottiene un resto formale pari a 16. Mappando tale resto sulla matrice alfabetica standard, il valore 16 restituisce inoppugnabilmente il carattere Q.
La sintesi definitiva approvata dall'Anagrafe Tributaria è RSSMRA80E15H501Q.
La collisione anagrafica, definita tecnicamente Omocodia, rappresenta la vulnerabilità principale dell'architettura e si manifesta qualora due cittadini generino la medesima stringa. Per risolvere la collisione, l'Agenzia delle Entrate procede alla destrutturazione del codice primario, sostituendo forzatamente le cifre numeriche con equivalenti alfabetici pre-codificati (L=0, M=1, N=2, P=3, Q=4, R=5, S=6, T=7, U=8, V=9). L'operazione procede a ritroso verso sinistra, partendo dall'ultima cifra del codice Belfiore. Nessun generatore basato sui soli dati anagrafici può sapere se a una persona è stato attribuito un codice omocodico: solo l'anagrafe tributaria conosce la sostituzione applicata, quindi il codice va sempre confrontato con la tessera.
L'anomalia procedurale investe sistematicamente la naturalizzazione di soggetti esteri. I cittadini nati fuori dal territorio della Repubblica non possiedono un codice Belfiore comunale. Essi devono obbligatoriamente utilizzare un identificativo nazionale prefissato dalla lettera "Z" (ad esempio, Z112 per la Germania, Z100 per l'Albania, Z404 per gli Stati Uniti). L'errore operativo consistente nel compilare atti giudiziari o bancari imputando testualmente la città estera provoca un disallineamento critico nei database istituzionali.
La validazione algoritmica stringe con particolare severità sui nomi polirematici o composti. Lo standard di decodifica governativo impone che la stringa anagrafica venga normalizzata rimuovendo apici, spaziature e accenti. La mancata esecuzione di questo rigoroso processo di sanitizzazione pre-elaborazione (ad esempio ignorando lo spazio in un cognome composto) altera drasticamente il flusso di estrazione consonantica. Questo falso logico inficia il calcolo del parametro CIN, determinando la conseguente e immediata repulsione della pratica in ambienti severamente monitorati come l'adeguata verifica antiriciclaggio (AML).
| Posizione | Contenuto | Regola di formazione |
|---|---|---|
| 1 – 3 | Cognome | Prime tre consonanti; se insufficienti si integrano le vocali nell'ordine |
| 4 – 6 | Nome | Se le consonanti sono quattro o più si prendono la prima, la terza e la quarta |
| 7 – 8 | Anno di nascita | Ultime due cifre dell'anno |
| 9 | Mese di nascita | Lettera convenzionale secondo la tabella ministeriale |
| 10 – 11 | Giorno e sesso | Giorno di nascita, aumentato di 40 per il sesso femminile |
| 12 – 15 | Luogo di nascita | Codice catastale del Comune o codice dello Stato estero |
| 16 | Carattere di controllo | Calcolato con l'algoritmo a pesi alternati modulo 26 |
La regola di estrazione del nome merita attenzione perché è l'unica asimmetrica rispetto al cognome: in presenza di quattro o più consonanti si scarta la seconda. È la fonte di errore più frequente nella generazione manuale e produce codici formalmente plausibili ma non corrispondenti a quelli attribuiti dall'anagrafe tributaria.
Il codice generato da un algoritmo è una ricostruzione deterministica, non un'attribuzione ufficiale. L'unico codice fiscale valido è quello registrato presso l'anagrafe tributaria e attestato dal tesserino o dalla Tessera Sanitaria. Nei casi di omocodia il codice effettivamente attribuito diverge da quello calcolabile, perché l'amministrazione sostituisce progressivamente caratteri numerici con lettere secondo una tabella di conversione predefinita.
Attenzione: per i soggetti nati all'estero il codice impiega il codice dello Stato estero in luogo di quello catastale comunale, e la verifica va condotta sull'elenco ufficiale dei codici Stato. Il codice ricostruito ha finalità di controllo e di compilazione assistita: per usi contrattuali, bancari o fiscali occorre sempre riscontrare il dato con il documento rilasciato dall'Agenzia delle Entrate.
I casi seguenti sono stati generati e decodificati con gli strumenti della pagina.
Il giorno 52 indica una donna nata il 12 del mese (12 + 40). La lettera D corrisponde ad aprile e L219 è il codice catastale di Torino.
Per i nati all'estero conta solo lo Stato: Bucarest e Cluj producono lo stesso codice. Indicando la città come se fosse un Comune italiano il luogo non viene riconosciuto.
Prendendo le prime tre consonanti si otterrebbe GNF e un codice diverso con carattere di controllo errato: è l'errore più comune nei calcoli fatti a mano.
Il Verificatore accetta il codice perché il carattere di controllo è ricalcolato sulla stringa con la lettera. Se nella tessera di una persona compare un codice di questo tipo, va usato quello e non la versione calcolata dai dati anagrafici.
No. Il codice calcolato è una ricostruzione matematica corretta nella grande maggioranza dei casi, ma l'unico codice giuridicamente valido è quello attribuito dall'Agenzia delle Entrate e riportato sul tesserino. In presenza di omocodia, di rettifiche anagrafiche o di variazioni di stato civile il codice ufficiale può differire da quello calcolabile a partire dai dati anagrafici.
Il codice si forma sui dati anagrafici di nascita e non varia per effetto del matrimonio, poiché il cognome anagrafico resta invariato. Cambia invece a seguito di un provvedimento di rettifica del nome, del cognome o della data di nascita, oppure di rettificazione di attribuzione di sesso: in questi casi l'Agenzia delle Entrate attribuisce un nuovo codice e annulla il precedente.
Si verifica quando l'algoritmo produce lo stesso codice per due persone diverse, circostanza possibile perché l'algoritmo comprime le informazioni anagrafiche e non è biiettivo. L'Agenzia delle Entrate risolve il conflitto sostituendo progressivamente le cifre del secondo codice, a partire da quella più a destra, con lettere corrispondenti secondo una tabella di conversione, e ricalcolando poi il carattere di controllo.
Sì, ed è anzi necessario per qualsiasi rapporto giuridicamente rilevante nel Paese, dall'apertura di un conto corrente alla stipula di un contratto di lavoro o di locazione. Viene attribuito dall'Agenzia delle Entrate o, per i cittadini stranieri che ne facciano richiesta contestuale, dagli Sportelli Unici per l'immigrazione e dalle Questure nell'ambito delle procedure di soggiorno.
No, e sarebbe un errore metodologico rilevante. Il codice fiscale è un identificativo derivato da dati anagrafici pubblicamente ricostruibili: chiunque conosca nome, cognome, data e luogo di nascita può calcolarlo. Non ha quindi alcuna funzione autenticativa e non va mai impiegato come elemento di verifica dell'identità o come credenziale di accesso.
Occorre rivolgersi a un ufficio dell'Agenzia delle Entrate con un documento di identità e, se necessario, con la documentazione anagrafica che attesti i dati corretti. Se l'errore deriva da una trascrizione inesatta dei dati anagrafici, la correzione richiede il preventivo allineamento presso il Comune di residenza. Fino alla rettifica il codice errato può generare scarti negli invii telematici e nelle procedure bancarie.