Validador de Cartão de Crédito

Valida número de cartão pelo algoritmo de Luhn.

Como funciona a validação de cartão de crédito?

Todo número de cartão de crédito ou débito passa pelo algoritmo de Luhn antes de ser aceito por qualquer sistema de pagamento. Essa validação matemática detecta erros de digitação e números completamente inválidos — mas não verifica se o cartão existe, se está ativo, se tem limite disponível ou se pertencem a quem está usando.

Esta ferramenta valida o formato e o checksum de Luhn de qualquer número informado, indicando também qual bandeira o número pertence baseado no prefixo.

O algoritmo de Luhn

O processo tem 4 etapas: começando do último dígito e indo para a esquerda, dobre o valor de cada segundo dígito. Se o resultado for maior que 9, subtraia 9. Some todos os dígitos. Se o total for divisível por 10, o número é válido pelo Luhn.

Exemplo: 4532015112830366 → após aplicar o algoritmo, a soma resulta em um número divisível por 10 → válido pelo Luhn.

O que a validação matemática NÃO verifica

Passar no Luhn não significa que o cartão é real ou pode ser usado em compras. A validação matemática não verifica: existência real do cartão no sistema da bandeira, validade (data de expiração), CVV, limite disponível, bloqueios por suspeita de fraude ou titularidade.

Para transações reais, o gateway de pagamento faz consulta em tempo real ao banco emissor, que verifica todos esses fatores. O Luhn é apenas o primeiro filtro, que elimina erros de digitação antes da consulta ao banco.

Identificação de bandeira pelo prefixo

Visa: começa com 4, 16 dígitos. Mastercard: começa com 51-55 ou 2221-2720, 16 dígitos. American Express: começa com 34 ou 37, 15 dígitos. Hipercard: começa com 6062, 16 dígitos. Elo: múltiplos prefixos, 16 dígitos. Nossa ferramenta identifica automaticamente a bandeira provável pelo prefixo.

Como funciona o algoritmo de Luhn

Percorra o número da direita para a esquerda. Dobre cada dígito de posição par nessa contagem (o segundo, o quarto, o sexto…) e, sempre que o dobro passar de 9, subtraia 9 do resultado — dobrar 8 dá 16, que vira 7. Some todos os dígitos, os dobrados e os não dobrados. Se o total for múltiplo de 10, o número passa na validação.

Tome 4539 1488 0343 6467: aplicando a regra, a soma dá 80, múltiplo de 10, e o cartão é válido pelo Luhn. O algoritmo foi criado por Hans Peter Luhn na IBM em 1954 e patenteado em 1960. Ele detecta todos os erros de um dígito e quase todas as trocas de dígitos adjacentes — os dois deslizes mais comuns de digitação. A exceção conhecida é a troca entre 09 e 90, que passa despercebida.

Identificando a bandeira pelo início do número

Os primeiros dígitos formam o BIN (Bank Identification Number) e revelam o emissor: cartões iniciados em 4 são Visa; de 51 a 55 e de 2221 a 2720, Mastercard; 34 e 37, American Express (com 15 dígitos em vez de 16); 36 e 38, Diners; 606282, Hipercard; 50, 636368 e 438935, Elo. Combinar a verificação de BIN com o Luhn permite dar feedback imediato ao usuário em um formulário de pagamento, antes de qualquer chamada à operadora.

Validação não é autorização

Este é o ponto mais importante da página. Passar no Luhn significa apenas que o número é bem formado — que não houve erro de digitação. Não significa que o cartão existe, que está ativo, que tem limite, que a validade confere ou que o CVV está correto. Nada disso é verificável fora do circuito bancário: quem autoriza é o emissor, através da adquirente, em uma transação real.

É por isso que a validação de Luhn no front-end serve para experiência do usuário, não para segurança. Ela evita que o cliente envie um formulário com um dígito errado e receba uma recusa desnecessária. A decisão sobre a transação é sempre do emissor.

Segurança: não digite cartões reais em sites aleatórios

Esta ferramenta roda o cálculo e não armazena nada, mas a recomendação vale para a internet inteira: não insira dados de cartões reais em validadores online. Para testar sistemas, use os números fictícios gerados por algoritmo ou os cartões de teste oficiais que gateways como Stripe, Adyen e PagSeguro publicam em suas documentações. Quem processa pagamentos de verdade está sujeito ao padrão PCI DSS, que proíbe armazenar o CVV e exige tokenização do número.

Continue por aqui

Perguntas frequentes

Passar no Luhn significa que o cartão é válido?

Significa apenas que o número é bem formado, sem erro de digitação. Não diz se o cartão existe, se está ativo, se tem limite ou se a validade e o CVV conferem — só o emissor pode responder isso, em uma transação real.

Como identificar a bandeira pelo número?

Pelos primeiros dígitos (o BIN): 4 é Visa; 51 a 55 e 2221–2720 são Mastercard; 34 e 37 são American Express, com 15 dígitos; 36 e 38, Diners; 606282, Hipercard; 50, 636368 e 438935, Elo.

O que é o algoritmo de Luhn?

Uma verificação criada por Hans Peter Luhn na IBM em 1954: da direita para a esquerda, dobram-se os dígitos de posição par (subtraindo 9 quando o dobro passa de 9), soma-se tudo, e o total precisa ser múltiplo de 10. Detecta todo erro de um dígito e quase toda troca de dígitos vizinhos.

É seguro digitar meu cartão real aqui?

Não recomendamos digitar cartões reais em nenhum validador online. Para testar sistemas, use números fictícios gerados por algoritmo ou os cartões de teste que gateways como Stripe, Adyen e PagSeguro publicam em suas documentações.

Ferramentas relacionadas