Lettera di controllo DNI/NIF spagnolo
Inserisca le otto cifre di un DNI spagnolo e ottenga la lettera di controllo: 12345678 diviso 23 dà resto 14, quindi la lettera è Z e il numero completo è 12345678Z. Incolli un DNI, NIF o NIE completo per verificarlo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Dni
- 12345678
- Input
- 12345678
- Tipo
- dni
- Numero
- 12345678
- Lettera
- Z
I numeri di identità nazionale spagnoli (DNI) e gli identificativi fiscali personali (NIF) condividono un unico controllo pubblico: otto cifre seguite da una lettera di controllo presa da una tabella fissa di ventitré caratteri. Residenti, espatriati che compilano moduli, strumenti di paghe e flussi KYC devono spesso ricavare la lettera corretta dal corpo numerico oppure confermare che un identificativo completo digitato rispetti la regola ufficiale. Questo calcolatore della lettera DNI/NIF spagnolo accetta un corpo di otto cifre — oppure un DNI completo di nove caratteri con lettera —, applica la mappatura modulo ventitré dell'Agencia Tributaria e restituisce la lettera di controllo, l'identificativo completo e un flag valid chiaro quando è stata fornita una lettera. Gli identificativi NIE che iniziano con X, Y o Z usano la stessa tabella dopo la sostituzione standard delle cifre. Spazi e trattini vengono rimossi così l'incolla da documenti continua a funzionare.
Come si calcola la lettera di controllo del DNI spagnolo
Ogni DNI spagnolo di persona fisica è composto da otto cifre decimali più un carattere alfabetico di controllo. Le cifre formano un intero N tra zero e novantanove milioni novecentonovantanovemila novecentonovantanove; gli zeri iniziali sono significativi e restano nel corpo visualizzato, così un documento stampato come zero zero uno due tre quattro cinque sei resta il numero centoventitremilaquattrocentocinquantasei per l'aritmetica. La lettera di controllo non è una scelta libera del cittadino: è del tutto determinata da N.
Si calcola il resto di N diviso per ventitré e si cerca quel resto nella tabella ufficiale ordinata di ventitré lettere: T R W A G M Y F P D X B N J Z S Q V H L C K E. Il resto zero corrisponde a T, uno a R, quattordici a Z, e così via fino a ventidue che dà E.
Le lettere I, Ñ, O e U non compaiono mai in questa tabella, scelta deliberata per evitare confusione visiva con le cifre e con l'ortografia spagnola. La stessa regola modulare è il controllo del NIF personale nei moduli fiscali: per i residenti il NIF è semplicemente il DNI con la sua lettera.
I numeri NIE dei residenti stranieri iniziano con X, Y o Z seguiti da sette cifre e una lettera; prima del modulo, X si sostituisce con zero, Y con uno e Z con due così il motore lavora ancora su un intero a otto cifre.
Dove verificare la lettera del DNI evita errori
I moduli di onboarding e KYC per clienti spagnoli chiedono spesso di digitare un DNI o un NIF e necessitano di un controllo istantaneo lato client prima di una revisione back-office più lenta. Le importazioni di paghe e HR ricevono identificativi dipendenti da fogli di calcolo dove una sola lettera sbagliata rifiuterebbe un intero lotto; un oracolo deterministico che restituisce la lettera attesa e valid consente di segnalare le righe senza chiamare portali governativi.
I siti educativi che si posizionano su frasi come calcolatore lettera dni spagnolo o lettera di controllo dni nif hanno bisogno di uno strumento gratuito live il cui percorso browser coincida con l'automazione affinché le catture dei tutorial restino accurate. Espatriati e residenti che recuperano un documento consumato possono ricordare solo le otto cifre e aver bisogno della lettera per appuntamenti online, dichiarazioni fiscali o contratti mobili.
Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita resta nel modello di costo analitico senza token di modello e senza rete in uscita.
Casi d'uso
Precontrolli di moduli e KYC
Validi la lettera di un DNI o NIF spagnolo digitato prima dell'invio, così l'utente corregge i refusi senza un andata e ritorno al server di sistemi governativi.
Recuperare la lettera di controllo dalle cifre
Calcoli la lettera ufficiale da un corpo di otto cifre quando il documento è usurato, parzialmente leggibile o archiviato senza la lettera.
Importazioni batch di paghe e CRM
Valuti righe di identificativi spagnoli negli script: ricalcoli la lettera, imposti valid e isoli le discrepanze prima che raggiungano i sistemi HR.
Domande frequenti
Come si calcola la lettera di controllo del DNI spagnolo?
Prenda il corpo di otto cifre come intero, calcoli quel numero modulo ventitré e scelga la lettera a quell'indice nella tabella ufficiale TRWAGMYFPDXBNJZSQVHLCKE. Ad esempio, 12345678 modulo 23 è 14, che mappa a Z.
Qual è la differenza tra DNI e NIF in questo strumento?
Per le persone fisiche il NIF personale è il DNI inclusa la lettera di controllo. Questo strumento calcola e verifica quella lettera condivisa.
Supporta i numeri NIE?
Sì. Le forme NIE con X, Y o Z più sette cifre (lettera opzionale) usano la stessa tabella dopo aver mappato X a 0, Y a 1 e Z a 2.
Cosa succede se la lettera è sbagliata?
Quando invia un identificativo completo, la risposta include comunque la lettera attesa e la stringa full, e valid è false se la lettera fornita non coincide.
Perché un DNI non finisce mai con I, Ñ, O o U?
Perché queste lettere sono state escluse di proposito dalla tabella delle 23 lettere di controllo, per non confonderle con le cifre o con l'ortografia spagnola. Un DNI che termina con una di esse non può essere corretto.
Strumenti correlati
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/enc/dni-spain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dni":"12345678"}'const res = await fetch("https://api.kit.forhosting.com/enc/dni-spain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dni": "12345678"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/dni-spain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dni": "12345678"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/dni-spain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dni":"12345678"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dni":"12345678"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/dni-spain", 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
{
"dni": "12345678"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.dni_spain",
"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. |
Note tecniche
Un input malformato fallisce con invalid_input invece di inventare una lettera.
Contratto di input, forma della risposta e modalità di validazione
Il valore può essere solo un corpo di otto cifre; in quel caso la capability opera in modalità compute: restituisce la lettera di controllo, l'identificativo completo, il resto usato come indice di tabella, kind impostato a dni, mode impostato a compute e valid true perché non è stata fornita una lettera in conflitto. I corpi NIE nella forma lettera X, Y o Z più sette cifre, con o senza lettera di controllo finale, seguono le stesse due modalità con kind nie. Spazi, punti, trattini, underscore e barre vengono rimossi prima del parsing così i numeri copiati da PDF o documenti spagnoli con separatori restano analizzabili. In caso di successo il corpo include anche la stringa fissa della tabella affinché i client possano mostrare la mappatura completa accanto alla risposta senza codificare una seconda copia. Invii un corpo JSON con un campo stringa obbligatorio denominato dni. Sono accettati gli alias text, input, number, nif, value e s così client leggeri e caselle di testo generiche riutilizzano lo stesso endpoint senza rinominare i campi. Il valore può anche essere otto cifre più una lettera, ad esempio uno due tre quattro cinque sei sette otto Z; quel percorso è la modalità validate: il motore ricalcola la lettera attesa, la confronta con quella fornita dopo la conversione in maiuscolo, imposta valid a true o false ed emette provided_letter così le interfacce evidenziano un carattere digitato male senza indovinare. Stringhe vuote, oggetti non stringa, conteggi di cifre errati, lettere fuori dalla tabella ufficiale e pattern che non sono né DNI né NIE sollevano invalid_input con un messaggio che nomina il problema; tali fallimenti non sono fatturati. Le chiamate API riuscite costano il prezzo base pubblicato di $0.002 per elemento; lo strumento nel browser resta gratuito per i controlli interattivi.
Dove un'API della lettera DNI crea valore
Gli sviluppatori di suite fiscali multi-paese possono chiamare questo endpoint specializzato quando il paese è la Spagna e vogliono la lettera stessa, non solo un booleano, mantenendo un verificatore di formato multi-paese separato per altre giurisdizioni.
Domande tecniche
Quanto costa il calcolatore della lettera DNI/NIF spagnolo?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.