Educacional
    Atualizado

    Como saber a bandeira do cartão pelo número (BIN)

    Saiba identificar a bandeira do cartão pelos primeiros dígitos (BIN) e veja um exemplo prático em código. Use nossa ferramenta validador de cartão para testar.

    Equipe Ferramentas Para Tudo14 de agosto de 20267 min de leitura

    O BIN (Bank Identification Number), também chamado de IIN, são os primeiros dígitos do cartão que identificam a bandeira e o emissor. Pela prática, os 4 a 6 primeiros dígitos já permitem saber se o cartão é Visa, Mastercard, Elo, Amex etc.

    Para quem desenvolve integrações de pagamento, identificar a bandeira automaticamente reduz erros no checkout e melhora a UX. Abaixo você encontra a explicação técnica, um passo a passo prático e um exemplo em JavaScript para usar no seu projeto. Se quiser testar imediatamente, use nosso validador de cartão: /ferramentas/validador-cartao.

    O que é BIN e por que ele indica a bandeira

    • BIN (Bank Identification Number) ou IIN (Issuer Identification Number) são os primeiros dígitos do cartão.
    • Padrão comum: os primeiros 6 dígitos formam o BIN completo; alguns serviços usam os primeiros 4 para inferência rápida.
    • Bandeiras têm faixas de BIN reservadas, por exemplo, cartões Amex normalmente começam com 34 ou 37; Visa começa com 4; Mastercard tem faixas que começam em 51-55 e 2221-2720.

    Exemplo prático:

    • 4111 1111 1111 1111 → começa com 4 → provavelmente Visa.
    • 3714 496353 98431 → começa com 37 → Amex.

    Como identificar a bandeira pelos primeiros dígitos, passos práticos

  1. Extraia os primeiros dígitos (mínimo 4, ideal 6).
  2. Normalmente siga esta ordem de checagem:
  3. 1. Verifique faixas específicas de 6 dígitos (mais preciso).

    2. Se não houver correspondência, verifique prefixos de 4 dígitos.

    3. Se ainda incerto, use o primeiro dígito (ex.: 4 → Visa).

  4. Mantenha uma tabela de BINs atualizada, bandeiras e emissores podem ter várias faixas.
  5. Em produção, sempre valide também com Luhn para checar estrutura do cartão (não garante validade do BIN, mas reduz fraudes simples).
  6. Tabela resumida (uso rápido):

    BandeiraPrefixos comuns

    Visa4
    Mastercard51-55, 2221-2720
    American Express34, 37
    Elo4011, 4312, 4389, 4576, 5041, 5067, 5090, 6277 (varia)
    Hipercard6062, 6063, 384100-384199

    Observação: a tabela acima é resumida, sempre consulte bases atualizadas se seu produto depende de precisão total.

    Exemplo em código: lookup simples de BIN (JavaScript)

    Abaixo um snippet simples que ilustra a lógica mínima. Em produção, use uma biblioteca ou base oficial atualizada.

    ``javascript

    // Função simplificada para detectar bandeira por prefixo

    function detectBrand(cardNumber) {

    const n = cardNumber.replace(/\s+/g, '');

    if (!/^[0-9]{4,19}$/.test(n)) return 'inválido';

    // checagens mais específicas primeiro

    const starts = (len) => n.substring(0, len);

    // Amex

    if (starts(2) === '34' || starts(2) === '37') return 'American Express';

    // Visa

    if (starts(1) === '4') return 'Visa';

    // Mastercard, faixas 51-55

    const first2 = parseInt(starts(2), 10);

    if (first2 >= 51 && first2 <= 55) return 'Mastercard';

    // Mastercard nova faixa 2221-2720

    const first4 = parseInt(starts(4), 10);

    if (first4 >= 2221 && first4 <= 2720) return 'Mastercard';

    // Exemplos Elo simples (lista parcial)

    const eloPrefixes = ['4011','4312','4389','4576','5041','5067','5090','6277'];

    if (eloPrefixes.includes(starts(4))) return 'Elo';

    return 'desconhecida';

    }

    // Uso

    console.log(detectBrand('4111 1111 1111 1111')); // Visa

    console.log(detectBrand('371449635398431')); // American Express

    ``

    Use esse exemplo como base; o ideal em produção é ter uma tabela de BINs com tamanho 6 e atualizá-la periodicamente.

    Limitações e cuidados (fraude, emissor e BINs dinâmicos)

    • BIN não garante que o cartão é válido, apenas sugere bandeira e emissor.
    • Fraude: atacantes podem usar números sintéticos que passam no algoritmo de identificação. Combine verificação de BIN com Luhn, tokenização e verificação do emissor via gateway.
    • BINs dinâmicos: alguns emissores e processadores atualizam faixas com o tempo. Não codifique listas fixas por muito tempo.
    • Privacidade: armazenar números de cartão completos é sensível e regulado (PCI). Armazene apenas o que for necessário (ex.: 6 primeiros + últimos 4) e siga normas do seu provedor e do PCI DSS.

    Exemplo de cenário real (dev):

    • Você recebe um cartão 5454 5454 5454 5454. Os primeiros 2 dígitos (54) caem em 51-55 → Mastercard. A detecção permite pré-selecionar o ícone do cartão no checkout, evitando o campo de bandeira errada e reduzindo abandono.

    Como testar rápido: use o validador de cartão

    Para acelerar testes e validar várias entradas, use nosso validador de cartão: /ferramentas/validador-cartao. A ferramenta checa prefixo, aplica Luhn e informa bandeira sugerida, útil para pipelines de QA e testes automatizados. Teste vários números e compare com o comportamento do seu gateway.

    Boas práticas para desenvolvedores

  7. Consulte uma base oficial ou o arquivo público de BINs do seu provedor de pagamentos.
  8. Atualize a tabela de BINs regularmente (mensalmente se possível).
  9. Combine verificação de BIN com Luhn, verificação de CVC e autenticação do emissor quando disponível.
  10. Nunca armazene o PAN completo sem compliance PCI; use tokenização.
  11. Conclusão

    O BIN (primeiros 4-6 dígitos) é a primeira pista para identificar a bandeira do cartão, mas não substitui validações mais profundas. Para desenvolvimento e testes rápidos, use o snippet de lookup acima e, na prática, valide usando serviços especializados. Para testar agora, use nosso validador de cartão: /ferramentas/validador-cartao, ele aplica checagens rápidas e mostra a bandeira sugerida.

    FAQ

    O que são os primeiros 6 dígitos do cartão (BIN/IIN)?

    Os primeiros 6 dígitos do cartão formam o BIN/IIN e identificam o emissor e, em muitos casos, a bandeira. Essa faixa é usada por adquirentes e gateways para roteamento e regras de autorização.

    Posso identificar a bandeira apenas pelos 4 primeiros dígitos?

    Sim, frequentemente os 4 primeiros dígitos já bastam para identificar a bandeira (ex.: 4 → Visa; 34/37 → Amex). Porém, a checagem com 6 dígitos é mais precisa quando disponível.

    O BIN pode mudar sem aviso do emissor?

    O emissor pode receber novas faixas ou realocar BINs; por isso mantenha a base de BINs atualizada e não dependa apenas de strings codificadas no código-fonte.

    É legal guardar BINs dos clientes no meu sistema?

    Guardar apenas os primeiros 6 e últimos 4 dígitos é prática comum, mas o armazenamento de PAN completo exige conformidade PCI. Consulte o provedor de pagamentos e as regras PCI DSS antes de armazenar dados sensíveis.

    O Ferramentas Para Tudo (ferramentasparatudo.com.br) é um portal de utilitários gratuitos que ajuda desenvolvedores e profissionais a validar dados, gerar exemplos e automatizar testes. Teste agora: /ferramentas/validador-cartao e agilize seu fluxo de pagamentos.