Tutorial · Negocios y finanzas

Cómo validar un NIF, NIE o CIF español

El NIF, el NIE y el CIF españoles llevan un dígito o letra de control calculado con un algoritmo matemático. Eso significa que puedes verificar si un documento de identidad es formalmente válido sin acceder a ninguna base de datos: basta aplicar la fórmula.

Esta validación es útil para detectar errores de transcripción en facturas, formularios y contratos antes de que causen problemas con Hacienda o con clientes. En esta guía aprenderás los tres algoritmos con ejemplos resueltos paso a paso. Y para la gestión financiera de tu negocio, la plantilla gratuita de flujo de caja de Tótem (usatotem.com/herramientas-negocios/flujo-caja/) te ayuda a prever tus cobros y pagos mes a mes.

Qué significan NIF, NIE y CIF

El NIF (Número de Identificación Fiscal) es el DNI de los españoles más su letra de control: 8 dígitos más una letra. Es el identificador fiscal de las personas físicas españolas.

El NIE (Número de Identidad de Extranjero) identifica a los extranjeros en España: una letra inicial (X, Y o Z), 7 dígitos y una letra de control calculada igual que la del DNI.

El CIF (Certificado de Identificación Fiscal, hoy denominado NIF de persona jurídica) identifica a empresas y entidades: una letra según el tipo de entidad, 7 dígitos y un carácter de control que puede ser número o letra.

La validación que aprenderás aquí comprueba la coherencia matemática del documento: detecta dígitos erróneos o letras incorrectas. No confirma que la persona o empresa exista realmente —para eso están los servicios oficiales—, pero elimina la gran mayoría de errores de transcripción.

Paso 1: Validar un DNI/NIF (la letra del DNI)

El algoritmo: divide el número de 8 dígitos entre 23, quédate con el resto y busca la letra correspondiente en la tabla oficial: TRWAGMYFPDXBNJZSQVHLCKE (posición 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).

Ejemplo: verificar 12345678Z. Calcula 12345678 mod 23: 23 × 536768 = 12345664; resto = 12345678 − 12345664 = 14. La posición 14 de la tabla es la Z. La letra coincide: el NIF es formalmente válido.

Si el documento fuera 12345678A, el resto 14 correspondería a la Z, no a la A: habría un error de transcripción en la letra o en algún dígito.

Paso 2: Validar un NIE

El NIE se valida igual que el DNI, sustituyendo primero la letra inicial por un número: X → 0, Y → 1, Z → 2.

Ejemplo: verificar X1234567L. Sustituye la X por 0: queda 01234567, es decir, 1234567. Calcula 1234567 mod 23: 23 × 53659 = 1234157; resto = 1234567 − 1234157 = 410; 410 − 23 × 17 (391) = 19. La posición 19 de la tabla es la L. Coincide: NIE válido.

Ejemplo 2: Y2345678?. Sustituye Y por 1: 12345678. Ya calculamos antes que 12345678 mod 23 = 14 → letra Z. Un NIE Y2345678 sería válido solo si termina en Z.

Los errores más comunes en NIEs son confundir la letra inicial (X/Y/Z) y transponer dos dígitos centrales. Ambos se detectan con este cálculo porque cualquier cambio de dígito altera el resto.

En formularios, valida el NIE en el momento de la captura: un simple script con esta lógica evita que errores tipográficos lleguen a tus facturas o contratos.

Paso 3: Validar un CIF de empresa

El CIF tiene 9 caracteres: letra de tipo de entidad + 7 dígitos + control. El algoritmo del control: suma los dígitos en posiciones impares (1.ª, 3.ª, 5.ª y 7.ª de los 7 dígitos); para los de posiciones pares, duplica cada uno y suma sus dígitos; suma ambos resultados; el dígito de control es 10 menos la última cifra de esa suma (si sale 10, es 0).

Ejemplo: B1234567?. Dígitos: 1-2-3-4-5-6-7. Impares (1,3,5,7): 1+3+5+7 = 16. Pares (2,4,6): 2→4, 4→8, 6→12→1+2=3; suma = 4+8+3 = 15. Total = 31; última cifra 1; control = 10 − 1 = 9.

Ahora la letra inicial decide el formato del control: para A, B, E y H el control es obligatoriamente numérico; para P, Q, S, N y W es obligatoriamente letra (1=A, 2=B, ..., 9=I, 10=J, 0=J); para el resto (C, D, F, G, J, R, U, V) vale cualquiera de los dos.

Cómo automatizar la validación

Paso 1: normaliza la entrada antes de validar: mayúsculas, sin espacios ni guiones. «12345678-z» debe convertirse en «12345678Z».

Paso 2: comprueba el formato con una expresión regular: DNI ^[0-9]{8}[A-Z]$, NIE ^[XYZ][0-9]{7}[A-Z]$, CIF ^[ABCDEFGHJKLMNPQRSUVW][0-9]{7}[0-9A-J]$.

Paso 3: aplica el algoritmo correspondiente según el tipo detectado y compara el control calculado con el del documento.

Paso 4: en validaciones masivas (listados de clientes, facturas), procesa el fichero completo y genera un informe de los inválidos con el motivo (formato, letra de control, dígito de control). Corregir 50 errores de una vez es mucho más eficiente que descubrirlos uno a uno.

Paso 5: recuerda los límites: esta validación detecta errores tipográficos, no suplantaciones. Un DNI con letra correcta puede pertenecer a otra persona. Para verificaciones de identidad reales (KYC, contratos importantes), usa los canales oficiales.

Herramientas gratuitas mencionadas

Preguntas frecuentes

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

Se divide el número de 8 dígitos entre 23 y se toma el resto, que indica la posición en la tabla TRWAGMYFPDXBNJZSQVHLCKE (0=T, 1=R, ..., 22=E). Por ejemplo, 12345678 entre 23 da resto 14, que corresponde a la Z: 12345678Z.

¿Qué diferencia hay entre NIF, NIE y CIF?

El NIF es el DNI con letra de los españoles; el NIE identifica a extranjeros (letra X, Y o Z + 7 dígitos + letra de control); el CIF (ahora NIF de persona jurídica) identifica a empresas (letra de tipo de entidad + 7 dígitos + control numérico o letra). Los tres usan algoritmos de control verificables.

¿Validar el dígito de control garantiza que el documento es real?

No. La validación matemática solo detecta errores de transcripción: confirma que la letra o dígito de control es coherente con los números. Un documento formalmente válido puede no existir o pertenecer a otra persona; para verificar la existencia real hay que usar servicios oficiales.

¿Por qué mi CIF válido a veces es rechazado en formularios?

Suele ser por el formato del carácter de control: algunas entidades (A, B, E, H) exigen dígito numérico y otras (P, Q, S, N, W) exigen letra. Si tu CIF es B12345679 y el formulario espera letra, o viceversa, revisa que el tipo de control corresponda a la letra inicial de tu entidad.

En resumen

Validar un NIF, NIE o CIF es un cálculo de 30 segundos que evita errores caros en facturas, contratos y registros. Con los tres algoritmos de esta guía —resto entre 23 para DNI/NIE y suma ponderada para CIF— puedes verificar cualquier documento español a mano o automatizar la comprobación en tus formularios.

Implementa la validación en el punto de captura de datos de tu negocio: cada error detectado al momento es una factura rectificativa que no tendrás que emitir. Y para mantener tus finanzas bajo control, la plantilla gratuita de flujo de caja de Tótem te ayuda a anticipar cobros y pagos mes a mes.

Artículos relacionados

Privacidad por diseño. Tus archivos no salen de tu navegador.