Validador de Cartão de Crédito
Valida número de cartão pelo algoritmo Luhn e detecta a bandeira (Visa, Master, Amex, Elo, Hipercard).
- 100% local
Como cartão de crédito é estruturado
Todo número de cartão de crédito segue o padrão ISO/IEC 7812-1, que define três blocos lógicos: o IIN/BIN (Issuer Identification Number ou Bank Identification Number — primeiros 6 dígitos, identificam bandeira e banco emissor), o Identificador da conta (dígitos do meio, atribuído pelo banco), e o Dígito Verificador (último dígito, calculado pelo algoritmo Luhn). O comprimento total varia: Visa, Mastercard, Elo e Hipercard têm 16 dígitos; American Express tem 15; Diners Club tem 14. O algoritmo Luhn — criado por Hans Peter Luhn na IBM em 1954 e patenteado em 1960 — é o mesmo padrão usado em IMEI de celular, número de prontuário médico canadense (SIN) e identificadores de cartão em todo o mundo.
No Brasil, as bandeiras nacionais Elo (criada em 2011 por Bradesco, Banco do Brasil e Caixa Econômica Federal) e Hipercard (do Banco Itaú/Itaucard) têm BINs próprios pra distinguir de Visa e Mastercard internacionais. O BACEN regulamenta operação via Resolução CMN 4.484/2016 e atualizações, e o sistema de cartões opera sob fiscalização do Banco Central. Em transações com cartão (presenciais ou online), o gateway de pagamento (Stripe, Pagar.me, PagSeguro, Mercado Pago, Cielo, Rede, GetNet) faz primeiro o Luhn check no frontend pra economizar chamada de API, depois encaminha pra operadora consultar saldo, limite e antifraude.
Perguntas frequentes
A validação Luhn confirma que o cartão é real e tem saldo?
Não. O algoritmo Luhn só confirma que o número está bem formado — pega 99% dos erros de digitação. Pra saber se está ativo, tem limite e o pagamento será aprovado, é necessário consulta à operadora e ao banco emissor via gateways como Stripe, Pagar.me, PagSeguro, Cielo.
Como o algoritmo Luhn funciona passo a passo?
(1) Da direita pra esquerda, multiplique cada dígito de posição par por 2. (2) Se >9, subtraia 9. (3) Some todos com os dígitos não dobrados. (4) Divida por 10. Se resto for 0, é Luhn-válido. Exemplo: 4532-0151-1283-0366, soma = 80, 80 % 10 = 0, válido.
Como o sistema identifica a bandeira (Visa, Master, Elo)?
Pelo BIN (6 primeiros dígitos). Visa = 4; Mastercard = 51-55 ou 2221-2720; Amex = 34, 37; Diners = 30, 36, 38; Discover = 6011, 65; JCB = 3528-3589. Elo: 4011, 4312, 4389, 5067 e outras; Hipercard: 384100, 384140, 384160, 606282.
Quais bandeiras brasileiras são suportadas?
Visa, Mastercard, American Express, Elo (nacional Bradesco/BB/Caixa), Hipercard (Itaucard), Diners Club, Discover e JCB. Cartões private label (Renner, Riachuelo, Marisa) usam BINs próprios e podem aparecer como 'desconhecida' — mas passam no Luhn.
Pra que serve validação de cartão no frontend?
Economiza chamadas de API, melhora UX (feedback imediato sem esperar a operadora) e detecta erros de digitação. Prática padrão em e-commerce — todo gateway brasileiro recomenda Luhn antes de tokenizar.
Posso validar Pix com cartão de crédito ou débito?
Pix usa chave (CPF, CNPJ, e-mail, telefone, aleatória) ou QR Code, não número de cartão. Pra Pix com cartão (recurso recente BACEN 2024), o cartão ainda passa por Luhn nas APIs. Pra QR Code Pix, veja gerador de QR Code Pix.
Meu número de cartão fica armazenado em algum lugar?
Não. Toda a validação é JavaScript local — nenhuma chamada de rede. Em conformidade com LGPD (Lei 13.709/2018) e PCI-DSS. Como nem nosso servidor recebe o número, não há risco de vazamento ou log indevido.