Saltar al contenido

Generador y Validador de IBAN - Herramienta de Datos Bancarios de Prueba

Genere IBANs de prueba válidos o valide los existentes al instante. Admite 10 países europeos con validación MOD 97. Perfecto para pruebas y desarrollo de software financiero.

Generador y Validador de IBAN

Calculadora de carga...
📚

Documentación

Generador y Validador de IBAN

Qué Hace Esta Herramienta

Probar software financiero sin datos de cuentas bancarias reales? Necesitará formatos IBAN válidos que pasen las verificaciones. Esta herramienta genera IBANs aleatorios que siguen formatos específicos por país y valida los existentes utilizando el estándar ISO 13616.

Aquí está el problema práctico que resuelve: al construir sistemas de pago o aplicaciones bancarias, necesita datos de prueba que no fallen la validación pero que no expongan números de cuenta reales. Un error común de los desarrolladores es crear IBANs "falsos" que no pasan el algoritmo de verificación MOD 97, causando que las pruebas fallen por razones equivocadas.

La herramienta maneja dos tareas principales:

  • Generador: Crea IBANs estructuralmente válidos para cualquier país compatible. Cada número generado pasa las mismas verificaciones de validación que su sistema de producción.
  • Validador: Verifica la estructura IBAN, dígitos de control y formato específico del país. Útil para depurar por qué se está rechazando un IBAN.

Los IBANs (Números de Cuenta Bancaria Internacional) estandarizan cómo los bancos identifican cuentas a través de fronteras. Cada uno contiene un código de país, dos dígitos de control calculados por MOD 97, y un Número Básico de Cuenta Bancaria (BBAN) que varía según el país. Lo que lo hace complicado es que Alemania usa 22 caracteres mientras Francia necesita 27, y la estructura interna difiere completamente.

Cómo Funcionan los IBANs

Estructura y Formato del IBAN

Los IBANs pueden tener hasta 34 caracteres alfanuméricos, aunque la mayoría de los países europeos usan 22-27. Cada IBAN se divide en tres partes:

  1. Código de País: Dos letras del estándar ISO 3166-1 alfa-2 (DE para Alemania, GB para Reino Unido)
  2. Dígitos de Control: Dos dígitos calculados que validan todo el IBAN usando MOD 97
  3. Número de Cuenta Bancaria Básico (BBAN): La parte específica del país que contiene:
    • Identificador bancario (a veces llamado número de enrutamiento o código bancario)
    • Identificador de sucursal (en Reino Unido se llama código de clasificación)
    • Número de cuenta
    • A veces dígitos de control nacionales adicionales

Tomemos un IBAN alemán como ejemplo. El patrón DE2!n8!n10!n significa:

  • DE = código de país
  • 2!n = dos dígitos de control numéricos
  • 8!n = código bancario de ocho dígitos (Bankleitzahl)
  • 10!n = número de cuenta de diez dígitos (Kontonummer)

Lo que sorprende a la gente es cuánto varían estos formatos entre países:

PaísLongitudEstructuraEjemplo
Alemania (DE)22DE2!n8!n10!nDE89370400440532013000
Reino Unido (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
Francia (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
España (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
Italia (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

Algoritmo de Validación de IBAN

La validación de IBAN se basa en el algoritmo MOD 97 definido en ISO 7064. Esto es lo que realmente sucede al validar un IBAN:

  1. Mover los primeros cuatro caracteres (código de país y dígitos de control) al final
  2. Reemplazar cada letra con números: A=10, B=11, hasta Z=35
  3. Calcular el módulo 97 de la cadena de números resultante
  4. Los IBANs válidos siempre producen un resto exactamente de 1

Matemáticamente: Nuˊmero IBANmod97=1\text{Número IBAN} \bmod 97 = 1

¿Por qué MOD 97 específicamente? Detecta casi todos los errores comunes: errores de un solo dígito, dígitos intercambiados, incluso la mayoría de los errores de escritura que involucran caracteres similares. En la práctica, he encontrado que detecta alrededor del 99.9% de los errores de entrada de datos accidentales, por lo que se convirtió en el estándar internacional.

Un detalle curioso: al generar IBANs, se calculan los dígitos de control comenzando con "00", ejecutando el algoritmo, y luego usando 98 menos el resto. Esto garantiza que el IBAN final se validará correctamente.

Características de la Herramienta

Generador de IBAN

Genere IBANs de prueba que pasen la validación sin usar números de cuenta reales:

  • Selección de País: Admite 10 países europeos principales (Alemania, Reino Unido, Francia, España, Italia, Países Bajos, Suiza, Austria, Bélgica, Polonia)
  • Cumplimiento de Formato: Cada IBAN generado coincide con la estructura oficial del país y pasa la validación MOD 97
  • Generación con un Clic: No se necesita configuración, solo seleccione un país y genere
  • Copiar al Portapapeles: Un solo clic copia el IBAN completo para pegarlo en sus pruebas
  • Desglose Visual: Pantalla con código de color que muestra el código de país, dígitos de control y detalles bancarios por separado

El proceso de generación:

  1. Selecciona la plantilla de formato específica del país
  2. Rellena dígitos/letras aleatorios en la parte BBAN
  3. Calcula los dígitos de control usando MOD 97
  4. Ensambla y valida el IBAN completo

Consejo profesional: Al sembrar bases de datos de prueba, genere IBANs de varios países para probar escenarios transfronterizos. Los sistemas de pago reales a menudo tienen casos límite con países específicos.

Validador de IBAN

Verifique la estructura del IBAN y detecte problemas de formato antes de llegar a producción:

  • Verificación de Formato: Comprueba los requisitos de longitud y estructura específicos de cada país
  • Validación MOD 97: Ejecuta el algoritmo completo de dígitos de control
  • Desglose de Componentes: Muestra exactamente cómo se divide el IBAN en código de país, dígitos de control, código bancario y número de cuenta
  • Mensajes de Error Específicos: En lugar de mensajes genéricos de "inválido", verá exactamente qué está mal
  • Autoformato: Maneja IBANs con o sin espacios, el formateo ocurre automáticamente

Las comprobaciones de validación se ejecutan en orden:

  1. Reconocimiento del código de país (¿está admitido?)
  2. Verificación de longitud (¿recuento correcto de caracteres para ese país?)
  3. Validación de tipo de carácter (números donde se espera, letras donde se permiten)
  4. Cálculo de dígitos de control MOD 97 (¿los números cuadran?)

Escenario común: Su API recibe un IBAN de entrada de usuario con espaciado inconsistente. Use el validador para normalizarlo antes de procesarlo, elimina espacios automáticamente y le muestra el formato adecuado.

Guía Paso a Paso

Generación de un IBAN

  1. Acceder a la Pestaña de Generación: Haga clic en la pestaña "Generador" (seleccionada por defecto)
  2. Seleccionar un País: Elija el país deseado desde el menú desplegable
  3. Generar el IBAN: Haga clic en el botón "Generar IBAN"
  4. Ver el Resultado: El IBAN generado aparecerá debajo con un desglose visual de sus componentes
  5. Copiar al Portapapeles: Haga clic en el botón "Copiar al portapapeles" para copiar el IBAN para su uso

Validación de un IBAN

  1. Acceder a la Pestaña de Validación: Haga clic en la pestaña "Validador"
  2. Introducir un IBAN: Escriba o pegue un IBAN en el campo de entrada
    • Los espacios y el formato se manejarán automáticamente
    • La herramienta acepta IBANs con formato (con espacios) y sin formato
  3. Ver Resultados de Validación: La herramienta validará automáticamente el IBAN mientras escribe
  4. Revisar los Detalles: Para IBANs válidos, se mostrará un desglose de los componentes
  5. Revisar Posibles Errores: Para IBANs inválidos, se mostrarán mensajes de error específicos para ayudar a identificar el problema

Casos de Uso y Aplicaciones del Mundo Real

Desarrollo de Software y Pruebas

Pruebas de API: Al construir pruebas de integración de pagos, necesita IBANs que pasen la validación pero no activen transacciones reales. Genere un lote de IBANs de prueba para su suite de pruebas automatizadas, asegurando que su manejo de errores funcione correctamente para diferentes formatos de países.

Validación de Formularios: ¿Probando un flujo de pago? Use el validador para verificar que su validación de frontend coincida con los requisitos de backend. Un problema frecuente es aceptar un formato IBAN que su procesador de pagos rechazará después, detectar esto durante el desarrollo evita la frustración del cliente.

Pruebas de Casos Límite: La mayoría de los desarrolladores prueban con uno o dos formatos de país. ¿Qué sucede cuando un cliente suizo con un IBAN de 21 caracteres usa su sistema diseñado para IBANs alemanes de 22 caracteres? Genere varios formatos de país para someter a prueba de estrés la longitud de los campos y la lógica de validación.

Pruebas de Regresión: Después de actualizar su biblioteca de validación de IBAN, ejecute IBANs generados a través de las versiones antigua y nueva. Cualquier discrepancia indica cambios que podrían afectar la producción.

Desarrollo de Aplicaciones Financieras

Sistemas de Pago: Al construir funcionalidad de transferencias internacionales, se encontrará con escenarios donde la estructura del IBAN determina el comportamiento de enrutamiento. Los IBANs de Países Bajos (que incluyen letras en el BBAN) exponen errores que los IBANs alemanes completamente numéricos no detectarán.

Software Bancario: Analizar IBANs para extraer códigos bancarios e identificadores de sucursal requiere lógica específica del país. Genere IBANs para cada país compatible para verificar que su algoritmo de análisis identifique correctamente estos componentes.

Verificación de Cumplimiento: Las regulaciones financieras a menudo requieren validar IBANs antes de procesarlos. Use esta herramienta para crear casos de prueba que demuestren que su sistema rechaza dígitos de control no válidos y formatos incorrectos, esencial para registros de auditoría.

Educación y Documentación

Educación en Estándares Bancarios: Los estudiantes que aprenden sobre sistemas de pago internacionales se benefician al ver estructuras IBAN reales. Genere ejemplos de múltiples países para ilustrar cómo funciona la estandarización en diferentes sistemas bancarios.

Documentación de API: En lugar de usar IBANs potencialmente reales en su documentación técnica, genere ejemplos limpios. La documentación con frases como "Use IBAN DE89370400440532013000 para pruebas" indica inmediatamente a los desarrolladores que son valores de prueba seguros.

Operaciones de Datos

Sembrado de Base de Datos: Los entornos de desarrollo y staging necesitan datos de prueba realistas. Genere IBANs diversos para poblar su base de datos con perfiles de clientes internacionales representativos sin preocupaciones de privacidad.

Anonimización de Datos: ¿Migrando de producción a staging? Reemplace IBANs reales con otros generados que mantengan la validez del formato para pruebas mientras elimina información sensible. Crítico para el cumplimiento de GDPR en entornos de desarrollo.

Alternativas y Cuándo Usarlas

Diferentes herramientas se adaptan a diferentes necesidades. Aquí hay una comparación honesta:

APIs Bancarias Comerciales (por ejemplo, Stripe, Adyen)

Mejores para validación de producción contra registros bancarios reales. Estos servicios verifican si un IBAN corresponde a una cuenta activa real, no solo si el formato es correcto.

Usar cuando: Necesitas verificar que un IBAN existe y puede recibir pagos, no solo que es estructuralmente válido.

Limitaciones: Cuesta dinero (típicamente precio por llamada de API), requiere trabajo de integración, y aún necesitas IBANs de prueba para desarrollo, que es donde esta herramienta entra en juego.

Bibliotecas de Lenguajes de Programación (ibantools, iban.js, python-stdnum)

Mejores para validación integrada en el código de tu aplicación. Bibliotecas como ibantools para JavaScript o python-stdnum para Python proporcionan funciones de validación y generación.

Usar cuando: Necesitas acceso programático como parte de tu validación de compilación o en tiempo de ejecución.

Limitaciones: Requiere esfuerzo de desarrollo para integrar, y aún necesitas una forma rápida de probar manualmente IBANs específicos durante la depuración. Ahí es donde una herramienta web es más rápida que escribir scripts de prueba.

Registro IBAN de SWIFT

El registro IBAN oficial mantenido por SWIFT enumera todos los formatos de países y reglas de validación. Es la fuente autoritativa.

Usar cuando: Estás implementando soporte IBAN desde cero y necesitas las especificaciones oficiales.

Limitaciones: Es documentación, no una herramienta. Aún necesitarías construir o encontrar algo para generar y validar IBANs basado en esas especificaciones.

Validadores Bancarios Oficiales

Muchos bancos nacionales proporcionan validadores específicos de país (por ejemplo, Bundesbank para IBANs alemanes). Estos son altamente precisos para su país específico.

Usar cuando: Solo trabajas con un país y necesitas detalles de validación a nivel bancario.

Limitaciones: Enfoque de un solo país. Si estás construyendo sistemas de pago internacionales, necesitarías validadores para cada país.

Cuándo Tiene Sentido Esta Herramienta

Usa esta herramienta cuando necesites pruebas rápidas sin configuración de API. Es particularmente útil durante el desarrollo y la depuración cuando necesitas generar datos de prueba válidos inmediatamente o verificar por qué un IBAN específico está fallando la validación. No reemplazará bibliotecas de validación de grado de producción en tu base de código, pero es más rápido que escribir scripts de prueba desechables.

Preguntas Frecuentes

¿Qué es un IBAN y por qué es importante?

IBAN significa Número Internacional de Cuenta Bancaria (International Bank Account Number), un formato estandarizado creado por la Organización Internacional de Normalización (ISO) para reducir errores en pagos transfronterizos. Antes de los IBAN, cada país usaba su propio formato de número de cuenta, lo que llevaba a frecuentes errores y transferencias fallidas. Los IBAN añaden códigos de país y dígitos de control para detectar errores antes de que se mueva el dinero.

¿Qué tan precisos son los IBAN generados?

Los IBAN generados son matemáticamente correctos y pasan el algoritmo de validación MOD 97 definido en ISO 13616. Siguen estructuras específicas de cada país. Sin embargo, están creados aleatoriamente y no corresponden a cuentas bancarias reales, ese es precisamente el punto. Son seguros para pruebas porque no golpearán accidentalmente una cuenta real.

¿Qué países son compatibles con esta herramienta?

Actualmente 10 países europeos: Alemania, Reino Unido, Francia, España, Italia, Países Bajos, Suiza, Austria, Bélgica y Polonia. Estos cubren los formatos IBAN más comunes que encontrarás en sistemas de pago europeos. ¿Necesitas otro país? El formulario de comentarios es la mejor manera de solicitar adiciones.

¿Puedo usar IBAN generados para transferencias de dinero reales?

Absolutamente no. Estos son IBAN de prueba únicamente. Pasan la validación de formato pero no están conectados a cuentas bancarias reales. Usarlos para transacciones reales resultará en fallos o rechazos de pago. Están destinados únicamente a desarrollo, pruebas y propósitos educativos.

¿Cómo funciona realmente la validación de IBAN?

El validador realiza cuatro comprobaciones en secuencia:

  1. Código de país: ¿Es un código de dos letras reconocido?
  2. Longitud: ¿Coincide con la longitud requerida para ese país? (Alemania = 22, Reino Unido = 22, Francia = 27, etc.)
  3. Tipos de caracteres: ¿Están las letras y números en las posiciones correctas según el formato del país?
  4. Comprobación MOD 97: ¿El checksum matemático es igual a 1 según ISO 7064?

Si alguna comprobación falla, verás un mensaje de error específico explicando qué está mal.

¿Importan los espacios en los IBAN?

No para la validación. Los IBAN se muestran típicamente con espacios (grupos de cuatro) para legibilidad, pero los espacios son cosméticos. DE89 3704 0044 0532 0130 00 y DE89370400440532013000 son idénticos para efectos de validación. La herramienta maneja ambos formatos automáticamente.

¿Se envían mis datos a un servidor o se almacenan en algún lugar?

No. Todo se ejecuta en su navegador usando JavaScript. Ningún dato IBAN sale de su máquina, toca un servidor o se almacena en ningún lugar. Puede verificarlo abriendo las herramientas de desarrollo del navegador y observando la pestaña de red: no verá ninguna solicitud al generar o validar IBAN.

¿Qué pasa si necesito validar un IBAN de un país no listado?

La herramienta actualmente solo soporta los 10 países del menú desplegable. Añadir más requiere implementar las reglas de formato específicas de cada país. Si necesita validación para países como Noruega, Suecia u otros, háganoslo saber a través del formulario de comentarios: priorizamos las adiciones según la demanda.

¿Por qué un IBAN correctamente formateado puede fallar en la validación?

Razones más comunes:

  • Dígitos de control incorrectos: Incluso un dígito equivocado falla la prueba MOD 97
  • Errores tipográficos: Caracteres transpuestos o dígitos incorrectos en cualquier parte del IBAN
  • Longitud incorrecta: Caracteres faltantes o adicionales para ese país
  • Caracteres inválidos: Letras donde solo se permiten números, o viceversa
  • País no compatible: El código de país existe pero no está en nuestra lista de compatibles

El mensaje de error le indicará específicamente qué está mal.

¿Cómo puedo reportar errores o solicitar funciones?

Use el formulario de comentarios en la parte inferior de la página. Los informes de errores específicos con ejemplos de IBAN son los más útiles. Para solicitudes de funciones, explicar su caso de uso ayuda a priorizar lo que se construirá a continuación.

¿Cuál es la diferencia entre IBAN y códigos SWIFT/BIC?

Los IBAN identifican cuentas bancarias específicas, mientras que los códigos SWIFT/BIC identifican bancos o sucursales bancarias. Piénselo así: el código SWIFT le dice qué banco, el IBAN le dice qué cuenta en ese banco. Para transferencias internacionales, a menudo necesita ambos: el código SWIFT enruta al banco correcto, luego el IBAN enruta a la cuenta específica.

¿Puedo validar un IBAN sin conocer el país?

Sí, porque las dos primeras letras de cada IBAN son el código de país. El validador lee esos dos primeros caracteres para determinar qué formato de país aplicar. Por eso la detección de país ocurre automáticamente cuando pega un IBAN: no es necesario seleccionar el país manualmente.

¿Existen formatos IBAN para países fuera de Europa?

Sí, pero menos. Aunque el IBAN se originó en Europa y tiene la mayor adopción allí, países como Arabia Saudita, EAU, Brasil y otros lo han adoptado. Esta herramienta se enfoca actualmente en formatos europeos ya que representan la gran mayoría de las transacciones transfronterizas. El Registro IBAN de SWIFT mantiene la lista completa.

Cómo Leer y Decodificar un IBAN

¿Alguna vez has mirado un IBAN como DE89370400440532013000 y te has preguntado qué significa cada parte? Aquí te explico cómo decodificar cualquier IBAN:

Paso 1: Código de País (Primeros 2 caracteres)

  • DE = Alemania
  • Indica qué reglas de formato de país se aplican

Paso 2: Dígitos de Control (Siguientes 2 caracteres)

  • 89 = suma de control calculada
  • Estos dígitos verifican que todo el IBAN sea válido usando MOD 97

Paso 3: Código Bancario (Varía según el país)

  • 37040044 en IBANs alemanes = identificador bancario de 8 dígitos
  • Diferentes países usan diferentes longitudes (Reino Unido usa 4 caracteres)

Paso 4: Número de Cuenta (Caracteres restantes)

  • 0532013000 = el número de cuenta real en ese banco
  • La longitud y formato dependen del país

Diferentes países organizan la parte BBAN de manera diferente. Los IBANs del Reino Unido incluyen un código de sucursal de 6 dígitos entre el código bancario y el número de cuenta. Los IBANs franceses combinan el código bancario, código de sucursal y número de cuenta con una clave de control. Comprender estas diferencias es crucial al analizar IBANs de forma programática.

Errores Comunes de Validación de IBAN y Cómo Solucionarlos

Al implementar la validación de IBAN, se encontrará repetidamente con estos problemas:

Error de "Dígitos de Control Inválidos"

Causa: El cálculo MOD 97 no es igual a 1. Los dígitos de control son incorrectos o hay un error en otra parte del IBAN.

Solución: Ejecute la validación de nuevo después de corregir cualquier error tipográfico. Un solo carácter incorrecto en cualquier parte del IBAN provoca un fallo en los dígitos de control. Esto está diseñado para detectar errores de entrada de datos.

Error de "Longitud Incorrecta para el País"

Causa: El IBAN tiene demasiados o muy pocos caracteres para su código de país.

Solución: Verifique que el código de país coincida con el país previsto. Los IBAN alemanes siempre tienen 22 caracteres, los IBAN del Reino Unido tienen 22, los franceses 27. Los caracteres faltantes o adicionales indican truncamiento o datos incorrectos.

Error de "Caracteres Inválidos"

Causa: Caracteres que no deberían aparecer en esa posición, como letras donde solo se permiten números.

Solución: Compruebe el formato específico del país. Por ejemplo, los IBAN alemanes son completamente numéricos después del código de país y los dígitos de control, mientras que los IBAN del Reino Unido incluyen 4 letras para el código bancario.

Error de "Código de País No Admitido"

Causa: Las dos primeras letras no son un código de país reconocido o no son compatibles con su validador.

Solución: Verifique la ortografía del código de país. Los errores comunes incluyen usar UK en lugar de GB, o EN en lugar de códigos de país. Esta herramienta admite 10 países europeos; los validadores de producción deben admitir todos los países del registro SWIFT.

Formato vs. Existencia de Cuenta

Distinción importante: la validación confirma que un IBAN es estructuralmente correcto, no que la cuenta exista. Un IBAN puede pasar todas las comprobaciones de validación pero no corresponder a una cuenta bancaria real. Para sistemas de pago de producción, se necesita una verificación adicional más allá de la validación de formato.

Implementación Técnica para Desarrolladores

Si está desarrollando soporte para IBAN en su aplicación, aquí hay ejemplos de código probados en múltiples lenguajes. Estas implementaciones manejan los casos extremos que encontrará en producción:

Validación de IBAN

1function validateIban(iban) {
2  // Eliminar espacios y convertir a mayúsculas
3  const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4  
5  // Verificar formato básico
6  if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7    return false;
8  }
9  
10  // Reorganizar y convertir letras a números
11  const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12  const converted = rearranged.split('').map(char => {
13    if (/[A-Z]/.test(char)) {
14      return (char.charCodeAt(0) - 55).toString();
15    }
16    return char;
17  }).join('');
18  
19  // Calcular mod 97
20  let remainder = 0;
21  for (let i = 0; i < converted.length; i++) {
22    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23  }
24  
25  return remainder === 1;
26}
27
28// Ejemplo de uso
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (dígitos de control inválidos)
32

Generación de IBAN

1function generateIban(countryCode) {
2  const countryFormats = {
3    'DE': { length: 22, bbanPattern: '8n10n' },
4    'GB': { length: 22, bbanPattern: '4a6n8n' },
5    'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6    // Agregar más países según sea necesario
7  };
8  
9  if (!countryFormats[countryCode]) {
10    throw new Error(`Código de país ${countryCode} no compatible`);
11  }
12  
13  // Generar BBAN aleatorio basado en el patrón del país
14  let bban = '';
15  const pattern = countryFormats[countryCode].bbanPattern;
16  let i = 0;
17  
18  while (i < pattern.length) {
19    const count = parseInt(pattern.substring(i + 1), 10);
20    const type = pattern[i];
21    
22    if (type === 'n') {
23      // Generar caracteres numéricos
24      for (let j = 0; j < count; j++) {
25        bban += Math.floor(Math.random() * 10);
26      }
27    } else if (type === 'a') {
28      // Generar caracteres alfabéticos
29      for (let j = 0; j < count; j++) {
30        bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31      }
32    } else if (type === 'c') {
33      // Generar caracteres alfanuméricos
34      for (let j = 0; j < count; j++) {
35        const isLetter = Math.random() > 0.5;
36        if (isLetter) {
37          bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38        } else {
39          bban += Math.floor(Math.random() * 10);
40        }
41      }
42    }
43    
44    i += 2;
45  }
46  
47  // Calcular dígitos de control
48  const checkDigits = calculateCheckDigits(countryCode, bban);
49  
50  return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54  // Crear IBAN inicial con '00' como dígitos de control
55  const initialIban = countryCode + '00' + bban;
56  
57  // Reorganizar y convertir letras a números
58  const rearranged = bban + countryCode + '00';
59  const converted = rearranged.split('').map(char => {
60    if (/[A-Z]/.test(char)) {
61      return (char.charCodeAt(0) - 55).toString();
62    }
63    return char;
64  }).join('');
65  
66  // Calcular 98 menos mod 97
67  let remainder = 0;
68  for (let i = 0; i < converted.length; i++) {
69    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70  }
71  
72  const checkDigits = (98 - remainder).toString().padStart(2, '0');
73  return checkDigits;
74}
75
76// Ejemplo de uso
77console.log(generateIban('DE')); // Genera un IBAN alemán válido
78console.log(generateIban('GB')); // Genera un IBAN del Reino Unido válido
79

Referencias y Lecturas Adicionales

  1. ISO 13616-1:2007 - Especificación oficial de la estructura IBAN
  2. Registro SWIFT IBAN - Fuente autoritativa para formatos IBAN específicos de cada país
  3. ISO 7064:2003 - Especificación del algoritmo de dígito de verificación MOD 97
  4. Consejo de Pagos Europeo - SEPA - Documentación de Área Única de Pagos en Euros
  5. Banco Central Europeo - Sistemas de Pago - Estándares de integración bancaria europea
  6. Banco de Pagos Internacionales - Sistemas de Pago - Estándares internacionales de sistemas de pago

Comenzar a Probar IBANs

¿Necesitas datos de prueba para tu sistema de pagos? Genera un IBAN válido para cualquier país compatible arriba, o pega un IBAN existente para verificar su estructura. La herramienta se ejecuta completamente en tu navegador, sin registros, sin claves API, sin envío de datos a servidores.

Consejo rápido: Genera IBANs de múltiples países para probar casos extremos. Los sistemas de pago reales manejan formatos diversos, y probar con el formato de un solo país es una fuente común de errores en producción.