Cómo validar un número IBAN: guía paso a paso

Cómo validar un número IBAN: guía paso a paso

Aprende a validar números IBAN mediante el algoritmo MOD-97. Guía completa con ejemplos prácticos, fragmentos de código y buenas prácticas para implementar la validación de IBAN en tus sistemas de pago.

Escrito por Random IBAN Team · Publicado el 2025-01-15 · Actualizado el 2026-02-01
#IBAN validation #MOD-97 algorithm #IBAN verification #IBAN checksum #payment systems

Validar un IBAN es un paso fundamental en cualquier sistema de procesamiento de pagos para detectar valores mal formados o escritos incorrectamente antes de que entren en tu flujo de pagos. La validación de IBAN consiste en comprobar el formato, verificar el código de país, confirmar la longitud correcta y, sobre todo, validar los dígitos de control mediante el algoritmo MOD-97: ISO 13616-1 define la estructura del IBAN, mientras que ISO/IEC 7064 define el esquema de dígitos de control MOD97-10. Estas comprobaciones no demuestran que la cuenta bancaria subyacente exista, esté asignada o pueda recibir un pago.


Paso 1: Verificar el formato

El primer paso para validar un IBAN es comprobar su formato. Todo IBAN válido debe comenzar con un código de país de dos letras, seguido de dos dígitos de control (0-9) y, a continuación, el Basic Bank Account Number (BBAN). Elimina todos los espacios y convierte la cadena completa a mayúsculas antes de validarla, ya que los IBAN no distinguen entre mayúsculas y minúsculas, aunque deben normalizarse para procesarlos. Rechaza cualquier entrada que contenga caracteres especiales, empiece por números o no siga el patrón de código de país más dígitos.


Paso 2: Comprobar el código de país y la longitud

Después, verifica que tu sistema reconoce y admite el código de país. Random IBAN admite actualmente 42 países, entre ellos DE (Alemania), FR (Francia), GB (Reino Unido), ES (España) e IT (Italia). Cada país tiene una longitud de IBAN específica:

País Código Longitud
Alemania DE 22
Francia FR 27
Reino Unido GB 22
España ES 24
Italia IT 27

Si la longitud de la entrada no coincide con la especificación del código de país indicado, el IBAN no es válido.


Paso 3: Validar los dígitos de control con MOD-97

El paso más importante es verificar los dígitos de control mediante el algoritmo MOD-97. Bajo un modelo sencillo de errores aleatorios uniformes, un valor incorrecto supera la prueba con una probabilidad de 1/97, lo que supone una tasa de detección estimada de aproximadamente el 98,97 %; los patrones reales de errores tipográficos pueden ser distintos. La comprobación confirma la coherencia interna, no la existencia de una cuenta:

  1. Mueve los cuatro primeros caracteres (el código de país y los dígitos de control) al final; por ejemplo, DE89370400440532013000 se convierte en 370400440532013000DE89.
  2. Sustituye cada letra por su valor numérico correspondiente (A=10, B=11, ..., Z=35); D=13, E=14 → 370400440532013000131489.
  3. Calcula el módulo 97: divide el número resultante entre 97.
  4. Comprueba el resto: si es igual a 1, el IBAN es válido.

Ejemplo de código: JavaScript

Este fragmento solo comprueba la suma de control MOD-97. Valida por separado el país, la longitud, los caracteres permitidos y las reglas nacionales aplicables; superar la comprobación no verifica que la cuenta exista.

function validateIBAN(iban) {
  const cleaned = iban.replace(/\s/g, '').toUpperCase();
  const rearranged = cleaned.slice(4) + cleaned.slice(0, 4);
  const numeric = rearranged.replace(/[A-Z]/g, (ch) =>
    (ch.charCodeAt(0) - 55).toString()
  );
  const remainder = BigInt(numeric) % 97n;
  return remainder === 1n;
}

Buenas prácticas de implementación

En sistemas de producción, implementa la validación en varios puntos del flujo de datos:

  • En el cliente: valida en el navegador para ofrecer comentarios inmediatos.
  • En el servidor: repite la validación en el backend para protegerte frente a manipulaciones.
  • En el almacenamiento: guarda solo IBAN validados en tu base de datos.
  • En la monitorización: registra métricas agregadas de fallos de validación y evita guardar IBAN completos en los logs.

Puedes probar tu lógica de validación con nuestro generador de IBAN para crear casos de prueba sintéticos con una suma de control válida y verificar tu implementación con nuestro validador de IBAN en línea. Ninguna de las dos herramientas verifica que una cuenta exista o esté asignada.


Errores frecuentes que debes evitar

  • Olvidar normalizar la entrada (eliminar espacios y convertirla a mayúsculas).
  • Usar una conversión incorrecta de caracteres a números (recuerda que A=10, no A=1).
  • Intentar validar con enteros normales en lugar de enteros grandes (errores de desbordamiento).
  • No actualizar las especificaciones de longitud por país cuando cambien las normativas.

Valida siempre según las especificaciones ISO 13616-1 más recientes y el esquema de dígitos de control ISO/IEC 7064 MOD97-10.

Prueba Nuestras Herramientas IBAN

Pon en práctica tus conocimientos con nuestras herramientas gratuitas.