Vai al contenuto
Anagrafica fiscale

Calcolo Codice Fiscale, decodifica e 128 omocodie in browser

Calcolo del codice fiscale italiano in tre modalità: generazione forward da cognome + nome + sesso + data + comune (algoritmo DM 12/03/1974), decodifica inversa di un CF esistente per estrarre i dati anagrafici, omocodie (le 128 varianti generate dall'Agenzia delle Entrate quando due persone collidono sui primi 15 caratteri). Algoritmo CIN modulo 26 verificato contro Test Vector ufficiali. Niente upload, niente cookie analytics, niente API key.

Elenco comuni ANPR aggiornato al 25 settembre 2026: 7.894 comuni attivi e 1.970 soppressi.

Come usare il generatore

  1. 1

    Generazione forward

    Compila cognome, nome, sesso, data di nascita e luogo di nascita. L'autocomplete propone tutti i comuni italiani, anche quelli soppressi, e gli Stati esteri; in alternativa scrivi direttamente il codice catastale (es. F205 = Milano, H501 = Roma, L219 = Torino). Per i comuni fusi o rinominati il tool usa il codice valido alla data di nascita. Il tool genera il CF di 16 caratteri.

  2. 2

    Decodifica inversa

    Incolla un codice fiscale esistente. Il tool valida il CIN (carattere di controllo) e estrae sesso, data di nascita e comune di nascita. La decodifica del comune copre l’elenco ANPR completo: 7.894 comuni attivi e 1.970 comuni cessati, fusi o ridenominati, questi ultimi etichettati come soppressi.

  3. 3

    Omocodie

    Quando due o più persone collidono sui primi 15 caratteri (cognome+nome+data+sesso+comune coincidenti), l'Agenzia delle Entrate genera varianti modificando le cifre numeriche con lettere predefinite (mapping L=0, M=1, N=2, P=3, Q=4, R=5, S=6, T=7, U=8, V=9). Il tool genera le 128 combinazioni teoriche per un dato CF di base.

  4. 4

    Privacy by design

    Tutto il calcolo avviene in JavaScript nel browser. I dati anagrafici inseriti non lasciano la pagina, non vengono inviati a nessun server, non vengono salvati in cookie né in local storage. Per professionisti che gestiscono CF di clienti reali, è la soluzione GDPR-friendly per il calcolo offline.

Algoritmo DM 12 marzo 1974: cosa fa il tool

Struttura del CF a 16 caratteri. Posizioni 1-3: consonanti del cognome (se meno di 3, vocali; se ancora meno, padding X). Posizioni 4-6: consonanti del nome (regola speciale: se 4 o più consonanti, prendi la 1a, 3a, 4a; altrimenti tutte le consonanti + vocali). Posizioni 7-8: ultime due cifre dell'anno di nascita. Posizione 9: lettera del mese (gennaio=A, febbraio=B, marzo=C, aprile=D, maggio=E, giugno=H, luglio=L, agosto=M, settembre=P, ottobre=R, novembre=S, dicembre=T). Posizioni 10-11: giorno di nascita (per le donne +40, quindi una donna nata il 15 ha cifre 55). Posizioni 12-15: codice catastale del comune (consonante + 3 cifre, es. H501 = Roma). Posizione 16: CIN (Carattere di Controllo Internazionale).

CIN: come si calcola. I primi 15 caratteri vengono letti uno alla volta. Le posizioni dispari (1, 3, 5..., 15) usano una tabella di conversione specifica (lettera/cifra -> numero), idem per le pari (2, 4..., 14) con tabella diversa. La somma totale modulo 26 -> lettera A-Z come CIN. Esempio: per RSSMRA80A01H501 il CIN è U. Inserire 16 caratteri sbagliati -> CIN sbagliato. Il tool calcola CIN dei primi 15 e lo confronta con il 16esimo per validazione.

Omocodie: il problema delle collisioni. Quando due persone hanno cognome+nome+data+sesso+comune identici (es. due Mario Rossi nati lo stesso giorno nello stesso comune), il loro CF teorico coincide. Per evitarlo, l'Agenzia delle Entrate genera 128 varianti dello stesso CF sostituendo cifre numeriche con lettere predefinite, in posizioni specifiche: 7, 8 (anno), 10, 11 (giorno), 13, 14, 15 (codice catastale). Mapping: 0->L, 1->M, 2->N, 3->P, 4->Q, 5->R, 6->S, 7->T, 8->U, 9->V. Il primo collidente prende la variante 0 (cifre originali); il secondo riceve una omocoda con il valore numerico più alto trasformato (es. anno 80 -> 8L diventa UL); e così via fino a 128 combinazioni teoriche.

Limiti del tool: non valida l'esistenza reale. Il tool verifica solo la correttezza formale: la data di nascita esiste? Il codice catastale è un codice valido nel formato (lettera + 3 cifre)? Il CIN è corretto? NON verifica se quel CF esiste davvero all'Agenzia delle Entrate (per farlo servirebbe l'integrazione con il servizio Verifica CF/Partita IVA del Fisco italiano, che richiede SPID/CNS o credenziali Entratel). Il caso d'uso è quindi: generare CF teoricamente corretti per testing/anonymizzazione/calcolo manuale, validare CF già esistenti, supportare professionisti che gestiscono anagrafiche.

Tutti i comuni italiani, compresi quelli che non esistono più

Il tool carica l’elenco ANPR completo: 7.894 comuni attivi e 1.970 comuni soppressi, fusi o ridenominati. Vale sia per l’autocomplete del calcolo diretto sia per la decodifica inversa, e i comuni cessati sono segnalati con l’etichetta soppresso.

È la differenza che conta quando il codice fiscale non è il tuo: chi è nato prima delle fusioni degli ultimi decenni ha sul certificato un comune che oggi non esiste più, e la maggior parte dei calcolatori online si ferma ai capoluoghi o restituisce un errore. Qui il codice catastale storico resta valido e viene riconosciuto.

Se preferisci inserirlo a mano, il campo accetta anche il codice catastale a 4 caratteri (es. F205 per Milano, H501 per Roma).

Glossario

Termini tecnici usati in questa pagina, spiegati in due righe.

Codice Fiscale #
Identificativo univoco delle persone fisiche italiane (16 caratteri alfanumerici) e delle persone giuridiche (11 cifre, coincide con la P.IVA). Definito dal DM 12 marzo 1974 (Min. Finanze) ed esteso dalla Risoluzione 26/E del 2010 per omocodie.
CIN #
Carattere di Controllo Internazionale (pos 16 del CF). Calcolato dai primi 15 caratteri tramite due tabelle di conversione (dispari/pari) e modulo 26 -> lettera A-Z. Permette di intercettare errori di battitura sui primi 15 caratteri con probabilità del 96.2%.
Codice catastale #
Identificativo univoco di un comune italiano (4 caratteri: 1 lettera + 3 cifre). Esempi: F205 = Milano, H501 = Roma. Mantenuto dall’Agenzia del Territorio (ex Catasto), aggiornato per fusioni e variazioni amministrative. Il tool copre l’elenco ANPR completo, compresi i codici dei comuni ormai soppressi.
Omocodia #
Quando due o più persone hanno gli stessi 15 caratteri di codice fiscale. L'Agenzia delle Entrate la risolve assegnando al secondo soggetto una variante in cui alcune cifre sono sostituite da lettere predefinite (L=0, M=1..., V=9), partendo dalla cifra più a destra. Le combinazioni possibili sono 128: il tool le elenca tutte, ma quella assegnata a una persona la conosce solo l'Agenzia.
ANSCITEL / ISTAT #
ANSCITEL è il codice statistico ISTAT del comune (6 cifre, es. 058091 = Roma). Diverso dal codice catastale (4 caratteri alfanumerici). Per il CF si usa il codice catastale. Il tool non gestisce ANSCITEL.
Persona giuridica #
Aziende, associazioni, enti. Il loro CF coincide con la P.IVA (11 cifre). Il tool gestisce solo persone fisiche (16 caratteri); per le persone giuridiche usa il validatore anagrafica con il campo P.IVA.
Agenzia delle Entrate #
Ente che assegna formalmente il CF (su richiesta di anagrafe o stranieri). Non genera il CF al di fuori degli adempimenti, quindi il calcolo del 'CF teorico' è utile a privati e professionisti per pre-compilare moduli, ma il CF assegnato può essere diverso (es. omocoda).

Domande frequenti sul codice fiscale

Il CF generato dal tool è lo stesso che mi assegnerà l'Agenzia delle Entrate?
Nella maggior parte dei casi sì. Il tool calcola il CF teorico applicando l'algoritmo DM 12/03/1974. L'Agenzia delle Entrate assegna lo stesso CF, salvo: (1) caso di omocodia (esiste già un altro CF identico nei primi 15 caratteri), in cui ti viene assegnata una variante omocoda; (2) errori di trascrizione anagrafica (cognome con apostrofi, doppi cognomi, nomi multipli) che gestisce con regole interne non sempre prevedibili. Per CF certo, contatta l'Agenzia delle Entrate o usa il servizio di Verifica CF dell'AdE.
Come gestite i cognomi con caratteri speciali (apostrofi, accenti, particelle nobiliari)?
Apostrofi e particelle (D'AMICO, DELLA ROSA, DI PAOLA): il tool li tratta come parte del cognome rimuovendo il separatore (apostrofo, spazio). DELLA -> consonanti DLL. D'AMICO -> consonanti DMC. Doppi cognomi (Rossi-Bianchi): trattati come unico cognome RSSBNC. Per cognomi stranieri con caratteri non ASCII (es. Müller, Žukov), il tool normalizza con NFD e rimuove i diacritici (Müller -> Muller -> consonanti MLR). Casi limite: Mac/Mc, Van der/Von, McGregor (mantieni intero) -> MCGRGR.
Le donne nate il 15 hanno giorno '55' nel CF, perché?
Convenzione del DM 12/03/1974 per discriminare il sesso senza usare un campo separato: alle donne si aggiunge 40 al giorno di nascita. Quindi 1->41, 2->42..., 31->71. Il tool decodifica correttamente: se il giorno nel CF è >40, sesso=F e giorno reale = giorno_cf - 40. Esempio: RSSMRA80A55H501... -> donna, nata il 15 gennaio 1980 a Roma.
Cosa succede se ho un nome con meno di 3 consonanti (es. AIDA)?
Per i nomi con meno di 3 consonanti, l'algoritmo prende prima le consonanti, poi le vocali, e poi padding X se ancora servono caratteri. AIDA: 1 consonante (D), 3 vocali (AIA). Il pattern è DAA (1 consonante + 2 prime vocali). Se anche le vocali fossero insufficienti (caso teorico: nomi con 1 lettera tipo Y), si aggiungerebbe X. Stessa logica per i cognomi corti.
Perché i mesi non sono 1-12 ma A-T (saltando alcune lettere)?
Convenzione storica del 1974, probabilmente per evitare collisioni di parsing: 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 F, G, I, J, K, N, O, Q, U, V, W, X, Y, Z NON sono usate per i mesi (sono però usate per le omocodie e i codici catastali). Il tool maschera questo mapping internamente.
Posso usare il tool per generare CF da provider stranieri?
Sì, il tool supporta cittadini stranieri nati in Italia (codice catastale italiano normale) e cittadini stranieri nati all'estero (codice catastale dello Stato estero, es. Z110 per Francia, Z112 per Germania, Z602 per Brasile). Il tool ha embedded i ~30 codici dei principali Stati esteri. Per Stati esteri non nel dataset, inserisci il codice (4 caratteri, prima lettera Z) manualmente.
Le omocodie sono solo teoriche o vengono davvero assegnate?
Vengono assegnate. Quando hai due omonimi nati lo stesso giorno nello stesso comune con stesso sesso, l'Agenzia genera CF distinti tramite omocodie. Il primo (anagraficamente) prende la variante 'pulita' (anno e giorno con cifre normali), il secondo riceve la variante con più alta sostituzione di cifra a lettera. Le omocodie sono frequenti per nomi comuni (Mario Rossi, Giuseppe Bianchi) in città grandi (Roma, Milano).
Il CF di un residente all'estero (AIRE) è diverso?
No. Il CF di un cittadino italiano residente all'estero (AIRE - Anagrafe Italiani Residenti all'Estero) è calcolato con lo stesso algoritmo, usando il comune di nascita (se nato in Italia) o il codice dello Stato estero di nascita (se nato all'estero): il comune di iscrizione AIRE non c'entra, perché il codice fiscale dipende solo dai dati anagrafici di nascita. Il tool produce lo stesso CF identicamente. Il fatto di essere AIRE è una condizione anagrafica separata, non si riflette nel CF.
Come gestite il sesso non binario (X)?
L'algoritmo del 1974 non lo prevede: il CF italiano riconosce solo M e F. Da maggio 2024 esiste la procedura amministrativa per la rettifica del genere (sentenza Corte Costituzionale 211/2023) ma il CF rimane M o F come da anagrafe. Il tool offre solo le due opzioni storiche. Per casistica X non binaria, l'Agenzia delle Entrate gestisce caso per caso, non tramite algoritmo standardizzato.
Il tool salva i miei dati anagrafici sui server?
No. Tutto il calcolo avviene in JavaScript nel browser. Niente fetch verso server esterni, niente cookie analytics impostati dal tool, niente local storage. Per professionisti che gestiscono CF di clienti reali (commercialisti, consulenti del lavoro, studi notarili), il tool è GDPR-friendly: nessun trasferimento di dati personali a terzi (l'autore del tool incluso). Verifica facilmente con DevTools > Network > attività nulla durante il calcolo.

Fonti usate

Leggi, tabelle ufficiali e implementazioni di riferimento su cui è stata verificata la logica del tool.

La tua applicazione valida male i Codici Fiscali?

Se nel tuo gestionale, e-commerce o portale di registrazione utenti la validazione del CF dà falsi positivi, salta omocodie o rompe per stranieri AIRE: posso integrare la libreria di validazione corretta nel tuo backend PHP, Laravel, Symfony o Node.

Parla del tuo gestionale