Controlla un codice fiscale
Questo strumento controlla se un codice fiscale italiano è formalmente corretto: sedici caratteri, struttura coerente con nome, cognome, data di nascita e comune, e il carattere di controllo finale. Non conferma che appartenga a una persona reale. Gira nel browser, gratis.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Come si usa
Incolla il codice, per esempio RSSMRA85M01H501Z, e premi Esegui. Il risultato dice se è valido, con il dettaglio di cosa non torna quando non lo è: lunghezza sbagliata, lettera del mese impossibile, carattere di controllo che non coincide con quello calcolato. Puoi controllarne più di uno insieme, uno per riga, comodo quando devi ripulire un intero foglio di anagrafiche prima di consegnarlo al commercialista o caricarlo in un gestionale.
La struttura del codice fiscale
Sedici caratteri codificano cognome, nome, anno, mese (una lettera per ciascuno), giorno di nascita (con +40 per le donne), il codice catastale del comune e un carattere di controllo finale calcolato sugli altri quindici secondo una formula pubblica. Lo strumento smonta il codice pezzo per pezzo e ti mostra cosa rappresenta ogni gruppo, non solo se il totale è valido.
Cosa significa "valido"
Un codice fiscale valido rispetta la formula di calcolo: la struttura è coerente e il carattere di controllo torna. Questo non prova che la persona esista o che quel codice sia davvero suo — solo un incrocio con l’Agenzia delle Entrate può farlo. È lo stesso filtro che uno studio o un’azienda applica prima di accettare un dato scritto a mano o dettato al telefono, prima che finisca su un documento fiscale.
Omocodia e casi particolari
Quando due persone avrebbero lo stesso codice teorico, l’Agenzia delle Entrate sostituisce alcune cifre con lettere per distinguerle: è il fenomeno dell’omocodia, non raro nei comuni piccoli o con cognomi frequenti. Lo strumento riconosce anche questi codici omocodici e non li segnala per errore come non validi, un dettaglio che molti controlli generici trascurano e che invece qui è gestito fin dall’inizio, senza dover scrivere una regola a parte per ogni eccezione.
Casi d'uso
Modulo di iscrizione o contratto
Sul modulo dove un cliente scrive a mano il proprio codice fiscale, un controllo al volo intercetta subito una cifra saltata prima che finisca su un contratto o una fattura.
Onboarding di un nuovo cliente
Lo Studio Commercialista Bianchi registra i dati di un nuovo cliente in anagrafica: verificare il codice fiscale prima di salvarlo evita di dover correggere un documento fiscale già emesso.
Prima di un contratto d’affitto
Prima di preparare un contratto di locazione, confermi che il codice fiscale dell’inquilino sia scritto correttamente: un errore lì si trascina in tutti i documenti successivi.
Domande frequenti
Conferma che la persona esista davvero?
No. Il controllo verifica solo che il codice sia formalmente corretto — struttura e carattere di controllo. Per sapere se corrisponde a una persona reale serve un incrocio con gli archivi dell’Agenzia delle Entrate, che questo strumento non fa.
Riconosce i codici omocodici?
Sì. Quando l’Agenzia delle Entrate sostituisce alcune cifre con lettere per distinguere due persone con lo stesso codice teorico, lo strumento li riconosce comunque come validi.
È diverso dal controllo della partita IVA?
Sì: il codice fiscale identifica una persona (o un’impresa senza IVA), la partita IVA un soggetto che fattura. Sono due controlli distinti, con regole di calcolo diverse.
Il codice che incollo resta privato?
Sì. È un dato sensibile e il controllo avviene nella pagina, sul tuo dispositivo: non viene inviato a nessun server né salvato.
È davvero gratis?
Sì, gratis, senza limiti e senza registrazione: gira nel browser, quindi puoi controllare quanti codici vuoi senza alcun costo.
Posso usarlo anche dal telefono?
Sì, dal browser dello smartphone, senza installare app: incolli il codice, esegui, leggi il risultato.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/verify/tax-id \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/tax-id", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/tax-id",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/tax-id", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/tax-id", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"items": [
"valor-1",
"valor-2"
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.tax_id",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |