Todo IBAN tiene dos dígitos de control justo después del código de país, calculados con MOD-97. Muchos países añaden sus propios dígitos de control dentro del BBAN, el número de cuenta nacional. La mayoría son más antiguos que el IBAN: los bancos ya los usaban para detectar errores al teclear los números de cuenta nacionales antes de que existiera el IBAN, y el IBAN los conservó al envolver esos números.
Dos capas de comprobación
Toma el IBAN francés de ejemplo FR14 2004 1010 0505 0001 3M02 606. El 14 que sigue a FR son los dígitos de control del IBAN. Los dos últimos dígitos, 06, son la clé RIB, el control nacional francés. Cada capa protege algo distinto:
| Dígitos de control del IBAN | Dígitos de control nacionales | |
|---|---|---|
| Dónde están | Posiciones 3 y 4, en todos los IBAN | Dentro del BBAN, en el lugar que fija cada país |
| Método | MOD 97-10 (ISO/IEC 7064), el mismo en todas partes | Una regla nacional, distinta en cada país |
| Qué cubren | Todo el IBAN, incluido el código de país | Normalmente el código de banco, el de sucursal y el número de cuenta |
| Quién los define | La norma ISO 13616 | El banco central o la asociación bancaria del país |
Las dos capas son independientes. Un IBAN puede tener dígitos de control MOD-97 correctos y fallar aun así el control nacional, por ejemplo cuando alguien ha metido en un IBAN un número nacional mal tecleado y después ha calculado los dígitos de control del IBAN. También ocurre al revés: si cambias un dígito de un IBAN válido, la comprobación MOD-97 falla, aunque el control nacional siga siendo correcto.
Los métodos principales
Los controles nacionales parecen muy distintos, pero la mayoría pertenecen a unas pocas familias.
MOD 97 al final del BBAN
Varios países terminan el BBAN con dos dígitos calculados con MOD 97-10, el mismo método que el de los dígitos de control del IBAN, aplicado a los dígitos que van delante. Así funcionan Portugal (los dígitos de control del NIB), Eslovenia, Serbia, Montenegro, Macedonia del Norte, Bosnia y Herzegovina, Kosovo y Timor Oriental.
Claves RIB
La clé RIB francesa es 97 menos el resto de dividir entre 97 el resultado de 89 × código de banco + 15 × código de sucursal + 3 × número de cuenta. Antes, las letras del número de cuenta se convierten en dígitos (A y J valen 1; B, K y S valen 2, y así sucesivamente). La clave hace que todo el número nacional sea divisible entre 97. Francia y Mónaco la comparten, y Túnez y Mauritania usan claves RIB con el mismo objetivo: que todo el número de cuenta sea divisible entre 97.
El CIN italiano
Italia y San Marino ponen una letra de control, el CIN, al principio del BBAN. Cubre los 22 caracteres que la siguen: el código de banco ABI, el código de sucursal CAB y el número de cuenta. Los caracteres en posición impar se convierten con una tabla, y los de posición par conservan su valor simple (los dígitos valen lo que indican y las letras van de A = 0 a Z = 25). La suma dividida entre 26 deja un resto de 0 a 25, que se convierte en una letra de la A a la Z.
Los dígitos de control españoles
El código de cuenta español, el Código Cuenta Cliente (CCC), tiene dos dígitos de control entre el código de sucursal y el número de cuenta. El primero comprueba los códigos de banco y de sucursal (la entidad y la oficina), y el segundo, el número de cuenta de 10 dígitos. Cada uno sale de una suma ponderada con los pesos 1, 2, 4, 8, 5, 10, 9, 7, 3, 6: la suma se divide entre 11 y el resto se resta de 11. Un resultado de 11 pasa a ser 0, y uno de 10 pasa a ser 1. Consulta el formato español.
Sumas ponderadas
Muchos países multiplican cada dígito por un peso, suman los productos y se quedan con el resto:
- Bélgica: los dos últimos dígitos son el resto de dividir los diez primeros entre 97 (97 en lugar de 0).
- Noruega: MOD 11 con los pesos 5, 4, 3, 2, 7, 6, 5, 4, 3, 2. Nunca se emiten números de cuenta que necesitarían el valor 10.
- Finlandia: el algoritmo de Luhn, el mismo de los números de tarjeta.
- Estonia: el método 7-3-1, con los pesos 7, 3, 1 repetidos desde la derecha.
- Hungría: dos dígitos con los pesos 9, 7, 3, 1, uno para el código de banco y de sucursal y otro para el número de cuenta.
- Polonia: un dígito al final del código de 8 dígitos que identifica el banco y la sucursal (numer rozliczeniowy), con los pesos 3, 9, 7, 1.
- Albania: un dígito después del código de banco y de sucursal, con los pesos 9, 7, 3, 1.
- República Checa y Eslovaquia: el prefijo de cuenta y el número de cuenta tienen que dar, cada uno, una suma ponderada divisible entre 11.
- Croacia: ISO 7064 MOD 11,10, una vez para el código de banco y otra para el número de cuenta.
- Costa Rica: el último dígito del número de cuenta cliente, con los pesos del 1 al 9 y luego del 1 al 7, módulo 11.
- Rusia: la clave de control del Banco de Rusia, con los pesos 7, 1, 3, sobre el final del código bancario BIK y el número de cuenta.
País por país
La tabla recoge todos los países cuyo control nacional calcula este sitio, con la posición de los dígitos de control en el IBAN. Sigue el enlace de un país para abrir su generador y su formato completo.
| País | Posiciones | Método | Dígitos de control del IBAN | Fuente |
|---|---|---|---|---|
| Albania | 12 | Pesos 9, 7, 3, 1 (mod 10) | Dependen de la cuenta | Bank of Albania, Decision No. 26 of 4.5.2022 |
| Bélgica | 15–16 | Primeros 10 dígitos mod 97 | Dependen de la cuenta | Febelfin / National Bank of Belgium |
| Bosnia y Herzegovina | 19–20 | MOD 97-10 |
BA39
|
Centralna banka Bosne i Hercegovine |
| Costa Rica | 22 | Pesos del 1 al 9 (mod 11) | Dependen de la cuenta | Banco Central de Costa Rica, Cuenta Cliente |
| Croacia | 11, 21 | ISO 7064 MOD 11,10 | Dependen de la cuenta | Hrvatska narodna banka, Narodne novine 13/2025 |
| Eslovaquia | 14, 24 | MOD 11 ponderado | Dependen de la cuenta | Národná banka Slovenska, opatrenie č. 8/2009 |
| Eslovenia | 18–19 | MOD 97-10 |
SI56
|
Banka Slovenije, Uradni list RS 85/2016 |
| España | 13–14 | Dígitos de control (mod 11) | Dependen de la cuenta | Consejo Superior Bancario, Código Cuenta Cliente (AEB/CECA) |
| Estonia | 20 | 7-3-1 (mod 10) | Dependen de la cuenta | Estonian Banking Association (Pangaliit) |
| Finlandia | 18 | Luhn (mod 10) | Dependen de la cuenta | Finance Finland (Finanssiala) |
| Francia | 26–27 | Clé RIB (mod 97) | FR76 si el número de cuenta solo tiene dígitos | CFONB, RIB standard (Banque de France) |
| Hungría | 12, 28 | Pesos 9, 7, 3, 1 (mod 10) | Dependen de la cuenta | Magyar Nemzeti Bank, 35/2017. (XII. 14.) MNB rendelet |
| Italia | 5 | Letra de control CIN (mod 26) | Dependen de la cuenta | ABI, coordinate bancarie (Banca d'Italia) |
| Kosovo | 19–20 | MOD 97-10 |
XK05
|
Central Bank of the Republic of Kosovo (BQK) |
| Macedonia del Norte | 18–19 | MOD 97-10 |
MK07
|
National Bank of the Republic of North Macedonia |
| Mauritania | 26–27 | Clave RIB (mod 97) |
MR13
|
Banque Centrale de Mauritanie, Instruction 16/GR/2008 |
| Mónaco | 26–27 | Clé RIB (mod 97) | MC58 si el número de cuenta solo tiene dígitos | CFONB, RIB standard (Banque de France) |
| Montenegro | 21–22 | MOD 97-10 |
ME25
|
Centralna banka Crne Gore |
| Noruega | 15 | MOD 11 | Dependen de la cuenta | Bits AS / Finans Norge |
| Polonia | 12 | Pesos 3, 9, 7, 1 (mod 10) | Dependen de la cuenta | Narodowy Bank Polski |
| Portugal | 24–25 | MOD 97-10 |
PT50
|
Banco de Portugal, NIB |
| República Checa | 14, 24 | MOD 11 ponderado | Dependen de la cuenta | Česká národní banka, vyhláška č. 169/2011 Sb. |
| Rusia | 22 | Clave de control, pesos 7, 1, 3 | Dependen de la cuenta | Bank of Russia, Procedure No. 515 of 8.9.1997 |
| San Marino | 5 | Letra de control CIN (mod 26) | Dependen de la cuenta | Banca Centrale della Repubblica di San Marino (ABI standard) |
| Serbia | 21–22 | MOD 97-10 |
RS35
|
Narodna banka Srbije |
| Timor Oriental | 22–23 | MOD 97-10 |
TL38
|
Banco Central de Timor-Leste |
| Túnez | 23–24 | Clave RIB (mod 97) |
TN59
|
Banque Centrale de Tunisie |
En algunos otros países, como Burundi, Yibuti y Santo Tomé y Príncipe, los ejemplos del registro también apuntan a un control nacional, pero no hemos encontrado ninguna descripción oficial. El generador deja esos dígitos al azar.
Dígitos de control del IBAN fijos
Un MOD 97 al final del BBAN o una clave RIB hacen que el BBAN deje siempre el mismo resto al dividirlo entre 97, sea cual sea la cuenta. Como los dígitos de control del IBAN solo dependen de ese resto y del código de país, todos los IBAN válidos de estos países tienen los mismos dígitos de control: todos los IBAN portugueses empiezan por PT50, todos los serbios por RS35 y todos los tunecinos por TN59. Los IBAN franceses cuyo número de cuenta solo tiene dígitos empiezan todos por FR76. Las letras de un número de cuenta francés cambian el resultado, y por eso el ejemplo del registro de más arriba empieza por FR14.
Es una comprobación rápida muy útil cuando lees IBAN de estos países: si los dígitos de control son otros, el IBAN está mal.
¿Debe comprobarlos un validador?
El MOD-97 ya detecta cualquier dígito erróneo aislado y cualquier intercambio de dos dígitos contiguos, así que los controles nacionales aportan poco frente a los errores al teclear. Sirven en otros casos: un IBAN construido a mano a partir de un número nacional erróneo, o un IBAN inventado cuyo autor solo calculó los dígitos MOD-97.
Antes de añadirlos a tu propio validador:
- Cada país necesita su propio algoritmo, y cada uno tiene que seguir exactamente la regla oficial. Una implementación errónea rechaza los IBAN de clientes reales, y eso es peor que no comprobar nada.
- Prueba cada algoritmo con ejemplos de formato real, como el ejemplo del registro que aparece en cada página de país.
- Usa mensajes de error concretos. "Los dígitos de control nacionales no cuadran" ayuda más a un usuario que "IBAN no válido".
Nuestro validador de IBAN comprueba los dígitos de control nacionales siempre que se conoce la regla, y avisa cuando no se conoce. La biblioteca de código abierto iban-check cubre las comprobaciones estructurales y el MOD-97.
Pruebas con dígitos de control nacionales
El generador calcula los dígitos de control nacionales de todos los países de la tabla de arriba, en los dos modos, realista y totalmente aleatorio, así que los validadores que los comprueban aceptan los IBAN generados. Para una prueba negativa, cambia uno de los dígitos de control nacionales y vuelve a calcular los dígitos de control del IBAN: el IBAN supera entonces el MOD-97, pero falla el control nacional. Cuando los dígitos de control del IBAN están mal, el validador te sugiere los que corresponden. En IBAN de prueba para desarrolladores y QA se explican las demás capas que comprueba un validador.
Fuentes
- IBAN Registry de SWIFT, Release 102 (junio de 2026): la estructura del BBAN de cada país y los ejemplos que se usan arriba.
- ISO/IEC 7064: los sistemas de caracteres de control MOD 97-10 y MOD 11,10.
- Banco Nacional Checo, IBAN: el Decreto 169/2011 sobre el número de cuenta checo y su control.
- 35/2017. (XII. 14.) MNB rendelet, anexo 1: el número de cuenta húngaro y sus dígitos de control.
- Las fuentes nacionales que se indican en la tabla: bancos centrales, asociaciones bancarias y las normas que publican.