Os resultados são fornecidos apenas para fins informativos e podem conter erros. Verifique de forma independente as informações importantes. O uso desta ferramenta é por sua conta e risco.
O que esta ferramenta faz
O Validador de Números de Cartão de Crédito verifica se um número de cartão está bem formado. Ele remove espaços e hífens, confirma que o comprimento fica entre 12 e 19 dígitos, executa o checksum de Luhn e identifica a bandeira do cartão pelos primeiros dígitos: Visa, Mastercard, American Express, Discover, Diners Club ou JCB.
O algoritmo de Luhn pega a maioria dos erros de digitação: a partir da direita, um dígito sim, outro não é dobrado (subtraindo 9 quando o resultado passa de 9), e o total precisa ser divisível por 10. Um único dígito errado ou dois dígitos vizinhos trocados quase sempre quebram a verificação. Passar na verificação não significa que o cartão existe, está ativo ou tem saldo; só o emissor do cartão pode dizer isso. A verificação roda inteiramente no seu navegador e o número nunca é enviado a lugar nenhum.
Quando usar
- Testar um formulário de checkout com os números de teste publicados por um provedor de pagamentos.
- Escrever uma validação client-side e conferir a sua implementação do Luhn contra um resultado conhecido.
- Limpar uma importação de dados em que números com cara de cartão precisam ser sinalizados antes de serem armazenados.
- Explicar a um usuário por que um número digitado errado é rejeitado antes de chegar ao gateway de pagamento.
Exemplo prático
4111 1111 1111 1111
Passes Luhn check Network: Visa
4111 1111 1111 1112
Fails Luhn check Network: Visa
Perguntas sobre esta ferramenta
É seguro colar um número de cartão real aqui?
A validação é JavaScript puro na página e não faz nenhuma requisição de rede, então o número não sai do seu dispositivo. Mesmo assim, não há motivo para usar um cartão real: todo provedor de pagamentos publica números de teste que passam no checksum de Luhn.
Por que um número aparentemente válido falha?
Normalmente há um dígito errado ou dois trocados. O último dígito de todo número de cartão é um dígito verificador calculado a partir dos outros, então qualquer alteração isolada faz o total deixar de ser divisível por 10.
Como a bandeira é detectada?
Pelo prefixo do emissor: 4 é Visa, 51-55 e 22-27 são Mastercard, 34 e 37 são American Express, 6011 e 65 são Discover, 300-305, 36 e 38 são Diners Club e 35 é JCB. Prefixos desconhecidos aparecem como Unrecognized (não reconhecido).
Posso usar o checksum de Luhn para outros números?
Sim. O mesmo checksum protege números IMEI, muitos números de cartões de fidelidade e alguns números de identificação nacionais. A regra de comprimento daqui é específica de cartões de pagamento, então números fora da faixa de 12 a 19 dígitos são rejeitados antes de o checksum rodar.
Esta ferramenta é gratuita?
Sim, é grátis. Sem cadastro nem e-mail. Veja o resultado nesta página.
Como recebo o resultado?
Use a ferramenta nesta página. O resultado aparece aqui, sem envio por e-mail.