ForHosting KIT · Utilidades de desarrollo

Letra de control del DNI/NIF español

Escriba las ocho cifras de un DNI y obtenga su letra de control: 12345678 deja un resto de 14 al dividirlo entre 23, así que su letra es la Z y el número completo es 12345678Z. Pegue un DNI, NIF o NIE completo para comprobarlo. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Dni
12345678
Obtiene
Entrada
12345678
Tipo
dni
Número
12345678
Letra
Z

El Documento Nacional de Identidad (DNI) y el Número de Identificación Fiscal personal (NIF) comparten un control público: ocho dígitos seguidos de una letra tomada de una tabla fija de veintitrés caracteres. Residentes, expatriados que rellenan formularios, herramientas de nómina y flujos KYC necesitan hallar la letra correcta a partir del cuerpo numérico o comprobar que el identificador completo coincide con la regla oficial. Esta calculadora de la letra del DNI/NIF español acepta un cuerpo de ocho dígitos —o un DNI de nueve caracteres con letra—, aplica el mapeo módulo veintitrés de la Agencia Tributaria y devuelve la letra de control, el identificador completo y un indicador valid claro cuando se suministró una letra. Los NIE que empiezan por X, Y o Z usan la misma tabla tras la sustitución estándar de dígitos. Se eliminan espacios y guiones para que el pegado desde documentos funcione.

Cómo se calcula la letra de control del DNI español

Todo DNI español de persona física consta de ocho dígitos decimales más un carácter alfabético de control. Los dígitos forman un entero N entre cero y noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve; los ceros a la izquierda son significativos y se conservan en el cuerpo mostrado, de modo que un documento impreso como cero cero uno dos tres cuatro cinco seis sigue siendo el número ciento veintitrés mil cuatrocientos cincuenta y seis para la aritmética.

La letra de control no es una elección libre del ciudadano: queda completamente determinada por N. Se calcula el resto de N dividido entre veintitrés y ese resto se busca en la tabla oficial ordenada de veintitrés letras: T R W A G M Y F P D X B N J Z S Q V H L C K E. El resto cero corresponde a T, el uno a R, el catorce a Z, y así hasta el veintidós, que es E.

Las letras I, Ñ, O y U nunca aparecen en esta tabla, diseño deliberado para evitar confusión visual con dígitos y con la ortografía española. La misma regla modular es el control del NIF personal en formularios fiscales: para residentes el NIF es simplemente el DNI con su letra.

Los NIE de residentes extranjeros empiezan por X, Y o Z seguidos de siete dígitos y una letra; antes del módulo, X se sustituye por cero, Y por uno y Z por dos para que el motor siga operando sobre un entero de ocho dígitos.

Dónde ahorra problemas comprobar la letra del DNI

Los formularios de alta y KYC para clientes españoles suelen pedir un DNI o NIF y necesitan una comprobación instantánea en el cliente antes de una revisión más lenta en back-office. Las importaciones de nómina y RR. HH. reciben identificadores de empleados desde hojas de cálculo donde una sola letra errónea rechazaría un lote entero; un oráculo determinista que devuelve la letra esperada y valid permite marcar filas sin llamar a portales gubernamentales.

Los sitios educativos que posicionan por frases como calculadora letra dni español o letra de control dni nif necesitan una herramienta gratuita en vivo cuya ruta de navegador coincida con la automatización para que las capturas del tutorial sigan siendo exactas. Expatriados y residentes que recuperan un documento desgastado pueden recordar solo los ocho dígitos y necesitar la letra para citas en línea, declaraciones fiscales o contratos de móvil.

Como la implementación es parse puro de nivel A, cada llamada correcta permanece dentro del modelo de coste analítico sin tokens de modelo ni red saliente.

Precomprobaciones de formularios y KYC

Valide la letra de un DNI o NIF español tecleado antes de enviar el formulario, para que el usuario corrija errores sin una ida y vuelta al servidor de sistemas gubernamentales.

Recuperar la letra de control a partir de los dígitos

Calcule la letra oficial desde un cuerpo de ocho dígitos cuando el documento está desgastado, parcialmente legible o guardado sin la letra.

Importaciones por lotes de nómina y CRM

Puntúe filas de identificadores españoles en scripts: recalcule la letra, fije valid y aísle las discrepancias antes de que lleguen a los sistemas de RR. HH.

¿Cómo se calcula la letra de control del DNI español?

Tome el cuerpo de ocho dígitos como entero, calcule ese número módulo veintitrés y elija la letra en ese índice de la tabla oficial TRWAGMYFPDXBNJZSQVHLCKE. Por ejemplo, 12345678 módulo 23 es 14, que corresponde a Z.

¿Cuál es la diferencia entre DNI y NIF en esta herramienta?

Para personas físicas el NIF personal es el DNI incluyendo su letra de control. Esta herramienta calcula y comprueba esa letra compartida. Los CIF de empresas usan otro esquema y quedan fuera de esta calculadora.

¿Admite números NIE?

Sí. Las formas NIE con X, Y o Z más siete dígitos (letra opcional) usan la misma tabla tras mapear X a 0, Y a 1 y Z a 2.

¿Qué ocurre si la letra es incorrecta?

Cuando envía un identificador completo, la respuesta incluye la letra esperada y la cadena full, y valid es false si la letra aportada no coincide.

¿Por qué un DNI nunca termina en I, Ñ, O o U?

Porque esas letras se dejaron fuera de la tabla de 23 letras de control a propósito, para que no se confundan con cifras ni con la ortografía española. Un DNI que termine en una de ellas no puede ser correcto.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/enc/dni-spain

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/enc/dni-spain \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"dni":"12345678"}'
{
  "dni": "12345678"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.dni_spain",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Una entrada mal formada falla con invalid_input en lugar de inventar una letra.

Contrato de entrada, forma de la respuesta y modos de validación

El valor puede ser solo un cuerpo de ocho dígitos; en ese caso la capacidad opera en modo compute: devuelve la letra de control, el identificador completo, el resto usado como índice de tabla, kind igual a dni, mode igual a compute y valid en true porque no se suministró letra conflictiva. Los cuerpos NIE de la forma letra X, Y o Z más siete dígitos, con o sin letra de control final, siguen los mismos dos modos con kind nie. Espacios, puntos, guiones, guiones bajos y barras se eliminan antes del análisis para que los números copiados de PDF o documentos españoles con separadores sigan parseando. En caso de éxito el cuerpo incluye también la cadena fija de la tabla para que los clientes dibujen el mapeo completo junto a la respuesta sin codificar una segunda copia. Envíe un cuerpo JSON con un campo de cadena obligatorio llamado dni. Se aceptan los alias text, input, number, nif, value y s para que clientes ligeros y cajas de texto genéricas reutilicen el mismo endpoint sin renombrar campos. El valor también puede ser ocho dígitos más una letra, por ejemplo uno dos tres cuatro cinco seis siete ocho Z; esa vía es el modo validate: el motor recalcula la letra esperada, la compara con la letra aportada tras pasar a mayúsculas, fija valid en true o false y devuelve provided_letter para que las interfaces resalten un carácter mal tecleado sin adivinar. Cadenas vacías, objetos que no son cadena, recuentos de dígitos incorrectos, letras fuera de la tabla oficial y patrones que no son DNI ni NIE provocan invalid_input con un mensaje que nombra el problema; esos fallos no se facturan. Las llamadas API correctas cuestan el precio base publicado de $0.002 por elemento; la herramienta en el navegador sigue siendo gratuita para comprobaciones interactivas.

Dónde aporta valor una API de letra del DNI

Los desarrolladores de suites fiscales multi-país pueden llamar a este endpoint especializado cuando el país es España y desean la letra en sí, no solo un booleano, manteniendo un comprobador de formato multi-país aparte para otras jurisdicciones.

¿Cuánto cuesta la calculadora de letra del DNI/NIF español?

La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago del KIT a $0.002 por llamada correcta; la entrada inválida no se factura.

Ver la documentación completa del KIT →