Copiado com sucesso!

Validador de Cartão de Crédito

Esta ferramenta permite validar números de cartão de crédito utilizando o algoritmo de Luhn. Verifique se um número de cartão é válido e identifique a bandeira com facilidade.
Cartão Válido
Visa
Número do Cartão:
**** **** **** 1234
Bandeira:
Visa
Formato:
Válido
Checksums:
Passou
0
Válidos
0
Inválidos
0
Total

Informações sobre Bandeiras de Cartões

Visa
Começa com 4, tem 13 ou 16 dígitos
4XXXXXXXXXXXXXXX
Mastercard
Começa com 51-55 ou 2221-2720, tem 16 dígitos
51XXXXXXXXXXXXXX a 55XXXXXXXXXXXXXX
American Express
Começa com 34 ou 37, tem 15 dígitos
34XXXXXXXXXXXXX ou 37XXXXXXXXXXXXX
Discover
Começa com 6011, 622126-622925, 644-649 ou 65, tem 16 dígitos
6011XXXXXXXXXXXX ou 65XXXXXXXXXXXXXX
JCB
Começa com 3528-3589, tem 16 a 19 dígitos
35XXXXXXXXXXXXXX
Diners Club
Começa com 300-305, 36 ou 38-39, tem 14 a 19 dígitos
30XXXXXXXXXXXX ou 36XXXXXXXXXXXX
Elo
Começa com 4011, 401178, 401179, 431274, 438935, 451416, 457393, 457631, 457632, 504175, 627780, 636297, 636368, 651653, 506699-506778, 509000-509999, 650031-650033, 650035-650051, 650405-650439, 650485-650538, 650541-650598, 650700-650718, 650720-650727, 650901-650920, 651652-651679, 655000-655019, 655021-655058
401178XXXXXXXXXX, 506699XXXXXXXXXX, etc.
Hipercard
Começa com 384100, 384140, 384160, 606282, 637095, 637568, 637599, 637609, 637612, tem 16 dígitos
606282XXXXXXXXXX, 384100XXXXXXXXXX, etc.

O que é o Algoritmo de Luhn?

O Algoritmo de Luhn, também conhecido como "módulo 10" ou "fórmula de Luhn", é um método de soma de verificação criado por Hans Peter Luhn, cientista da computação da IBM em 1954. É utilizado para validar números de identificação como números de cartões de crédito, IMEI de telefones celulares e números de documentos em diversos países.

O algoritmo é projetado para proteger contra erros acidentais, como erros de digitação, e não para segurança contra fraudes deliberadas. Funciona da seguinte forma:

  1. Iniciando pelo penúltimo dígito e movendo-se da direita para a esquerda, dobre o valor de cada segundo dígito.
  2. Se o resultado da duplicação for maior que 9 (ex: 8 × 2 = 16), some os dígitos do resultado (ex: 1 + 6 = 7).
  3. Some todos os dígitos, incluindo os não duplicados.
  4. Se o total for divisível por 10 (ou seja, termina em 0), o número é válido segundo o algoritmo de Luhn.

Este algoritmo consegue detectar qualquer erro de dígito único, bem como quase todos os erros de transposição (quando dois dígitos adjacentes são trocados). Por isso, é amplamente utilizado para validação preliminar de números de cartão de crédito antes mesmo de uma transação ser processada.

Validação Luhn
Detecta Bandeiras
Verificação em Lote
Privacidade

Por que validar cartões de crédito?

A validação de cartões de crédito usando o algoritmo de Luhn tem diversas aplicações práticas no comércio eletrônico e em sistemas financeiros.
E-commerce
Reduz erros de digitação durante o checkout, melhorando a experiência do cliente
Desenvolvimento
Permite verificação preliminar antes de enviar para processamento de pagamento
Limpeza de dados
Verifica a integridade de bases de dados de clientes e pagamentos
Depuração
Auxilia na identificação de problemas em sistemas de processamento de pagamentos

Perguntas Frequentes

Não. Esta ferramenta realiza apenas uma validação matemática usando o algoritmo de Luhn e verificação do padrão da bandeira. Ela não verifica se o cartão realmente existe, está ativo ou tem fundos disponíveis.

Para determinar se um cartão realmente existe e está ativo, seria necessário fazer uma verificação com as operadoras de cartão ou processadoras de pagamento, o que exigiria:

  • Integração com gateways de pagamento
  • Informações adicionais como data de validade e código de segurança (CVV)
  • Autorização formal para realizar transações de teste (geralmente com valores simbólicos)
  • Compliance com regulamentações de segurança como PCI DSS

O algoritmo de Luhn é apenas um primeiro filtro para detectar erros de digitação antes que uma transação seja enviada para processamento. Um número pode passar na verificação do algoritmo de Luhn e ainda assim ser um número de cartão inválido, inexistente ou fraudulento.

Esta ferramenta é útil para desenvolvedores e equipes de QA que precisam testar sistemas de pagamento sem usar números de cartão reais, ou para validar rapidamente o formato e estrutura de números de cartão.

A identificação da bandeira do cartão é feita analisando os primeiros dígitos do número, conhecidos como "BIN" (Bank Identification Number) ou "IIN" (Issuer Identification Number). Cada bandeira de cartão tem faixas específicas reservadas:

  • Visa: Começa com 4 e tem 13, 16 ou 19 dígitos
  • Mastercard: Começa com números de 51 a 55 ou 2221-2720 e tem 16 dígitos
  • American Express: Começa com 34 ou 37 e tem 15 dígitos
  • Discover: Começa com 6011, 622126-622925, 644-649 ou 65 e tem 16 dígitos
  • JCB: Começa com 3528-3589 e tem 16 a 19 dígitos
  • Diners Club: Começa com 300-305, 36, 38-39 e tem 14-19 dígitos
  • Elo: Começa com vários prefixos específicos como 401178, 506699, etc.
  • Hipercard: Começa com 606282, 384100, etc. e tem 16 dígitos

Esta identificação é apenas baseada nos padrões oficiais publicados pelas respectivas bandeiras, mas é importante observar que:

  • As bandeiras ocasionalmente expandem suas faixas de números
  • Algumas faixas de números podem se sobrepor entre bandeiras menos comuns
  • Cartões co-branded podem apresentar características especiais

Para uma identificação 100% precisa da bandeira e tipo de cartão, seria necessário consultar bancos de dados de BIN completos e atualizados, que são geralmente fornecidos por serviços especializados.

Embora esta ferramenta funcione inteiramente no navegador e não envie dados para servidores externos, não recomendamos utilizar números de cartão de crédito reais por várias razões:

  1. Segurança de dados: É sempre uma boa prática limitar a exposição de dados sensíveis, mesmo em ferramentas locais.
  2. Compliance: O uso de números de cartão reais em ferramentas não certificadas pode violar políticas de segurança corporativas ou regulamentações como PCI DSS.
  3. Proteção adicional desnecessária: Para validar o algoritmo e o formato, números de teste funcionam igualmente bem.

Alternativas seguras:

  • Números de teste padronizados: Muitas processadoras de pagamento publicam números de cartão de teste que passam na validação Luhn mas não são números reais.
  • Geradores de números de teste: Existem ferramentas que geram números que passam no algoritmo de Luhn sem representar cartões reais.
  • Dados mascarados: Se precisar testar com dados próximos aos reais, use versões mascaradas onde apenas os últimos 4 dígitos são mantidos.

Lembre-se que o objetivo desta ferramenta é validar o formato e o algoritmo de verificação, não processar cartões reais para transações.

Existem várias maneiras de gerar números de cartão de crédito de teste que passam na verificação do algoritmo de Luhn, mas não são cartões reais:

1. Números de teste oficiais das bandeiras:

Várias bandeiras e processadoras de pagamento disponibilizam números de teste para desenvolvedores:

  • Visa: 4111 1111 1111 1111
  • Mastercard: 5555 5555 5555 4444
  • American Express: 3782 822463 10005
  • Discover: 6011 1111 1111 1117

2. Algoritmo para gerar números válidos:

  1. Escolha um prefixo válido para a bandeira desejada (ex: 4 para Visa)
  2. Complete com dígitos aleatórios até o penúltimo dígito
  3. Calcule o dígito de verificação usando o algoritmo de Luhn
  4. Adicione o dígito de verificação como último dígito

3. Ferramentas online:

Existem diversos geradores de números de cartão de teste online que criam números válidos segundo o algoritmo de Luhn para diferentes bandeiras.

4. Implementação manual do algoritmo de Luhn reverso:

Se você tem 15 dígitos e precisa determinar o 16º para que o número passe na validação de Luhn:

  1. Aplique o algoritmo de Luhn nos 15 dígitos
  2. O dígito verificador será o número que, quando adicionado ao resultado, torna o total divisível por 10
Importante: Mesmo sendo apenas números de teste, certifique-se de que sua aplicação não armazene esses números de forma insegura. Mantenha boas práticas de segurança mesmo com dados de teste.

O algoritmo de Luhn foi projetado especificamente para detectar os tipos mais comuns de erros que ocorrem na entrada manual de números, especialmente em cartões de crédito. Ele é eficaz contra:

Tipos de erros detectados com eficiência:

  • Erro em um único dígito: Se qualquer dígito for digitado incorretamente (ex: 5 em vez de 6), o algoritmo de Luhn detectará o erro com 100% de precisão.
  • Transposição de dígitos adjacentes: Se dois dígitos consecutivos forem trocados (ex: 12 se tornando 21), o algoritmo detectará o erro em mais de 98% dos casos.

Como o algoritmo detecta esses erros:

O algoritmo funciona através de um sistema de ponderação específico:

  1. Quando um dígito é alterado, a soma total calculada pelo algoritmo muda
  2. Devido à duplicação alternada de dígitos, erros de transposição afetam a soma total de maneira desproporcional
  3. A verificação final (divisibilidade por 10) atua como um checksum que identifica essas alterações

Exemplo matemático:

Número correto: 4532 0151 5522 0112
Cálculo Luhn: 8 + 5 + 6 + 2 + 0 + 1 + 5 + 1 + 1 + 0 + 4 + 4 + 0 + 2 + 2 + 4 = 45
Resultado: 45 % 10 = 5 (não divisível por 10, inválido)

Número com erro: 4532 0151 5522 0 1 12 (5 digitado como 1)
Cálculo Luhn: 8 + 5 + 6 + 2 + 0 + 1 + 5 + 1 + 1 + 0 + 4 + 4 + 0 + 2 + 2 + 4 = 45
Resultado: 45 % 10 = 5 (não divisível por 10, algoritmo detectou o erro)

Limitações:

O algoritmo não consegue detectar todos os tipos de erros:

  • Adição ou remoção de dígitos (alteração no comprimento)
  • Alguns casos raros de múltiplos erros que se "cancelam" matematicamente
  • Certos padrões específicos de transposição de dígitos não adjacentes

Apesar dessas limitações, o algoritmo permanece extremamente útil, pois consegue detectar aproximadamente 95% dos erros de digitação comuns, tornando-o uma verificação preliminar valiosa antes do processamento completo de um cartão.