Generador dígitos control IBAN
El país DE, el código de banco 37040044 y la cuenta 0532013000 dan los dígitos de control 89 y el IBAN DE89370400440532013000. Arme un IBAN completo con los datos nacionales para nóminas, un archivo SEPA o un formulario, con aviso si la longitud no cuadra. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- País
- DE
- Banco
- 37040044
- Cuenta
- 0532013000
- BBAN
- 370400440532013000
- Dígitos de control
- 89
- IBAN
- DE89370400440532013000
- IBAN con formato
- DE89 3704 0044 0532 0130 00
Los pagos internacionales, las nóminas y los formularios de alta suelen necesitar un IBAN completo antes de que la contraparte vea el número. Los bancos emiten datos domésticos como código de banco más número de cuenta; los dos dígitos de control ISO 13616 que van tras el código de país no se inventan a mano con facilidad. Este generador de dígitos de control IBAN acepta un código de país de dos letras, un identificador de banco y un número de cuenta, construye el BBAN, lo reordena con el país y un marcador de ceros, y aplica el algoritmo ISO 7064 mod 97-10 usado por todos los registros SEPA e IBAN. Usted recibe el IBAN compacto, la forma agrupada con espacios, los dos dígitos de control, el BBAN y un informe breve de partes mal formadas, como una longitud oficial incorrecta para ese país.
Cómo se calculan los dígitos de control IBAN a partir de país, banco y cuenta
Un IBAN siempre empieza con un código de país de dos letras, luego dos dígitos de control decimales y después un Basic Bank Account Number (BBAN) específico del país. Esta herramienta no inventa el BBAN: usted aporta las piezas domésticas —en general un código de banco o sort code y un número de cuenta— y se concatenan tras quitar espacios y guiones.
ISO 13616 reordena entonces la cadena para la suma de verificación: mueve el código de país y las dos posiciones de control al final, pone ceros en esas posiciones, mapea cada letra de A a Z a valores del diez al treinta y cinco, y reduce la cadena de dígitos resultante módulo noventa y siete. El valor de control oficial es noventa y ocho menos ese resto, escrito como dos dígitos desde cero-cero hasta noventa y ocho. Reensamblar país, esos dos dígitos y el BBAN produce el IBAN completo.
Un ejemplo alemán conocido es país DE, banco tres-siete-cero-cuatro-cero-cero-cuatro-cuatro, cuenta cero-cinco-tres-dos-cero-uno-tres-cero-cero-cero, que produce dígitos ochenta y nueve e IBAN DE89370400440532013000. Validar un IBAN ya formado es la comprobación inversa: reordenar y exigir resto uno. La generación no necesita red hacia un directorio bancario; solo componentes domésticos correctos para la estructura de ese país.
Contrato de entrada, campos de respuesta y cómo se reportan las partes mal formadas
El país debe normalizarse a exactamente dos letras A–Z. Banco y cuenta deben normalizarse a cadenas no vacías A–Z y del cero al nueve tras quitar espacios, guiones, guiones bajos y puntos; las letras pasan a mayúsculas. La longitud combinada del BBAN debe permanecer en treinta caracteres como máximo para que el IBAN final respete el límite global de treinta y cuatro.
El array malformed enumera incidencias legibles que no bloquearon el checksum: por ejemplo una longitud generada que no coincide con el registro para DE o GB, o un país fuera de ese registro. La entrada inválida no se factura. Combine este generador con un validador IBAN aparte si necesita volver a comprobar una cadena que ya incluye dígitos de control.
Qué puede hacer con ella
Preparación de ficheros SEPA y nómina
Convierta columnas ERP de código de banco y cuenta en IBAN completos con dígitos de control mod 97-10 correctos antes de generar lotes de transferencia o adeudo directo.
Formularios de alta de cobros
Muestre un IBAN compacto y agrupado a partir de país, banco y cuenta para que el usuario confirme el número antes de que llegue a los raíles de pago en producción.
Oráculos de QA para código de pagos
Fije vectores conocidos como DE89370400440532013000 en CI para que el ensamblado del IBAN y la lógica de dígitos de control no deriven entre servicios.
Preguntas frecuentes
¿Qué algoritmo usa para los dos dígitos de control?
ISO 7064 MOD 97-10 según ISO 13616 para IBAN: reordene BBAN + country + 00, mapee letras A–Z a 10–35, tome 98 menos (valor mod 97).
¿Qué significa el array malformed?
Incidencias blandas que aún permiten un checksum: longitud oficial incorrecta para un país conocido, o un país fuera del registro de longitudes integrado.
¿Es lo mismo que validar un IBAN ya existente?
No. Esta capacidad genera dígitos de control y un IBAN completo a partir de piezas. Para validar una cadena IBAN completa, use una capacidad validadora de IBAN dedicada.
¿Por qué avisa de que la longitud no es la de mi país?
Cada país fija la longitud de su IBAN; en Alemania son 22 caracteres. Si el código de banco y la cuenta no suman esa longitud, los dígitos de control se calculan igual, pero el aviso indica que los datos nacionales probablemente están incompletos o mal colocados.
¿Un IBAN generado demuestra que la cuenta existe?
No. La herramienta solo hace el cálculo con los datos que usted escribe y nunca consulta un directorio bancario. Si el código de banco o la cuenta están mal, obtendrá un IBAN bien calculado para una cuenta que quizá no exista.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/iban-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"country":"DE","bank":"37040044","account":"0532013000"}'const res = await fetch("https://api.kit.forhosting.com/enc/iban-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"country": "DE",
"bank": "37040044",
"account": "0532013000"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/iban-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"country": "DE",
"bank": "37040044",
"account": "0532013000"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/iban-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"country":"DE","bank":"37040044","account":"0532013000"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"country":"DE","bank":"37040044","account":"0532013000"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/iban-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"country": "DE",
"bank": "37040044",
"account": "0532013000"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.iban_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Contrato de entrada, campos de respuesta y cómo se reportan las partes mal formadas
Envíe un cuerpo JSON con tres campos obligatorios: country (alias country_code, cc, nation), bank (alias bank_code, bank_id, sort_code, bic_bank) y account (alias account_number, acct, account_no, iban_account). En éxito el cuerpo incluye country, bank, account, bban, check_digits, iban, iban_formatted (grupos de cuatro), length, algorithm con valor iso13616_mod97_10 y, si el país está en la tabla de longitudes oficiales, expected_length y length_ok. Los fallos duros —campos ausentes, basura no alfanumérica, país que no son dos letras— lanzan invalid_input y nombran la parte mal formada en el mensaje para que el cliente resalte el control correcto del formulario.
Dónde un generador de dígitos de control IBAN aporta valor de verdad
Los flujos de alta SaaS recogen país, banco y cuenta en campos separados y deben mostrar un IBAN de vista previa antes de que el usuario confirme el perfil de cobro. Las suites de QA y regresión necesitan un oráculo determinista para vectores conocidos como la muestra alemana DE89, de modo que la CI falle si alguien altera el bucle mod-97. Los equipos de finanzas y operaciones construyen ficheros de transferencia SEPA a partir de exportaciones ERP que aún guardan columnas domésticas de banco y cuenta; calcular dígitos de control en una API de análisis diminuta evita empaquetar una biblioteca bancaria completa en cada worker. Como la implementación es parse puro de nivel A, cada llamada correcta cuesta el precio base publicado $0.002, sin tokens de modelo y sin red saliente. Mantenga las peticiones pequeñas, fije el iban y los check_digits devueltos en las pruebas, y trate las advertencias de longitud malformada como señales blandas de que la composición doméstica puede no coincidir con el diseño BBAN del país aunque la matemática en sí sea correcta.
Preguntas técnicas
¿Cómo genero dígitos de control IBAN a partir de país, banco y cuenta?
Envíe country (dos letras), bank y account. La API construye el BBAN, aplica ISO 13616 mod 97-10 y devuelve check_digits más las cadenas iban e iban_formatted completas.
¿Cuánto cuesta el generador de dígitos de control IBAN?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago del KIT a $0.002 por llamada correcta; la entrada inválida no se factura.