Ferramentas de Desenvolvimento
Validador de Número de Cartão de Crédito | Algoritmo de Luhn
Digite um número de cartão de crédito para verificar o dígito verificador com o algoritmo de Luhn e detectar automaticamente a bandeira (Visa, Mastercard, Amex, etc.). Útil para testar validações de formulário.
[[ labels.client_side_note ]]
[[ labels.result_label ]]
| [[ labels.formatted_label ]] | [[ result.formatted ]] |
|---|---|
| [[ labels.brand_label ]] | [[ brandName ]] [[ labels.brand_unknown ]] |
| [[ labels.checksum_label ]] | ✓ [[ labels.checksum_valid ]] ✗ [[ labels.checksum_invalid ]] |
Bandeiras suportadas e regras de identificação (IIN e comprimento)
| Bandeira | Dígitos iniciais (IIN) | Comprimento |
|---|---|---|
| Visa | 4 | 13, 16, 19 |
| Mastercard | 51–55, 2221–2720 | 16 |
| American Express | 34, 37 | 15 |
| Discover | 6011, 65 | 16 |
| JCB | 3528–3589 | 16 |
| Diners Club | 300–305, 36, 38 | 14 |
| UnionPay | 62 | 16–19 |
Dicas
- Experimente os botões de exemplo com números de teste conhecidos (ex.: Visa: 4111 1111 1111 1111) em vez de um número real.
- Espaços e hifens são removidos automaticamente, então você pode colar um número copiado de qualquer lugar.
- Esta ferramenta verifica apenas o formato pelo algoritmo de Luhn. Para autorização real ou consulta de saldo, use a API do seu processador de pagamentos.
- Ao desenvolver a validação de um formulário, use esta ferramenta para gerar um caso válido e um inválido e testar sua lógica.
Perguntas Frequentes
Curiosidade — Hans Peter Luhn, o Pai do Dígito Verificador
O dígito verificador ao final de um número de cartão de crédito é conferido por um algoritmo criado em 1954 pelo engenheiro da IBM Hans Peter Luhn. Ele recebeu uma patente por isso em 1960, mas a patente expirou há muito tempo, tornando o algoritmo de uso livre para qualquer pessoa.
O funcionamento é surpreendentemente simples. Começando pelo dígito mais à direita, cada segundo dígito é dobrado; se o resultado tiver dois algarismos, eles são somados entre si (por exemplo, 8×2=16 → 1+6=7). Se a soma de todos os dígitos for múltipla de 10, o número é considerado formalmente válido.
O algoritmo é usado muito além dos cartões de crédito — também detecta erros de digitação em números IMEI (que identificam smartphones) e em números de seguro social canadenses, entre outros. Vale lembrar que o Luhn detecta apenas erros acidentais de digitação; ele não indica se o cartão realmente existe ou tem saldo.
Os primeiros 6 a 8 dígitos de um número de cartão formam o IIN (Número de Identificação do Emissor), que identifica a rede do cartão e o banco emissor. A detecção de bandeira desta ferramenta é baseada nas faixas de IIN documentadas publicamente para cada rede.