Cómo se calcula la letra del DNI: el algoritmo módulo 23
La letra del DNI español no es aleatoria: se obtiene con una operación matemática muy simple llamada módulo 23, definida oficialmente por el Ministerio del Interior. Consiste en dividir el número del documento entre 23, quedarse con el resto de esa división (un valor entre 0 y 22) y buscar ese resto en una secuencia fija de 23 letras:
Vamos a calcularlo paso a paso con el número 12345678:
- Divide entre 23: 12345678 ÷ 23 = 536768,6…
- Calcula el resto: 23 × 536768 = 12345664, y 12345678 − 12345664 = 14.
- Busca la posición 14 (empezando a contar desde 0) en la secuencia TRWAGMYFPDXBNJZSQVHLCKE: T(0), R(1), W(2)… hasta llegar a la Z(14).
Por tanto, al DNI 12345678 le corresponde la letra Z. Los ceros a la izquierda no cambian nada: 01234567 se calcula igual que 1234567 (resto 19, letra L), y el caso extremo 00000000 daría resto 0 y letra T.
Tabla oficial resto → letra (0 a 22)
Esta es la correspondencia completa entre el resto de la división entre 23 y la letra de control. Si sabes hacer una división con resto, puedes calcular tu letra sin calculadora:
| Resto | Letra | Resto | Letra | Resto | Letra |
|---|---|---|---|---|---|
| 0 | T | 8 | P | 16 | Q |
| 1 | R | 9 | D | 17 | V |
| 2 | W | 10 | X | 18 | H |
| 3 | A | 11 | B | 19 | L |
| 4 | G | 12 | N | 20 | C |
| 5 | M | 13 | J | 21 | K |
| 6 | Y | 14 | Z | 22 | E |
| 7 | F | 15 | S |
Fíjate en que faltan las letras I, Ñ, O y U: se excluyeron a propósito porque se confunden fácilmente con el 1, la N, el 0 y la V al leer o transcribir el documento.
Diferencia entre DNI, NIF y NIE
Aunque a menudo se usan como sinónimos, son tres cosas distintas:
- DNI (Documento Nacional de Identidad): el documento físico que identifica a los ciudadanos españoles. Consta de 8 dígitos y una letra de control.
- NIF (Número de Identificación Fiscal): el identificador ante Hacienda. Para las personas físicas españolas coincide exactamente con el número y la letra del DNI; para empresas y entidades tiene otro formato (antes llamado CIF).
- NIE (Número de Identidad de Extranjero): el identificador de los extranjeros residentes en España. Empieza por la letra X, Y o Z, seguida de 7 dígitos y una letra de control.
Cómo se calcula la letra del NIE
El NIE usa exactamente el mismo algoritmo módulo 23, pero antes hay que sustituir la letra inicial por un dígito: la X vale 0, la Y vale 1 y la Z vale 2. Ejemplo con X1234567:
Así, el NIE completo sería X1234567L. Esta calculadora hace la conversión automáticamente: basta con escribir el NIE tal cual, empezando por X, Y o Z.
Por qué existe la letra: un dígito de control
La letra del DNI es lo que en informática se llama un dígito de control (checksum): un carácter redundante que se deriva del propio número y sirve para detectar errores de transcripción. Si al copiar un DNI en un formulario alguien baila dos cifras (escribir 12345687 en lugar de 12345678) o se equivoca en un dígito, lo más probable es que el resto de la división entre 23 cambie y la letra ya no coincida. El sistema que recibe el dato puede detectar el error al instante, sin consultar ninguna base de datos.
Por eso muchos formularios web rechazan un DNI con letra incorrecta: no es que sepan si el documento existe, sino que la combinación número + letra no supera la comprobación matemática. Y por eso mismo esta herramienta también funciona como validador: escribe el documento completo (por ejemplo 12345678Z) y te dirá si la letra es correcta y, si no lo es, cuál sería la que corresponde.
El mismo principio se usa en las tarjetas bancarias (algoritmo de Luhn), en el IBAN de las cuentas corrientes o en los códigos de barras EAN: un pequeño cálculo que protege frente a errores humanos.
Validez y privacidad: todo se calcula en tu navegador
Esta calculadora ejecuta el algoritmo íntegramente en tu dispositivo mediante JavaScript. El número que escribes no se envía a ningún servidor, no se guarda en ninguna base de datos y desaparece en cuanto cierras o recargas la página. Puedes comprobarlo desconectando internet: la calculadora sigue funcionando.
Conviene aclarar también qué significa que una combinación sea «válida»: que la letra coincida con el número solo indica que el formato es matemáticamente correcto, no que ese DNI exista ni que pertenezca a una persona concreta. Esta herramienta no consulta ningún registro oficial: es una comprobación aritmética, la misma que hacen los formularios de bancos, administraciones y tiendas online.
Recuerda que el DNI es un dato personal: evita publicarlo en redes sociales o enviarlo por canales no seguros, aunque calcular su letra sea inofensivo.
Preguntas frecuentes
¿Cómo se calcula la letra del DNI?
Se divide el número del DNI entre 23 y se toma el resto de la división (un valor entre 0 y 22). Ese resto indica la posición de la letra en la secuencia oficial TRWAGMYFPDXBNJZSQVHLCKE. Ejemplo: 12345678 % 23 = 14, y la posición 14 es la Z.
¿Qué letra corresponde a un DNI que empieza por cero?
Los ceros a la izquierda no afectan al cálculo: 01234567 se trata como 1234567. Su resto al dividir entre 23 es 19, así que la letra es la L. El caso extremo 00000000 daría resto 0 y letra T.
¿Cómo se calcula la letra de un NIE?
Se sustituye la letra inicial por un dígito (X por 0, Y por 1, Z por 2), se forma el número resultante y se aplica el mismo módulo 23 que en el DNI. Ejemplo: X1234567 se convierte en 01234567, cuyo resto entre 23 es 19, letra L.
¿Por qué no se usan las letras I, Ñ, O y U?
Se excluyeron para evitar confusiones de lectura y transcripción: la I y la O se parecen al 1 y al 0, la U puede confundirse con la V y la Ñ no existe en teclados internacionales. Por eso la secuencia oficial usa solo 23 letras.
¿La letra del DNI es aleatoria o se puede elegir?
No es aleatoria ni se puede elegir: es un dígito de control que se deriva matemáticamente del número mediante el módulo 23. Dos personas con el mismo número tendrían la misma letra, por eso el número es lo que identifica y la letra solo verifica.
¿Es seguro introducir mi DNI en esta calculadora?
Sí. Todo el cálculo se ejecuta en tu navegador con JavaScript: el número que escribes no se envía a ningún servidor, no se almacena y desaparece al cerrar la página.