Algoritmo de Luhn: validar e calcular um dígito
O algoritmo de Luhn protege números de cartão, IMEI e muitos números de cliente contra erros de digitação. Digite um número por linha: a ferramenta confere o último dígito ou o calcula. Use apenas números de exemplo ou de teste.
Fonte: ISO/IEC 7812-1, ISO/IEC 7812-1:2017 – Identification cards, Annex: Luhn formula for computing modulus-10 check digits. Atualizado em: .
Como o cálculo é feito
Não digite dados reais de cartão. O cálculo acontece só no seu navegador; o que você digita não é enviado, não é salvo e não aparece no endereço da página. O resultado é apenas uma verificação de formato: não diz se um cartão existe, está bloqueado ou tem saldo.
Como funciona o algoritmo de Luhn
- Começando pela direita e sem contar o dígito verificador, dobre um dígito a cada dois.
- Se o dobro passar de 9, some os algarismos (o mesmo que subtrair 9): 7 × 2 = 14 → 5.
- Some todos os dígitos. O dígito verificador completa a soma até o próximo múltiplo de 10.
Exemplo 7992739871: da direita para a esquerda 1→2, 7, 8→16→7, 9, 3→6, 7, 2→4, 9, 9→18→9, 7. A soma é 67; faltam 3 para 70 → número completo 79927398713. Para validar, inclui-se o dígito verificador: a soma precisa ser divisível por 10 (aqui, 70).
Onde o Luhn é usado?
Nos números de cartão conforme a ISO/IEC 7812-1 (cartões de pagamento e muitos cartões de fidelidade), no 15º dígito do IMEI de celulares (3GPP TS 23.003) e em vários números de cliente ou de contrato. Ele detecta qualquer erro em um único dígito e quase todas as trocas entre dígitos vizinhos, exceto “09” ↔ “90”. Não protege contra números inventados: um em cada dez números aleatórios passa na verificação.
Para testar, use o exemplo clássico 79927398713 ou o IMEI da norma 3GPP, 49015420323751-8.
Mais ferramentas de dígito verificador: validar código EAN, validar IBAN e validar número VAT europeu.
Perguntas frequentes
Meu cartão é válido se passar na verificação de Luhn?
Não. A verificação mostra apenas que a sequência de dígitos está bem formada. Só o banco emissor sabe se um cartão existe, está ativo ou tem saldo. Digite os dados reais do cartão somente no pagamento da loja.
O que eu digito é salvo ou enviado?
Não. O cálculo roda em JavaScript no seu aparelho; o texto não aparece na URL e não é salvo no navegador. Mesmo assim, use apenas números de exemplo ou de teste.
Posso conferir um IMEI?
Sim. O IMEI de 15 dígitos termina com um dígito verificador de Luhn (3GPP TS 23.003, anexo B). Digite os 15 dígitos no modo “validar” ou os 14 primeiros no modo “calcular”.
Quais erros o algoritmo de Luhn não detecta?
A troca de 0 e 9 (09 ↔ 90), erros gêmeos como 22 ↔ 55, 33 ↔ 66, 44 ↔ 77 e vários erros simultâneos que se compensam por acaso.
Por que o emissor do cartão não é identificado?
A atribuição dos primeiros dígitos (IIN/BIN) aos emissores muda o tempo todo e não é necessária para conferir o formato. A ferramenta se limita de propósito ao dígito verificador.
Fontes e base legal
- ISO/IEC 7812-1: ISO/IEC 7812-1:2017 – Identification cards, Annex: Luhn formula for computing modulus-10 check digits
- 3GPP TS 23.003: 3GPP TS 23.003 – Numbering, addressing and identification, Annex B: IMEI check digit (Luhn)
- US Patent 2,950,048 – H. P. Luhn, Computer for verifying numbers (1960)
Última atualização: · Princípios editoriais
Ferramentas relacionadas
- Validar códigos EAN, GTIN e ISBNConfira o dígito verificador de EAN-8, EAN-13, UPC-A, GTIN-14 e ISBN-10/13, calcule o dígito que falta e converta ISBN-10 em ISBN-13.
- Validar IBANValide um IBAN: dígitos verificadores (módulo 97), tamanho e estrutura de 89 países, e banco e BIC de IBANs alemães. Tudo no navegador, nada é enviado.
- Validar a sintaxe de endereços de emailConfira um ou vários endereços de e-mail conforme as RFC 5321/5322: tamanhos, domínio, domínios com acento (Punycode). No navegador, sem envio.
- Qual é o meu endereço IP?Mostra na hora seu endereço IP público, detecta se é IPv4 ou IPv6 e explica a diferença. Grátis – seu IP não é armazenado.
- Tabela ASCII com decimal, hexadecimal, octal, binário e busca UnicodeTabela ASCII completa (0–127) e Latin-1 (128–255): decimal, hex, octal, binário, entidade HTML e caracteres de controle. Busque qualquer caractere Unicode.
- Validar número de IVA europeu (VAT)Confira o formato e o dígito verificador de um número de IVA/VAT da União Europeia nos 27 países e na Irlanda do Norte (XI). Local, com link para o VIES.
- Gerador de CPF e CNPJ válido para testesGerador de CPF e CNPJ válido para testes, inclusive CNPJ alfanumérico, e validador de dígitos verificadores. Grátis, sem cadastro, tudo no seu navegador.
- Calculadora chmodCalculadora chmod: marque as permissões ou digite 755, rwxr-xr-x ou u=rwx e veja todas as notações, com o comando para copiar. Grátis, direto no navegador.
- Verificar redirecionamento de uma URLVerificar redirecionamento online: cada etapa de uma URL com o código (301, 302, 307, 308), destino e tempo. Mostra cadeias, loops e erros de HTTPS.