Cómo comprobar si un DNI, NIE, CIF o IBAN es válido

Cómo se calcula la letra del DNI y del NIE, el control del CIF y del IBAN, y por qué un número bien formado no significa que exista. Con validador gratis.

7 min de lectura
En este artículo
  1. La letra del DNI
  2. La letra del NIE
  3. El carácter de control del CIF
  4. Los dígitos de control del IBAN
  5. Tarjetas y Seguridad Social
  6. Bien formado no es lo mismo que real
  7. Por qué importa al anonimizar

Casi todos los números de identificación españoles llevan dentro una comprobación: una letra o unos dígitos que se calculan a partir del resto. Sirven para detectar erratas al teclearlos y, de paso, para que un programa sepa si una secuencia de cifras es un DNI o solo un número cualquiera.

Si solo quieres comprobar uno, pégalo en el validador gratuito de DNI, NIE, CIF e IBAN: funciona en tu navegador y no envía nada. Si quieres saber cómo funciona, sigue leyendo.

La letra del DNI

Se divide el número entre 23 y se toma el resto. Ese resto, de 0 a 22, es la posición de la letra en esta serie:

Resto01234567891011
LetraTRWAGMYFPDXB
Resto1213141516171819202122
LetraNJZSQVHLCKE

Ejemplo: 12345678 entre 23 da 536.768 y sobran 14. La posición 14 es la Z, así que el DNI completo es 12345678Z. Las letras I, Ñ, O y U no se usan para no confundirlas con otros caracteres.

La letra del NIE

El número de identidad de extranjero empieza por X, Y o Z, sigue con siete cifras y acaba en una letra de control. Para calcularla se cambia la letra inicial por un número (X = 0, Y = 1, Z = 2) y se hace lo mismo que con el DNI.

Ejemplo: X1234567 pasa a 01234567; entre 23 sobran 19, que es la L. El NIE completo es X1234567L.

El carácter de control del CIF

El NIF de una sociedad (el antiguo CIF) tiene una letra que indica el tipo de entidad (A para sociedades anónimas, B para limitadas…), siete cifras y un carácter de control. Se calcula así:

  1. Suma las cifras en posición par (la segunda, la cuarta y la sexta).
  2. Multiplica por dos cada cifra en posición impar (primera, tercera, quinta y séptima) y suma las cifras de cada resultado: 7 × 2 = 14 cuenta como 1 + 4 = 5.
  3. Suma los dos totales y quédate con la última cifra. El control es 10 menos esa cifra (y 0 si sale 10).

Según el tipo de entidad, el control se escribe como número o como letra de la serie JABCDEFGHI (J = 0, A = 1…). Ejemplo: B1234567 da control 4, así que el NIF es B12345674.

Los dígitos de control del IBAN

Un IBAN español tiene 24 caracteres: ES, dos dígitos de control y los 20 dígitos de la cuenta. La comprobación, la misma en toda Europa, es:

  1. Pasa los cuatro primeros caracteres (ES y los dos dígitos) al final.
  2. Cambia cada letra por un número: A = 10, B = 11… E = 14, S = 28.
  3. Divide el número enorme que sale entre 97. Si sobra 1, el IBAN está bien formado.

Dentro de los 20 dígitos de la cuenta hay además otros dos dígitos de control, los del antiguo código de cuenta cliente, que comprueban la entidad, la oficina y el número de cuenta.

Tarjetas y Seguridad Social

  • Tarjetas de pago: la última cifra se calcula con el algoritmo de Luhn. Empezando por la derecha, se duplica una cifra de cada dos, a lo que pase de 9 se le restan 9, y la suma total tiene que acabar en 0.
  • Número de la Seguridad Social: doce cifras, dos de provincia, ocho de número y dos de control. Las de control son el resto de dividir entre 97 las diez primeras cifras.

Bien formado no es lo mismo que real

Estas comprobaciones dicen si un número puede existir, no si existe ni de quién es. Cualquiera puede inventar un DNI con la letra correcta. Para saber si un IBAN tiene titular o si un DNI corresponde a una persona hay que preguntar a quien los emite.

Por qué importa al anonimizar

Un programa que buscara «ocho cifras y una letra» marcaría como DNI muchas cosas que no lo son: números de pedido, referencias, códigos. Comprobar la letra o el dígito de control reduce mucho los falsos positivos. Por eso AnonimData valida la letra del DNI y del NIE, el control del CIF, el IBAN con su longitud por país, las tarjetas con Luhn y la Seguridad Social con su módulo 97 antes de marcar un dato.

Y funciona también al revés: cuando sustituyes los datos por ficticios, un DNI inventado con su letra correcta y un IBAN que pasa la comprobación hacen que el documento siga funcionando en cualquier programa que los valide. Para quitar estos números de un texto al momento tienes también la herramienta gratuita de anonimizar texto.

Preguntas frecuentes

¿Cómo se calcula la letra del DNI?

Se divide el número del DNI entre 23 y se toma el resto, que va de 0 a 22. Ese resto indica la posición de la letra en la serie TRWAGMYFPDXBNJZSQVHLCKE: 0 es la T, 1 la R, y así sucesivamente. Por ejemplo, 12345678 entre 23 da resto 14, que corresponde a la Z.

¿Si la letra del DNI es correcta, el DNI existe?

No necesariamente. La letra solo comprueba que el número y la letra encajan entre sí. Cualquiera puede inventar un DNI con la letra correcta; para saber si existe y de quién es hace falta consultarlo con quien lo emite.

¿Cuántos caracteres tiene un IBAN español?

Veinticuatro: las letras ES, dos dígitos de control y los veinte dígitos de la cuenta (entidad, oficina, dos dígitos de control de la cuenta y número de cuenta).

¿Cómo se comprueba un número de tarjeta?

Con el algoritmo de Luhn: empezando por la derecha, se duplica una cifra de cada dos, se restan 9 a los resultados mayores que 9 y se suma todo. Si la suma acaba en 0, el número está bien formado.

Escrito por el equipo de AnonimData

Hacemos una herramienta que anonimiza documentos en español: DNI, IBAN, nombres, direcciones y datos de salud, en Word, Excel, PowerPoint, PDF y escaneos. Escribimos sobre lo que vemos al anonimizar documentos reales. Qué hace AnonimData

Sube tu primer documento

5 documentos gratis, sin tarjeta.