Calculadora de letra DNI
Introduce el número de DNI (sin letra) para obtener la letra correcta según el algoritmo oficial de módulo 23.
Consejo: si tu número tiene menos de 8 cifras, se considera con ceros a la izquierda.
Verificar un DNI completo
Acepta formatos como 12345678Z o 12345678-Z.
¿Cuál es el algoritmo para calcular la letra del DNI?
El cálculo de la letra del DNI en España sigue una regla fija, simple y determinista. Se toma el número del documento (la parte numérica), se divide entre 23 y se obtiene el resto. Ese resto se usa como posición dentro de una cadena oficial de letras.
La secuencia oficial es:
TRWAGMYFPDXBNJZSQVHLCKE
De esta forma, cada número de DNI queda asociado a una única letra, lo que ayuda a detectar errores de escritura y validar rápidamente identificaciones en formularios, sistemas bancarios y aplicaciones administrativas.
Pasos del cálculo (fórmula práctica)
1) Toma la parte numérica
Ejemplo: si tienes 12345678Z, tomas 12345678.
2) Aplica módulo 23
Calcula:
resto = número % 23
En el ejemplo: 12345678 % 23 = 14.
3) Busca la letra por índice
Con el resto 14, buscas en la cadena TRWAGMYFPDXBNJZSQVHLCKE. En índice 14 corresponde la letra Z.
4) Resultado final
El DNI completo es: 12345678Z.
Tabla rápida de resto y letra
- 0 → T
- 1 → R
- 2 → W
- 3 → A
- 4 → G
- 5 → M
- 6 → Y
- 7 → F
- 8 → P
- 9 → D
- 10 → X
- 11 → B
- 12 → N
- 13 → J
- 14 → Z
- 15 → S
- 16 → Q
- 17 → V
- 18 → H
- 19 → L
- 20 → C
- 21 → K
- 22 → E
Pseudocódigo del algoritmo
letras = "TRWAGMYFPDXBNJZSQVHLCKE"
numero = parte_numerica_dni
resto = numero mod 23
letra = letras[resto]
dni_completo = numero + letra
Implementación en JavaScript
Este mismo algoritmo es el que utiliza la calculadora superior. En frontend se puede resolver con muy pocas líneas:
const LETTERS = "TRWAGMYFPDXBNJZSQVHLCKE";
function letraDNI(numero) {
return LETTERS[numero % 23];
}
Errores comunes al validar el DNI
- No convertir la letra a mayúscula: conviene normalizar para evitar falsos errores.
- Aceptar caracteres no numéricos: la parte numérica debe contener solo dígitos.
- No contemplar ceros a la izquierda: para mostrar, puede ser útil usar 8 cifras.
- Confundir DNI con NIE: el NIE usa un paso previo (X, Y, Z) antes del módulo 23.
Cuándo usar este cálculo en tus proyectos
Si estás desarrollando formularios de alta, procesos KYC, CRM internos o flujos de firma, validar la letra del DNI mejora la calidad de los datos desde el primer paso. No sustituye una verificación oficial de identidad, pero sí reduce errores tipográficos y registros inválidos.
En términos de UX, una validación instantánea en cliente evita que el usuario complete un formulario extenso y reciba el error al final. También reduce incidencias para soporte y retrabajo de backoffice.
Conclusión
El algoritmo para calcular la letra del DNI es corto, robusto y fácil de implementar. Solo necesitas la cadena oficial de letras y una operación módulo 23. Con esta base puedes construir calculadoras online, validaciones en JavaScript y comprobaciones en backend para mantener datos limpios y confiables.
Si quieres una comprobación rápida, usa la herramienta de esta página: introduce el número, calcula la letra y verifica el DNI completo en segundos.