Validador de número de cartão (Luhn)

Encontre erros de digitação em números de cartão e dados de teste com o mesmo dígito verificador que os formulários de pagamento usam.

Nível 0 · navegador · ilimitado
19 caracteres
Resultado
valid
Passa no dígito de Luhn✓
Dígitos16
Dígito verificador1
Dígito verificador correto1
Bandeira (pelo prefixo)Visa

O que a verificação de Luhn pega

O último dígito de todo número de cartão é um dígito verificador calculado com o algoritmo de Luhn (ISO/IEC 7812). Ele detecta qualquer erro em um único dígito e quase toda troca de dois dígitos vizinhos, por isso os formulários de pagamento usam essa conta para recusar números digitados errado antes de falar com o banco. Números IMEI de celulares e muitos cartões de fidelidade usam a mesma verificação.

Um número que passa está só bem formado. Isso não quer dizer que o cartão existe, pertence a alguém ou tem limite; só o banco emissor sabe.

Exemplo resolvido

Pegue 4111 1111 1111 1111, o famoso número de teste da Visa. A partir da direita, dobre um dígito sim, um não: a soma fecha em 30, múltiplo de 10, então o número é válido. Troque o último dígito por 2 e ele falha. O dígito verificador certo para os 15 primeiros dígitos é 1.

Privacidade

A validação roda no navegador e nada é guardado ou enviado. Para testar fluxos de pagamento, use os números de teste do seu gateway (Stripe, Mercado Pago, PagSeguro) em vez de um cartão real.

Como funciona

A página remove espaços e hífens e aplica o algoritmo de Luhn da ISO/IEC 7812-1: começando pelo dígito da direita, um dígito sim, um não é dobrado, 9 é subtraído de resultados acima de 9 e todos os dígitos são somados. O número é válido quando a soma termina em 0. A página também calcula qual dígito verificador tornaria o resto do número válido e compara os primeiros dígitos com as faixas públicas das bandeiras Visa, Mastercard, American Express, Discover, JCB, Diners Club, Elo, Hipercard e UnionPay. Nada sai do navegador.

Perguntas frequentes

Um resultado válido quer dizer que o cartão existe?

Não. Só quer dizer que o dígito verificador está certo. Só o banco emissor confirma que o cartão existe.

É seguro digitar meu cartão aqui?

A validação roda inteira no navegador e nada é enviado ou guardado. Mesmo assim, não precisa usar um cartão real: números de teste funcionam.

O que mais usa o algoritmo de Luhn?

Números IMEI de celulares, muitos cartões-presente e de fidelidade e alguns documentos de identificação.

Como a bandeira é detectada?

Pelos primeiros dígitos, o número de identificação do emissor, com faixas públicas como 4 para Visa e 51–55 ou 2221–2720 para Mastercard.

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/codes/credit-card-validator/