1001Ferramentas
🏦 Validadores

Validador de IBAN

Valide qualquer IBAN internacional pelo padrão ISO 13616 (mod-97) com verificação de país e comprimento. Validação 100% no navegador.

Como funciona a validação de IBAN?

O IBAN (International Bank Account Number) segue o padrão ISO 13616. Começa com duas letras do código do país, depois dois dígitos de controle e, por fim, o número de conta doméstico (BBAN). Cada país define um comprimento fixo (Alemanha 22, França 27, Brasil 29, Reino Unido 22) e uma estrutura própria para o BBAN.

A validação usa o algoritmo mod-97 da ISO 7064. Os 4 primeiros caracteres vão para o final, as letras viram números (A=10, B=11, …, Z=35) e o número resultante é dividido por 97. Resto igual a 1 significa IBAN estruturalmente válido.

O que a validação garante é que os dígitos de controle batem com o BBAN. Ela não diz se a conta existe ou está ativa, pois isso só o banco confirma. Toda a verificação acontece no seu navegador, sem que o IBAN chegue a qualquer servidor.

IBAN segundo a ISO 13616: o formato global de conta bancária

O International Bank Account Number (IBAN) é definido pela ISO 13616, publicada inicialmente em 1997 e revisada em 2007 e 2020. Existe para tornar pagamentos transfronteiriços roteáveis sem ambiguidade: cada IBAN codifica país, identificador do banco, agência (quando aplicável) e número local da conta em uma única string que cabe numa mensagem SWIFT MT103 ou num payload ISO 20022 pacs.008.

Um IBAN é composto por 2 letras do país (ISO 3166-1 alpha-2), 2 dígitos verificadores e um BBAN (Basic Bank Account Number) específico de cada país. O comprimento total é fixo por país e varia de 15 (Noruega) a 34 caracteres. O registro é mantido pela SWIFT como autoridade oficial da ISO 13616.

O algoritmo mod-97-10 (ISO 7064)

Os dígitos verificadores do IBAN usam o esquema ISO 7064 mod 97-10, a mesma família que protege VAT IDs europeus e ICCIDs de SIM. Para validar:

  • Mova os 4 primeiros caracteres (país + verificadores) para o final da string.
  • Substitua cada letra por dois dígitos: A=10, B=11, ..., Z=35.
  • Interprete a string decimal resultante como um inteiro grande.
  • O IBAN é válido se inteiro mod 97 == 1.
iban = "DE89370400440532013000"
move = "370400440532013000DE89"
sub  = "370400440532013000131489"
       (D=13, E=14)
n mod 97 = 1  -> válido

Para gerar os dígitos verificadores, defina-os como 00, aplique a mesma transformação, calcule 98 - (n mod 97) e preencha com dois dígitos. Isso garante o invariante final mod-97 = 1.

Comprimento por país

  • BR Brasil: 29 — BR97 0036 0305 0000 1000 9795 493P 1
  • PT Portugal: 25; DE Alemanha: 22; GB Reino Unido: 22
  • FR França: 27; ES Espanha: 24; IT Itália: 27
  • NL Holanda: 18; CH Suíça: 21; BE Bélgica: 16

Um validador robusto precisa checar tanto o comprimento contra o registro do país quanto o mod-97. Muitas APIs (Wise, Adyen, Stripe Treasury) rejeitam IBANs aritmeticamente corretos mas com comprimento incompatível com o país declarado — sinal forte de erro de digitação ou corrupção em cópia/cola.

SEPA, TARGET2 e SEPA Instant

O IBAN é a porta de entrada dos trilhos SEPA (Single Euro Payments Área) operados pelo Banco Central Europeu. O SEPA cobre 36 países (UE + EEE + Reino Unido + Suíça + Mônaco + microestados). Dentro do SEPA:

  • SEPA Credit Transfer (SCT): liquida em 1 dia útil.
  • SEPA Instant (SCT Inst): liquidação em 10 segundos, 24/7, até EUR 100.000 por transferência.
  • TARGET2: sistema RTGS do BCE para liquidação de alto valor.
  • SEPA Direct Debit (SDD): cobrança via mandato + IBAN.

O Brasil não é membro do SEPA; o IBAN brasileiro existe no registro mas é praticamente nunca usado internamente — o Pix (chave, QR ou copia-e-cola) deslocou identificadores tipo IBAN dentro do país. O IBAN brasileiro aparece principalmente em remessa internacional quando o banco da contraparte exige roteamento ISO 13616.

Bibliotecas, AML e screening OFAC

Bibliotecas testadas em produção: iban no npm (Kevin Boltz), schwifty em Python, iban4j em Java. Encapsulam a matemática mod-97 mais as tabelas do registro SWIFT. Em compliance, a validação de IBAN sempre vem acompanhada de:

  • Screening OFAC / sanções UE: o código do banco no BBAN é comparado com listas restritivas.
  • AML (antilavagem): monitoramento transacional sobre IBANs válidos.
  • Inferência de BIC: em alguns países o BBAN já codifica o código do banco, tornando o BIC/SWIFT opcional.

Valide um IBAN internacional

O IBAN é o número de conta bancária padronizado das transferências internacionais, usado sobretudo na Europa. Como um único dígito errado pode mandar o dinheiro para o lugar errado, ele já vem com uma verificação embutida. Esta ferramenta valida qualquer IBAN segundo o padrão ISO 13616.

Por baixo, ela aplica a verificação mod-97, confere o código do país e o comprimento que aquele país espera, já que cada um tem o seu, e diz se o IBAN é válido. Serve bem para quem envia ou recebe transferências internacionais e quer ter certeza de que digitou a conta certa antes de confirmar.

A validação acontece toda no navegador, sem que o número seja enviado para fora. Cole o IBAN e confira a validade na mesma hora, com a tranquilidade de quem trabalha localmente.

Perguntas frequentes

O Brasil usa IBAN no dia a dia?
Não. O IBAN brasileiro existe no papel mas é usado quase só para remessas internacionais entrando. Transferências domésticas usam Pix, TED ou DOC, identificadas por agência + conta, não por IBAN.
O SEPA inclui o Brasil?
Não. O SEPA é restrito a 36 países europeus. Uma SEPA Credit Transfer não pode ser enviada a um IBAN BR — o banco rejeita ou roteia como SWIFT wire (mais caro, mais lento).
Dá para consultar saldo a partir do IBAN?
Não. O IBAN é identificador, não token de autenticação. Saldo e extrato exigem consentimento de open banking (PSD2 na Europa, Open Finance no Brasil) assinado pelo titular.
Por que o IBAN BR tem 29 caracteres?
O BBAN brasileiro empacota o código de 8 dígitos do banco, a agência de 5 dígitos, a conta de 10 dígitos, o tipo de conta e um caractere verificador — tudo exigido pelo esquema interno de roteamento do Bacen.
O mod-97 garante que a conta existe?
Não. Ele só prova que o IBAN está bem formado. Confirmar existência exige uma API de verificação de IBAN (Wise, ClearBank, SurePay), normalmente usada para evitar fraude de confirmation-of-payee.

Ferramentas Relacionadas