Como o algoritmo de Luhn verifica o cartão
O algoritmo de Luhn, também chamado de módulo 10, percorre o número do cartão da direita para a esquerda e dobra cada segundo dígito. Quando o dobro passa de 9, somam-se os dois algarismos do resultado, o que dá no mesmo que subtrair 9. Todos os valores, os dobrados e os que ficaram intactos, são somados, e se o total for múltiplo de 10 o número é considerado consistente. É um teste desenhado para pegar erros comuns de digitação, como um dígito trocado ou duas posições invertidas, não uma checagem de segurança. A verificação acontece inteiramente no navegador, sem enviar o número a lugar nenhum. O nome módulo 10 vem justamente do teste final: a soma de todos os dígitos tratados precisa terminar em zero, ou seja, ser divisível por 10. Só o número do cartão entra na conta; validade, nome e CVV ficam de fora.
Exemplo de Luhn passo a passo
Veja o cálculo com o número de teste 4539 1488 0343 6467, usado justamente para demonstrações. Começando pela direita, mantém-se um dígito e dobra-se o seguinte, alternando. Nos que dobram, quando o resultado passa de 9, subtrai-se 9: um 8 dobrado vira 16 e reduz para 7, um 6 dobrado vira 12 e reduz para 3. Somando os dígitos que ficaram intactos, chega-se a 43; somando os que foram dobrados e reduzidos, chega-se a 37. O total é 80, que é múltiplo de 10, então o número passa no Luhn. Se você trocasse um único dígito, quase sempre a soma deixaria de fechar em dezena e a ferramenta acusaria inconsistência. Um caso típico é inverter dois algarismos vizinhos, engano comum ao copiar o número, que o teste costuma capturar. É por essa eficiência com uma conta simples que o Luhn aparece em tantos sistemas de pagamento.
Como a bandeira é descoberta pelo número
A bandeira é identificada pelos primeiros dígitos do cartão, a faixa conhecida como BIN ou IIN. Cada bandeira ocupa prefixos específicos: números que começam com 4 são Visa; faixas de 51 a 55 e alguns intervalos iniciados em 2 são Mastercard; 34 e 37 são American Express; a Elo e outras usam faixas próprias. O validador compara o começo do número com essas faixas para sugerir a bandeira. Esse reconhecimento é independente do resultado do Luhn: um número pode ter bandeira reconhecida e ainda falhar no dígito, ou passar no Luhn sem se encaixar em nenhuma faixa conhecida. O BIN indica a bandeira e o banco emissor, não o titular. Cada emissor recebe faixas próprias dentro da bandeira, então dois cartões da mesma bandeira podem começar de formas diferentes conforme o banco que os emitiu.
Passar no Luhn não é o mesmo que o cartão funcionar
Passar no Luhn está longe de garantir que um cartão funcione. O algoritmo confirma apenas que a sequência de dígitos é coerente, algo que qualquer número gerado para teste também alcança. Ele não sabe se o cartão foi emitido, se está ativo, se tem limite disponível ou se a validade e o código de segurança conferem. Essas informações ficam com o banco emissor e com a bandeira, que fazem a autorização real no momento da compra, consultando saldo, antifraude e senha. Por isso números que passam no Luhn não movimentam dinheiro nem servem para transações verdadeiras, apenas para testar se um formulário aceita o formato. É por isso que geradores de cartão para teste são úteis e legais: eles produzem números coerentes com o Luhn e com as faixas de bandeira, mas sem vínculo com conta bancária alguma.
Quem criou o algoritmo e o padrão do número
O método foi criado nos anos 1950 por Hans Peter Luhn, engenheiro da IBM, e virou um padrão aberto para detectar erros de digitação em números de identificação. A estrutura do cartão, por sua vez, segue a norma internacional ISO/IEC 7812: o primeiro dígito indica o setor, os primeiros seis a oito formam o BIN do emissor, os dígitos seguintes são a conta e o último é o verificador de Luhn. Esse mesmo padrão vale para cartões de crédito, débito e outros cartões de pagamento no mundo todo, o que explica por que o teste funciona igual em qualquer bandeira. A mesma norma reserva parte dos prefixos para setores como companhias aéreas e redes de varejo, o que explica cartões que não são de banco mas seguem o formato e passam no Luhn.
É seguro digitar o cartão nesta página
A checagem é feita inteiramente no seu navegador e o número não é enviado a nenhum servidor, o que torna o uso privado. Mesmo assim, vale um hábito de segurança: evite digitar dados de cartões reais em sites sem necessidade, porque o costume abre espaço para descuidos em páginas menos confiáveis. Para testar checkouts, formulários e integrações, prefira números fictícios de um gerador, que passam no Luhn sem corresponder a um cartão de verdade. Assim você valida o campo e a máscara sem expor um cartão que existe. Lembre também de nunca guardar número, validade e CVV juntos em texto aberto. Se precisar testar um pagamento de verdade, use o ambiente de sandbox do provedor, que aceita cartões de teste específicos sem cobrar nada e sem tocar em um cartão real.
Como usar esta ferramenta
- Digite o número do cartão, com ou sem espaços.
- Veja se ele passa no algoritmo de Luhn e qual a bandeira.
- Troque os dígitos para testar outro número.
Perguntas Frequentes (FAQ)
- Passar no Luhn significa que o cartão é real?
- Não. O algoritmo de Luhn só verifica se a sequência de dígitos é matematicamente consistente. Ele não diz se o cartão existe, está ativo ou tem saldo - isso só o banco emissor sabe.
- É seguro digitar meu cartão aqui?
- A validação acontece inteiramente no seu navegador e nada é enviado para servidores. Ainda assim, evite inserir dados de cartões reais em qualquer site que você não precise confiar.
- Como a bandeira é identificada?
- Pelos primeiros dígitos do número (o BIN/IIN). Cada bandeira, como Visa, Mastercard, Elo ou Amex, usa faixas de prefixos específicas que o validador reconhece.
- O validador confere a validade e o código CVV?
- Não. O Luhn olha só a sequência de dígitos do número do cartão. A data de validade e o CVV não entram nesse cálculo e não têm como ser conferidos aqui, porque dependem de dados que só o banco emissor tem. Um número pode passar no Luhn com qualquer validade ou CVV digitados ao lado.
- Quantos dígitos tem um cartão de crédito?
- A maioria tem 16 dígitos, mas o padrão aceita de 13 a 19. A American Express usa 15, e algumas bandeiras têm comprimentos próprios. O algoritmo de Luhn funciona igual em qualquer tamanho, sempre tratando o último dígito como verificador. Por isso o validador não exige exatamente 16 números para conferir a conta.
- Posso usar um número que passa no Luhn para comprar?
- Não. Passar no Luhn só diz que os dígitos são coerentes, não que o cartão existe ou tem saldo. Números de teste servem para checar se um formulário aceita o formato, nada além disso. Usar um número que não é seu em uma compra real é tentativa de fraude, além de ser barrado na autorização do banco.