También disponible en: English · Português · Français · العربية
Validador de IBAN
Comprueba los dígitos de control de un IBAN, mira qué implica el resto del número y descubre exactamente qué error se cuela.
¿Qué es un validador de IBAN?
El IBAN es el formato internacional del número de cuenta bancaria: dos letras del país, dos dígitos de control y después lo que cada país use por dentro. Lo interesante son los dígitos de control, que se calculan a partir de todos los demás caracteres. Si uno solo se teclea mal, la cuenta ya no sale, y el error se caza antes de que la transferencia salga a ninguna parte.
Un validador de IBAN hace esa aritmética. Pasa los cuatro primeros caracteres al final, sustituye cada letra por un número donde la A es 10 y la Z es 35, lee todo como un único entero larguísimo y toma el resto módulo 97. Un IBAN válido deja resto 1. Ese es el algoritmo entero, está especificado como ISO 7064 MOD 97-10, y no necesita ninguna base de datos.
Ese último punto merece detenerse, porque decide qué puede prometer esta página con honestidad. Comprobar los dígitos de control es aritmética pura y siempre acierta. Todo lo demás, como a qué país corresponde un código o cuántos caracteres debería tener allí un IBAN, sale de un registro publicado que cambia con el tiempo. La herramienta mantiene las dos cosas separadas y te dice cuál es cuál.
Cómo se usa
- Pega un IBAN, con espacios o sin ellos. Los espacios y los guiones se ignoran y se acepta minúscula, así que un IBAN copiado de una factura en grupos de cuatro sirve tal cual. No hay nada que seleccionar ni país que elegir antes: el país se lee de las dos primeras letras.
- Lee el veredicto. El panel dice si los dígitos de control son correctos. Cuando no lo son, muestra los dos que implican los demás caracteres, lo que suele señalar directamente qué se torció. Debajo van el país, la longitud y la longitud que da el registro para ese país.
- Mira la fila de longitud, no solo el veredicto. Los dígitos de control y la longitud cazan errores distintos, y la fila de longitud es lo único que caza el que se explica más abajo. Si el código de país no está en la instantánea, la herramienta lo dice en vez de dar el IBAN por inválido.
Qué detecta, contado y no repetido
Lo que suele decirse es que el módulo 97 lo caza casi todo. En vez de repetirlo, lo medimos. Tomando IBAN válidos de todas las longitudes legales y estropeándolos de uno en uno, se probaron 229.779 errores que mantienen la misma longitud: cualquier carácter sustituido por otro de su mismo tipo, y cualquier pareja intercambiada a cualquier distancia, no solo contiguas. No se escapó ninguno.
Conviene ponerlo al lado de los dos esquemas módulo 10 que este sitio ya midió igual. El algoritmo de Luhn, que protege tarjetas bancarias e IMEI, deja pasar el 2,20% de los intercambios de contiguas, siempre la misma pareja: el 0 y el 9. El ISBN-13 deja pasar el 10,21%, con cinco parejas distintas. El módulo 97 no deja pasar ninguna, y a diferencia de los otros dos su garantía no se limita a caracteres vecinos.
El motivo es aritmético, no suerte. Cada posición del número lleva un peso, y esos pesos son las potencias de 10 módulo 97. Como 10 es raíz primitiva módulo 97, esas potencias recorren 96 valores distintos antes de repetirse, así que en un IBAN real no hay dos posiciones que compartan peso. Y como 97 es primo y mayor que la diferencia entre dos caracteres cualesquiera, cualquier cambio mueve el resto. Hacen falta las dos cosas: ninguna basta por sí sola.
Sí hay un horizonte, y es exacto. Dos caracteres separados justo 96 posiciones de dígito sí comparten peso, y intercambiarlos es realmente invisible; lo comprobamos directamente. Pero el IBAN más largo que permite la norma tiene 34 caracteres, y aunque todos fueran letras se expandirían a solo 66 dígitos. El esquema tiene un punto ciego al que el IBAN es demasiado corto para llegar.
Lo único que no puede ver
Los errores que cambian la longitud son otra cosa, y ahí la garantía no se sostiene. Perder o añadir un carácter se escapa aproximadamente una vez de cada 97, que es justo lo que predice un módulo de 97 y lo que medimos: un 0,98%. Ese es el ruido de fondo de cualquier suma de control, y no se baja de ahí sin más dígitos de control.
Un caso, sin embargo, no es cuestión de azar. Un cero a la izquierda es completamente invisible para la aritmética, porque poner un cero delante de un número no cambia su valor. Añadir o quitar uno al principio del número de cuenta dejó el IBAN pasando 616 veces de 616 en nuestro barrido: no una de cada 97, sino todas. Muchos países emiten números de cuenta que empiezan por cero, así que esto no es una hipótesis.
Por eso precisamente la herramienta comprueba la longitud. Los dígitos de control y la longitud no son dos formas de hacer lo mismo: la longitud es lo único que se interpone entre tú y el único error que la aritmética es estructuralmente incapaz de notar. Cuando el número que pegas empieza por cero, la herramienta te lo dice y te manda a la fila de longitud.
Y por eso también la longitud nunca anula el veredicto. Las longitudes por país salen del registro ISO 13616, cuya autoridad de registro es SWIFT, y la instantánea aquí es la Release 99 de diciembre de 2024, con 89 códigos de país. Compararla con una copia del registro de una década antes da 30 países añadidos y ninguno eliminado, lo que suena a una tabla que como mucho puede quedarse incompleta. Pero también cambió una longitud: Costa Rica pasó de 21 caracteres a 22 en 2017. Una herramienta que rechazara un IBAN porque su propia tabla discrepa habría dado por inválida toda cuenta costarricense nueva mientras no se actualizara. Así que aquí decide la suma de control, y la tabla solo le añade una observación.
Límites honestos
Muchos países incrustan sus propios dígitos de control dentro del número de cuenta, por debajo de los del IBAN. España usa dos propios; los de Bélgica son a su vez un módulo 97 sobre los diez primeros dígitos de la cuenta, cosa que verificamos sobre un IBAN belga publicado; Francia, Italia, Noruega y los Países Bajos usan cada uno algo distinto. Esta herramienta no comprueba ninguno, así que un IBAN puede pasar aquí y seguir estando mal formado para su propio país. Eso solo lo dice una comprobación hecha para ese país.
Un IBAN válido tampoco dice nada sobre si la cuenta existe. Significa que los caracteres son coherentes entre sí, o sea que quien los tecleó probablemente no se equivocó. No significa que la cuenta llegara a abrirse, que sea de alguien en concreto o que pueda recibir dinero, y ninguna aritmética sobre el propio número puede establecer nada de eso. Solo lo sabe el banco que guarda los registros, y cualquier página que afirme verificar una cuenta sin hablar con uno está haciendo exactamente lo mismo que esta.
Aquí tampoco se identifica el banco. Los caracteres que siguen al código de país sí codifican una entidad y a menudo una sucursal, pero resolverlos exige un directorio que no es del todo público y que cambia según se fusionan y se escinden bancos, y una copia caducada se equivocaría con toda seguridad. La herramienta informa de lo que puede deducir y ahí se para.
Una cosa más, útil si comparas herramientas: una docena larga de códigos de dos letras que otros validadores listan no son países IBAN. Åland usa el formato de Finlandia bajo FI, y once territorios franceses de ultramar usan el de Francia bajo FR, así que ningún banco emite cuentas que empiecen por esos códigos aunque la aritmética las aceptaría encantada. Otros 22 países, entre ellos Marruecos, Argelia, Irán y Senegal, sí tienen formatos en uso real que no están en el registro ISO; esos se etiquetan en vez de ocultarlos o aceptarlos en silencio.
¿Por qué es gratis?
Porque es un resto. No hay servidor de por medio ni nada que descargar: la comprobación entera se ejecuta en tu navegador, y nada de lo que pegas se sube, se registra ni se guarda en ninguna parte. En una página donde la gente pega números de cuenta bancaria eso importa más de lo habitual, y por eso la aritmética está pensada para no necesitar ninguna consulta.
Así que no hay cuenta, ni registro, ni nada reservado. El motor y las 209 comprobaciones que lo verifican están en el repositorio junto a la página, incluidos los barridos que hay detrás de cada cifra citada arriba.