Validador do Algoritmo de Luhn

O Luhn apenas valida o dígito de verificação, não se o cartão está ativo.

O algoritmo de Luhn (ISO/IEC 7812-1) é a verificação que protege números de cartão de crédito, identificadores de dispositivos IMEI, SINs canadenses, NPIs dos EUA e uma série de outros esquemas numéricos contra erros de digitação de um dígito. Cole uma sequência de dígitos, espaços e traços são ignorados, e o validador mostra se o número é válido e percorre as etapas de duplicação e soma para que você possa verificar manualmente, se desejar.

Como a verificação de Luhn é calculada

  1. 1

    Remover não-dígitos

    Espaços, traços e pontos são removidos. Apenas dígitos de 0 a 9 contam.

  2. 2

    Dobrar cada segundo dígito da direita

    Começando com o penúltimo, cada dígito alternado é dobrado.

  3. 3

    Somar os dígitos de cada valor dobrado

    Se dobrar resulta em 14, adicione 1 + 4 = 5. Equivalente a subtrair 9 de qualquer dobro ≥ 10.

  4. 4

    Totalizar todos os valores resultantes

    Adicione os dígitos dobrados e reduzidos mais os dígitos não tocados.

  5. 5

    Verificar divisibilidade por 10

    Se o total termina em 0, o número é válido. Caso contrário, é inválido.

Exemplo prático

Verifique 4539 1488 0343 6467:

Pos (direita→esquerda) Dígito Duplicado? Valor
1 7 não 7
2 6 sim 12 → 3
3 4 não 4
4 6 sim 12 → 3
5 3 não 3
6 4 sim 8
7 3 não 3
8 0 sim 0
9 8 não 8
10 8 sim 16 → 7
11 4 não 4
12 1 sim 2
13 9 não 9
14 3 sim 6
15 5 não 5
16 4 sim 8

Total: 80. 80 mod 10 = 0 → válido.

Onde o Luhn é usado

Sistema Comprimento Protegido pelo Luhn?
Visa, Mastercard, Discover 13–19 dígitos sim
American Express 15 dígitos sim
IMEI (ID de dispositivo GSM) 15 dígitos sim
Seguro Social Canadense 9 dígitos sim
Identificador Nacional dos EUA 10 dígitos sim
ID Israelense (Teudat Zehut) 9 dígitos sim
ISBN-13 13 dígitos não (usa mod 10 com pesos 1,3)

O que o Luhn detecta e ignora

  • Detecta: todos os erros de um dígito, a maioria (mas não todos) das transposições de dígitos adjacentes.
  • Ignora: a transposição 09 ↔ 90 e vários pares semelhantes. É uma verificação de erro de digitação, não uma verificação de segurança.
  • Não é uma característica de segurança. Um número válido pelo Luhn é fácil de gerar. A validação de PAN em gateways de pagamento usa faixas de emissor, CVV, AVS e 3-D Secure, não apenas Luhn.

Perguntas frequentes

Não. O Luhn apenas verifica se o número está matematicamente bem formado. Não diz nada sobre se o cartão foi emitido, tem fundos ou é roubado. A validação real acontece no emissor durante a autorização.

Sim, o último dígito é o dígito de verificação e pode sempre ser escolhido para tornar a soma divisível por 10. É assim que geradores de IMEI e números de cartão de teste funcionam.

Ele captura cada substituição de um dígito e a maioria das transposições de dígitos adjacentes, mas alguns pares (como 09 ↔ 90) mantêm a verificação inalterada. Esquemas mais robustos (ISBN-13, Verhoeff, Damm) trocam complexidade por cobertura extra de erros.

O validador roda inteiramente no seu navegador, então nada é transmitido, mas colar dados de PAN ao vivo em qualquer lugar que você não precise é um mau hábito. Use números de teste (por exemplo, 4242 4242 4242 4242) ao experimentar.

O Luhn funciona em qualquer comprimento, mas é padronizado para esquemas específicos (geralmente 9–19 dígitos). O validador não limita o comprimento.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas