1. O Que E o IBAN
O IBAN (International Bank Account Number — Numero Internacional de Conta Bancaria) e um padrao internacional para identificar contas bancarias em transacoes financeiras internacionais. Foi criado pelo Comite Europeu de Padroes Bancarios (ECBS) e padronizado pela ISO 13616, sendo amplamente adotado na Europa, Oriente Medio, America Latina e outros continentes.
O objetivo do IBAN e reduzir erros em transferencias internacionais ao fornecer um formato de conta unico e validavel matematicamente. Antes do IBAN, cada pais tinha seu proprio formato de numero de conta, o que gerava confusao, erros de digitacao e atrasos em transferencias internacionais.
2. Estrutura do IBAN: Pais, Verificadores e BBAN
Um IBAN e composto por ate 34 caracteres alfanumericos divididos em tres partes:
- Codigo do pais (2 letras): identifica o pais da conta usando o codigo ISO 3166-1 alpha-2 (ex: PT para Portugal, DE para Alemanha, BR para Brasil).
- Digitos verificadores (2 numeros): calculados pelo algoritmo MOD-97 para detectar erros de digitacao. Ficam nas posicoes 3 e 4.
- BBAN (Basic Bank Account Number): o numero da conta no formato nacional do pais. Varia em comprimento e composicao conforme cada pais — pode conter letras e numeros.
Exemplo: PT50 0002 0123 1234 5678 9015 4 — PT = Portugal, 50 = digitos verificadores, restante = BBAN de 21 caracteres.
3. O Algoritmo MOD-97 Explicado
O algoritmo de validacao do IBAN segue quatro passos definidos pela ISO 13616:
- Rearranje: mova os 4 primeiros caracteres (codigo do pais + digitos verificadores) para o final do IBAN.
- Conversao: substitua cada letra pelo seu valor numerico: A=10, B=11, ..., Z=35.
- Calculo: divida o numero resultante por 97 usando aritmetica de BigInt (o numero pode ter ate 34 digitos).
- Verificacao: o IBAN e valido se o resto da divisao for exatamente 1.
"O MOD-97 detecta todos os erros de digitacao em um unico caractere e a maioria dos erros em dois caracteres transpostos — tornando-o muito mais robusto do que uma simples verificacao de comprimento."
4. Paises que Adotam o IBAN
O IBAN e obrigatorio em todos os paises membros da Zona SEPA (Single Euro Payments Area), que inclui os 27 paises da Uniao Europeia mais Islandia, Liechtenstein, Noruega, Suica, Monaco, San Marino, Andorra e Reino Unido. Alem disso, varios paises fora da Europa adotaram o padrao voluntariamente:
- Oriente Medio: Arabia Saudita, Bahrain, Kuwait, Qatar, Emirados Arabes Unidos, Israel, Jordania, Libano.
- Africa do Norte: Tunisia, Mauritania.
- America Latina: Brasil (IBAN de 29 caracteres), Costa Rica, Rep. Dominicana, Guatemala.
- Asia Central: Azerbaijao, Cazaquistao, Georgia, Paquistao.
O comprimento varia de 15 caracteres (Noruega) a 34 caracteres (paises com BBAN mais longo). No Brasil, o IBAN tem 29 caracteres e inclui o codigo do banco, agencia e conta.
5. IBAN vs SWIFT/BIC: Qual a Diferenca
IBAN e SWIFT/BIC sao complementares, nao substitutos:
- IBAN: identifica a conta bancaria especifica do destinatario. Necessario para saber para qual conta o dinheiro deve ser depositado.
- SWIFT/BIC: identifica o banco (instituicao financeira). Necessario para saber para qual banco a transferencia deve ser roteada na rede interbancaria internacional.
Em transferencias internacionais dentro da SEPA, apenas o IBAN e geralmente suficiente — o banco e inferido pelos primeiros caracteres do BBAN. Para transferencias fora da SEPA, ambos costumam ser necessarios. O Brasil, por usar o IBAN de forma opcional, geralmente exige o codigo SWIFT do banco nas transferencias internacionais.
6. Perguntas Frequentes
Um IBAN valido confirma que a conta existe?
Nao. A validacao pelo MOD-97 confirma apenas que o numero esta matematicamente correto. Para confirmar a existencia da conta, e necessario contato com o banco ou usar servicos de verificacao bancaria.
O IBAN e obrigatorio no Brasil?
Nao para transacoes domesticas. O IBAN brasileiro e utilizado principalmente em transferencias internacionais recebidas de paises que exigem o formato IBAN. Para transacoes dentro do Brasil, usam-se agencia, conta e PIX.
Posso digitar o IBAN com espacos?
Sim. Esta ferramenta remove automaticamente todos os espacos antes da validacao. O formato com grupos de 4 caracteres (ex: PT50 0002 0123) e apenas uma convencao de legibilidade — o numero e valido com ou sem espacos.
Por que o algoritmo usa BigInt?
Apos converter as letras para numeros, o IBAN se torna um numero com ate ~50 digitos — muito acima do limite seguro de inteiros de 64 bits (Number.MAX_SAFE_INTEGER). Para garantir precisao no calculo do MOD-97, e necessario usar aritmetica de BigInt nativa do JavaScript.