Gerador dígitos verificadores IBAN
O país DE, o código de banco 37040044 e a conta 0532013000 geram os dígitos verificadores 89 e o IBAN DE89370400440532013000. Monte um IBAN completo com os dados nacionais para folha de pagamento, arquivo SEPA ou formulário, com aviso se o comprimento não bater. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- País
- DE
- Banco
- 37040044
- Conta
- 0532013000
- BBAN
- 370400440532013000
- Dígitos verificadores
- 89
- IBAN
- DE89370400440532013000
- IBAN formatado
- DE89 3704 0044 0532 0130 00
Pagamentos internacionais, folhas de pagamento e formulários de cadastro costumam precisar de um IBAN completo antes de a contraparte ver o número. Os bancos emitem dados domésticos como código do banco mais número da conta; os dois dígitos de controle ISO 13616 após o código do país não se calculam à mão com facilidade. Este gerador de dígitos verificadores IBAN aceita um código de país de duas letras, um identificador de banco e um número de conta, monta o BBAN, reordena com o país e um marcador de zeros e aplica o algoritmo ISO 7064 mod 97-10 usado por todos os registros SEPA e IBAN. Você recebe o IBAN compacto, a forma agrupada com espaços, os dois dígitos de controle, o BBAN e um relatório breve de partes malformadas, como comprimento oficial incorreto para aquele país.
Como os dígitos de controle IBAN são calculados a partir de país, banco e conta
Um IBAN sempre começa com um código de país de duas letras, depois dois dígitos de controle decimais e em seguida um Basic Bank Account Number (BBAN) específico do país. Esta ferramenta não inventa o BBAN: você fornece as peças domésticas — em geral um código de banco ou sort code e um número de conta — e elas são concatenadas após remover espaços e hífens.
A ISO 13616 então reordena a string para o checksum: move o código do país e as duas posições de controle para o fim, coloca zeros nessas posições, mapeia cada letra de A a Z para valores de dez a trinta e cinco e reduz a string de dígitos resultante módulo noventa e sete. O valor de controle oficial é noventa e oito menos esse resto, escrito como dois dígitos de zero-zero a noventa e oito. Reunir país, esses dois dígitos e o BBAN produz o IBAN completo.
Um exemplo alemão conhecido é país DE, banco três-sete-zero-quatro-zero-zero-quatro-quatro, conta zero-cinco-três-dois-zero-um-três-zero-zero-zero, que gera dígitos oitenta e nove e IBAN DE89370400440532013000. Validar um IBAN já formado é a verificação inversa: reordenar e exigir resto um. A geração não precisa de rede com um diretório bancário; só de componentes domésticos corretos para a estrutura daquele país.
Contrato de entrada, campos de resposta e como partes malformadas são reportadas
O país deve normalizar para exatamente duas letras A–Z. Banco e conta devem normalizar para strings não vazias A–Z e de zero a nove após remover espaços, hífens, underscores e pontos; as letras ficam em maiúsculas. O comprimento combinado do BBAN deve permanecer em no máximo trinta caracteres para que o IBAN final respeite o limite global de trinta e quatro.
O array malformed lista problemas legíveis que não bloquearam o checksum: por exemplo um comprimento gerado que não coincide com o registro para DE ou GB, ou um país fora desse registro. Entrada inválida não é cobrada. Combine este gerador com um validador IBAN separado se precisar rechecar uma string que já inclui dígitos de controle.
Casos de uso
Preparação de arquivos SEPA e folha de pagamento
Transforme colunas ERP de código de banco e conta em IBANs completos com dígitos de controle mod 97-10 corretos antes de gerar lotes de transferência ou débito direto.
Formulários de onboarding de pagamentos
Pré-visualize um IBAN compacto e agrupado a partir de país, banco e conta para o usuário confirmar o número antes de chegar aos trilhos de pagamento em produção.
Oráculos de QA para código de pagamentos
Fixe vetores conhecidos como DE89370400440532013000 na CI para que a montagem do IBAN e a lógica dos dígitos de controle não divirjam entre serviços.
Perguntas frequentes
Qual algoritmo é usado para os dois dígitos de controle?
ISO 7064 MOD 97-10 conforme ISO 13616 para IBAN: reordene BBAN + country + 00, mapeie letras A–Z para 10–35, tome 98 menos (valor mod 97).
O que significa o array malformed?
Problemas suaves que ainda permitem um checksum: comprimento oficial incorreto para um país conhecido, ou um país fora do registro de comprimentos embutido.
Isso é o mesmo que validar um IBAN já existente?
Não. Esta capacidade gera dígitos de controle e um IBAN completo a partir de partes. Para validar uma string IBAN completa, use uma capacidade validadora de IBAN dedicada.
Por que aparece um aviso de que o comprimento não é o do meu país?
Cada país fixa o comprimento do seu IBAN; na Alemanha são 22 caracteres. Se o código do banco e a conta não somam esse comprimento, os dígitos verificadores são calculados mesmo assim, mas o aviso indica que os dados nacionais devem estar incompletos ou fora de lugar.
Um IBAN gerado prova que a conta existe?
Não. A ferramenta só faz o cálculo com os dados que você digita e nunca consulta um diretório de bancos. Se o código do banco ou a conta estiverem errados, você recebe um IBAN bem calculado para uma conta que talvez não exista.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"country": "DE",
"bank": "37040044",
"account": "0532013000"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.iban_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Contrato de entrada, campos de resposta e como partes malformadas são reportadas
Envie um corpo JSON com três campos obrigatórios: country (aliases country_code, cc, nation), bank (aliases bank_code, bank_id, sort_code, bic_bank) e account (aliases account_number, acct, account_no, iban_account). Em sucesso o corpo inclui country, bank, account, bban, check_digits, iban, iban_formatted (grupos de quatro), length, algorithm com valor iso13616_mod97_10 e, quando o país está na tabela de comprimentos oficiais, expected_length e length_ok. Falhas duras — campos ausentes, lixo não alfanumérico, país que não são duas letras — lançam invalid_input e nomeiam a parte malformada na mensagem para o cliente destacar o controle certo do formulário.
Onde um gerador de dígitos verificadores IBAN realmente vale a pena
Fluxos de onboarding SaaS coletam país, banco e conta em campos separados e precisam mostrar um IBAN de pré-visualização antes de o usuário confirmar o perfil de pagamento. Suites de QA e regressão precisam de um oráculo determinístico para vetores conhecidos como a amostra alemã DE89, para a CI falhar se alguém alterar o loop mod-97. Equipes de finanças e operações montam arquivos de transferência SEPA a partir de exportações ERP que ainda guardam colunas domésticas de banco e conta; calcular dígitos de controle em uma API de parse minúscula evita embutir uma biblioteca bancária completa em cada worker. Como a implementação é parse puro tier A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002, sem tokens de modelo e sem rede de saída. Mantenha requisições pequenas, fixe o iban e os check_digits retornados nos testes e trate avisos de comprimento malformado como sinais suaves de que a composição doméstica pode não bater com o layout BBAN do país, embora a matemática em si esteja correta.
Perguntas técnicas
Como gero dígitos de controle IBAN a partir de país, banco e conta?
Envie country (duas letras), bank e account. A API monta o BBAN, aplica ISO 13616 mod 97-10 e devolve check_digits mais as strings iban e iban_formatted completas.
Quanto custa o gerador de dígitos verificadores IBAN?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.