Validador de Cartão de Crédito
Validador de cartão de crédito gratuito para desenvolvedores e testes. Executa a verificação Luhn (Mod-10), detecta a bandeira e lê emissor, país e tipo de cartão a partir do BIN.
O Que É o Validador de Cartão de Crédito?
Um validador de cartão de crédito verifica se um número de cartão está bem formado. Executa o checksum Luhn (Mod-10), confere comprimento e prefixo conforme regras de cada rede e lê os seis primeiros dígitos (BIN) para identificar banco emissor, bandeira, país e tipo de cartão.
É uma ferramenta para desenvolvedores e analistas, não de pagamento. Funciona fora de qualquer gateway, para você conferir um número vindo de formulário, log ou fixture de teste sem enviá-lo aonde não precisa ir.
O validador confirma apenas formato e estrutura matemática. Executa o algoritmo Luhn e consulta estática ao banco de dados BIN. Não fala com emissor, rede ou gateway de pagamento.
Não verifica se a conta existe, se o cartão está ativo, se há saldo, se CVV ou validade estão corretos, ou se o portador é quem diz ser. Resultado VÁLIDO significa que o número está bem formado. Nada mais.
Como Usar o Validador de Cartão de Crédito?
Três passos.
-
Passo 1. Cole um número de cartão no campo. O comprimento pode ser de 12 a 19 dígitos. Espaços e traços são removidos automaticamente e o selo da bandeira detectada aparece enquanto você digita.
-
Passo 2. Resolva o CAPTCHA. Ele existe para barrar abuso automatizado, não para atrapalhar.
- Passo 3. Clique em Validar. O número passa por verificação de comprimento, checksum Luhn, extração de BIN e consulta ao banco de dados em uma única ida e volta.
Você recebe status Luhn (VÁLIDO ou INVÁLIDO), bandeira, banco emissor, tipo (crédito, débito, pré-pago) e país, além do BIN bruto. Expanda os modais para o registro completo, copie qualquer campo ou exporte tudo em JSON, CSV ou TXT.
Como o Validador de Cartão de Crédito Funciona?
O validador executa um pipeline curto. Sanitiza a entrada, verifica comprimento, executa Luhn, extrai o BIN, consulta o banco de dados e retorna o resultado. Parte ocorre no navegador para feedback instantâneo, o restante no servidor. O número não é armazenado no banco de dados da aplicação após a resposta.
1. Sanitização de Entrada e Validação de Comprimento
A ferramenta primeiro sanitiza a entrada removendo caracteres não numéricos (espaços, traços, pontos, etc.), garantindo apenas dígitos. Depois valida se o comprimento está entre 12 e 19 dígitos, cobrindo Maestro (12), cartões padrão (16) e formatos estendidos (19).
Valida se um número foi informado antes do processamento, impedindo envio de campos vazios.
Remove espaços, traços e caracteres de formatação para extrair apenas dígitos numéricos.
Verifica se o comprimento está entre 12 e 19 dígitos, rejeitando números fora dessa faixa.
Enquanto você digita, a ferramenta analisa os primeiros dígitos para detectar a bandeira e exibe na hora.
2. Extração de BIN (Número de Identificação Bancária)
Os 6 primeiros dígitos formam o BIN (Número de Identificação Bancária), também chamado IIN (Número de Identificação do Emissor). Esse identificador revela instituição emissora, bandeira, tipo e país de origem. O Validador de Cartão de Crédito extrai esse BIN para consultas ao banco de dados e detecção de bandeira.
Extrai automaticamente os 6 primeiros dígitos do número sanitizado como código BIN, identificador principal das consultas.
O primeiro dígito (Identificador de Indústria Principal) indica a categoria: bancos/finanças (4, 5), viagens/entretenimento (3) ou outras (1, 2, 6, 7, 8, 9).
O BIN de 6 dígitos identifica unicamente a instituição financeira, rede, tipo de cartão e região geográfica de emissão.
O BIN extraído vira a chave de consulta. Uma busca no banco de dados BIN retorna emissor, tipo, país e metadados de contato em uma resposta.
3. Validação pelo Algoritmo Luhn (Módulo 10)
O algoritmo Luhn, também conhecido como algoritmo Módulo 10 ou Mod-10, é uma fórmula de checksum matemático usada para validar números de identificação, incluindo cartões. Desenvolvido pelo cientista da IBM Hans Peter Luhn em 1954, detecta erros de um dígito e a maioria das transposições de dígitos adjacentes.
Vamos percorrer o processo passo a passo usando o número de exemplo 4417 1234 5678 9113.
Passo 1: Inverter o Número
O primeiro passo é pegar o número do cartão e lê-lo de trás para frente, da direita para a esquerda. Passo preparatório crucial. Por exemplo, 4417 1234 5678 9113 vira 3119 8765 4321 7144 lido da direita para a esquerda.
Passo 2: Somar os Dígitos em Posições Pares
Com o número invertido, somamos todos os dígitos nas posições pares. Neste exemplo, somamos 3 + 1 + 8 + 6 + 4 + 2 + 7 + 4 para obter 35.
Passo 3: Dobrar e Somar os Dígitos em Posições Ímpares
Em seguida, processamos os dígitos em posições ímpares. Dobramos cada um e, se o resultado tiver dois dígitos, somamos esses dígitos. A soma final de todos os valores processados é 35.
Passo 4: Validação Final Módulo 10
Por fim, somamos as duas somas: 35 + 35 = 70. Fazemos a operação módulo 10: 70 MOD 10 = 0. Como o resultado é 0, o número do cartão é válido.
Essa validação matemática garante que o número segue a estrutura correta usada pelos principais emissores. Um número que falha no Luhn não pode ser válido, independentemente de existir conta.
4. Detecção de Bandeira do Cartão
A ferramenta identifica a bandeira do cartão analisando as faixas de Número de Identificação do Emissor (IIN). Cada bandeira principal tem faixas IIN específicas definidas pelos padrões da indústria de cartões de pagamento:
Começa com o dígito 4. Comprimento padrão: 16 dígitos (pode ser 13 ou 19 em algumas variantes).
Começa com 51-55 ou 2221-2720. Comprimento padrão: 16 dígitos.
Começa com 34 ou 37. Comprimento padrão: 15 dígitos.
Começa com 6011, 622126-622925, 644-649 ou 65. Comprimento: 16-19 dígitos.
Começa com 3528-3589. Comprimento: 16-19 dígitos.
Começa com 62. Comprimento: 16-19 dígitos.
A ferramenta detecta mais de 30 bandeiras, incluindo Diners Club, Maestro, RuPay, Mir, Troy e muitos esquemas regionais. A detecção ocorre no cliente (feedback instantâneo) e no servidor (validação precisa).
5. Consulta ao Banco de Dados BIN
Com o BIN em mãos, a ferramenta consulta o banco de dados BIN. Uma busca retorna o registro completo do emissor para aquela faixa:
O BIN de 6 dígitos extraído do número do cartão, usado para identificar a instituição emissora.
A instituição financeira ou cooperativa de crédito que emitiu o cartão.
A bandeira da rede de pagamento (Visa, Mastercard, American Express, etc.).
Se o cartão é Crédito, Débito, Pré-pago ou Virtual.
O nome do país onde o cartão foi emitido, indicando a localização geográfica da instituição emissora.
O código de país ISO 3166-1 alpha-2 (duas letras) do país de emissão (ex.: "US", "GB", "CA").
O código de país ISO 3166-1 alpha-3 (três letras) do país de emissão (ex.: "USA", "GBR", "CAN").
URL do site oficial do banco emissor ou instituição financeira (se disponível).
Telefone de contato do banco emissor ou instituição financeira (se disponível).
Se um BIN não for encontrado no banco de dados, a ferramenta recorre à detecção de bandeira por análise de faixas IIN e exibe as informações disponíveis. O banco de dados é atualizado regularmente com novas faixas BIN e dados de emissores.
6. Compilação e Exibição dos Resultados
Os resultados voltam em uma única resposta e são exibidos em um layout que você lê em um segundo. Você obtém:
Um cartão de status com cores mostrando VÁLIDO (verde) ou INVÁLIDO (vermelho) com ícones, confirmação do número e descrição da validação.
Bandeira, tipo e país de emissão lado a lado, cada um com ícone para leitura rápida.
Selos dedicados mostrando validação Luhn e checksum (VÁLIDO ou INVÁLIDO).
O registro completo do cartão: número, emissor (bandeira), status Luhn, status checksum e formato (comprimento em dígitos).
Informações completas do BIN, incluindo código BIN, banco emissor, tipo de cartão, país ISO (nome), País ISO A2 (código de duas letras), País ISO A3 (código de três letras), site do emissor e telefone de contato do emissor.
Exporte resultados completos em JSON (dados estruturados), CSV (planilha) ou TXT (texto) com detalhes BIN, status de validação e timestamps.
Composição do Número do Cartão
Um número de cartão de crédito é composto por várias partes distintas, cada uma com função na identificação e validação:
-
First Digit (MII): Identifica a rede de pagamento (ex.: 4 para Visa, 5 para Mastercard, 3 para Amex/Diners Club).
-
Identificação do Emissor Number (IIN/BIN): Os 6 primeiros dígitos (ou mais) identificam o banco ou instituição financeira que emitiu o cartão.
-
Account Identifier: Os próximos 9-12 dígitos são únicos à sua conta pessoal, vinculando o cartão aos seus dados financeiros.
- Dígito Verificador: O dígito final, calculado pelo Algoritmo Luhn, valida o número inteiro para evitar erros e fraudes.
A tabela de referência de Número de Identificação do Emissor (IIN) e Número de Identificação Bancária (BIN) abaixo lista cada bandeira que o validador reconhece, com faixas de prefixo, comprimentos esperados, status ativo e método de validação. Use-a para identificar um cartão manualmente ou confirmar o formato esperado para uma bandeira.
| REDE | FAIXAS IIN/BIN | ESTADO | COMPRIMENTO | VALIDAÇÃO | REGIÃO |
|---|---|---|---|---|---|
| American Express | 34, 37 | Ativo | 15 | LUHN | Global |
| Bankcard | 5610, 560221–560225 | Inativo | 16 | LUHN | Australia (defunct) |
| BORICA | 2205 | Ativo | 16 | LUHN | Bulgaria |
| China T-Union | 31 | Ativo | 19 | LUHN | China |
| China UnionPay | 62, 81 (8100–8171, Discover-routed) | Ativo | 16, 19 | LUHN | China (Global acceptance) |
| Dankort | 5019 | Ativo | 16 | LUHN | Denmark |
| Dankort (Visa co-brand) | 4571 | Ativo | 16 | LUHN | Denmark |
| Diners Club enRoute | 2014, 2149 | Inativo | 15 | NONE | North America (defunct) |
| Diners Club International | 30, 36, 38, 39 | Ativo | 14, 16, 19 | LUHN | Global |
| Diners Club US & Canada | 55 | Ativo | 16 | LUHN | United States, Canada |
| Discover Card | 6011, 644–649, 65 | Ativo | 16, 19 | LUHN | Global |
| GPN (Gerbang Pembayaran Nasional) | 1946 (BNI cards), 50, 56, 58, 60–63 | Ativo | 16, 18, 19 | LUHN | Indonesia |
| Humo | 9860 | Ativo | 16 | LUHN | Uzbekistan |
| InstaPayment | 637–639 | Ativo | 16 | LUHN | Global |
| InterPayment | 636 | Ativo | 16, 19 | LUHN | Global |
| JCB | 3088–3094, 3096–3102, 3112–3120, 3158–3159, 3337–3349, 3528–3589 | Ativo | 16, 19 | LUHN | Global (Japan-based) |
| LankaPay | 357111 (JCB co-branded) | Ativo | 16 | LUHN | Sri Lanka |
| Laser | 6304, 6706, 6771, 6709 | Inativo | 16, 19 | LUHN | Ireland (defunct) |
| Maestro | 5018, 5020, 5038, 5893, 6304, 6759, 6761, 6762, 6763 | Descontinuado | 12, 19 | LUHN | Global (EU sunset) |
| Maestro (UK) | 6759, 676770, 676774 | Ativo | 12, 19 | LUHN | United Kingdom |
| Mastercard | 2221–2720, 51–55 | Ativo | 16 | LUHN | Global |
| Mir | 2200–2204 | Ativo | 16, 19 | LUHN | Russia |
| Napas | 9704 | Ativo | 16, 19 | LUHN | Vietnam |
| NPS Pridnestrovie | 6054740–6054744 | Inativo | 16 | LUHN | Pridnestrovian Moldavian Republic |
| RuPay | 60, 65, 81, 82, 508 | Ativo | 16 | LUHN | India |
| RuPay (JCB co-brand) | 353, 356 | Ativo | 16 | LUHN | India |
| Solo | 6334, 6767 | Inativo | 16, 18, 19 | LUHN | United Kingdom (defunct) |
| Switch | 4903, 4905, 4911, 4936, 564182, 633110, 6333, 6759 | Inativo | 16, 18, 19 | LUHN | United Kingdom (defunct) |
| Troy | 65 (Discover co-branded), 9792 | Ativo | 16 | LUHN | Turkey |
| UATP | 1 | Ativo | 15 | LUHN | Global (Airline travel) |
| UkrCard | 60400100–60420099 | Ativo | 16, 19 | LUHN | Ukraine |
| UzCard | 8600, 5614 | Ativo | 16 | LUHN | Uzbekistan |
| Verve | 506099–506198, 650002–650027, 507865–507964 | Ativo | 16, 18, 19 | LUHN | Nigeria |
| Visa | 4 | Ativo | 13, 16, 19 | LUHN | Global |
| Visa Electron | 4026, 417500, 4508, 4844, 4913, 4917 | Inativo | 16 | LUHN | Global |
Deslize horizontalmente para ver todas as colunas.
Fonte: Wikipedia
Por Que a Validação de Cartão Importa
Validação de formato é o filtro mais barato antes do gateway de pagamento. Detecta erros de digitação, colagens inválidas e integrações quebradas antes de custar ida e volta na rede, taxa de processador ou cliente frustrado. Não é controle de fraude sozinha, mas é a primeira verificação útil em qualquer checkout.
Um número que falha no Luhn vai falhar no gateway sempre. Detectar no formulário dá mensagem de erro clara em vez de "transação recusada" genérica dois segundos depois.
Números que falham no Luhn não são números de cartão reais. Filtrá-los na borda mantém sua equipe de fraude focada em tentativas que poderiam autorizar.
Retorno de formato inline (enquanto digita, antes de enviar) é o ganho de UX mais barato no checkout. O usuário corrige o erro no lugar em vez de abandonar.
Toda tentativa de autorização no gateway tem custo, mesmo quando falha. Pré-validar reduz chamadas inúteis e as taxas associadas.
Se você desenvolve código de pagamento, o validador é uma forma prática de confirmar que formulário, tokenizador e roteamento BIN concordam sobre o que um número significa.
Validar entrada é hábito básico de qualidade de dados em formulários de pagamento. Não prova cartão ativo ou autorizado, mas significa menos lixo no fluxo de dados de cartão.
Quem Usa
Uma lista curta e direta. Se o seu trabalho envolve olhar um número de cartão na tela, esta ferramenta é para você.
Use quando estiver montando checkout, depurando tokenizador ou conferindo por que um número falha no gateway. Mais rápido que subir um sandbox.
Confirme que seu formulário aceita as bandeiras suportadas e rejeita as demais, e valide fixtures antes de regressão. Combine com o gerador de cartões de teste na página inicial para sequências simuladas.
Verifique rapidamente um número de transação sinalizada ou revisão manual. O modal BIN mostra emissor, país e tipo sem login em outro sistema.
Quando o cliente diz que o cartão foi recusado, uma verificação Luhn e BIN de 10 segundos mostra se é erro de digitação, bandeira errada ou algo que o gateway precisa responder.
Percorra o algoritmo Luhn passo a passo em aula, ou use a tabela de referência BIN como exemplo de como as redes estruturam a numeração.
Perguntas Frequentes (FAQ)
Não. O número colado é processado em memória durante a requisição e depois descartado. Não armazenamos em nosso banco de dados de aplicação. O tratamento de dados de cartão está na Política de Privacidade.
O algoritmo Luhn (também chamado Mod-10) é um checksum simples que Hans Peter Luhn criou na IBM em 1954. Toda rede principal exige que seus números passem por ele. A verificação detecta erros de um dígito e a maioria das trocas de dígitos adjacentes, o sanity check mais barato antes do checkout.
Número que falha no Luhn não é número de cartão real, ponto. Número que passa pode estar inativo, cancelado ou falso; não trate o check verde como prova de que o cartão funciona.
Não. Um selo VÁLIDO verde significa que o número está bem formado e passa no Luhn. Ele não informa nenhum dos itens abaixo:
- Que existe conta por trás dele
- Que o cartão está ativo e não cancelado
- Que há saldo
- Que não foi reportado perdido ou roubado
- Que CVV ou validade estão corretos
- Que o portador autorizou qualquer coisa
Qualquer item dessa lista exige processador de pagamento real ou banco emissor. Trate esta ferramenta como verificação de primeira linha, não como prova de autorização.
Praticamente todos. O validador reconhece:
- Redes principais. Visa, Mastercard, American Express, Discover
- Bandeiras regionais. JCB (Japão), China UnionPay, RuPay (Índia), Mir (Rússia), Troy (Turquia)
- Redes de débito. Maestro, Visa Electron, Interac
- Outras bandeiras. Diners Club, Diners Club International, Diners Club enRoute
- Pré-pago e virtual. Faixas pré-pagas comuns e números de cartão virtual
O comprimento pode ser de 12 dígitos (alguns Maestro) a 19 (formatos estendidos). Se a bandeira não estiver na tabela, você ainda recebe o resultado Luhn e o que o banco de dados BIN tiver sobre o emissor.
No próprio número: checksum Luhn (Mod-10), comprimento, bandeira e BIN de 6 dígitos.
Da consulta BIN: banco emissor, tipo (crédito, débito, pré-pago, virtual), país de emissão e site do emissor se constar no arquivo.
O que não verifica: CVV ou CVC, data de validade, saldo, status de ativação, nome do portador, endereço de cobrança ou qualquer dado que dependa de conta ativa.
Sim, com uma ressalva. É ótimo para testar partes da stack que não precisam de gateway ao vivo: validação de formulário, detecção de bandeira, roteamento BIN, mensagens de erro e sanitização de entrada.
Para autorizar ou simular recusa, use cartões de teste que seu processador publica (veja o guia de testes da Stripe, cartões sandbox do PayPal e documentação similar). Esses números disparam respostas simuladas no sandbox do processador.
Resposta honesta: geralmente certo, nunca perfeito. Atualizamos o conjunto de dados regularmente, mas faixas BIN mudam. Emissores adicionam faixas, aposentam antigas, fundem bancos ou transferem carteiras para outro patrocinador BIN.
Se um BIN não corresponder a uma entrada, o validador ainda executa Luhn e recorre à detecção de bandeira pelo prefixo. Para qualquer ação comercial, confirme com o emissor ou dados BIN da própria rede.
Seguro o suficiente para o que faz. O número é processado em memória e descartado, requisições usam HTTPS, reCAPTCHA filtra automação, tokens CSRF protegem cada envio de formulário e nunca chamamos gateway de pagamento.
Como regra geral, prefira colar números de cartão de teste ou números que você aceita compartilhar. Se validar cartões de produção próprios, o lugar mais seguro é seu próprio ambiente, com as mesmas regras Luhn e BIN.