Skip to content
Validador de cartões de crédito
Tools

Validador de cartões de crédito

Novo

Verifique um número de cartão com o algoritmo de Luhn e detete a sua bandeira.

Format check only — not a real-card check.

This verifies the Luhn checksum, the brand prefix and the length so you can build and test payment forms. A “valid” result means the number is well-formed — not that a card exists, is active, or has funds. Everything runs in your browser; numbers are never sent anywhere. Please don’t use it for fraud.

Brand: — Luhn: — Length: —

Enter a card number to validate.

Luhn checksum — step by step Every second digit from the right is doubled (then reduced by 9 if it goes over 9), and all the digits are summed. A total divisible by 10 passes.
Enter digits above to see the calculation.
Card brand rules (IIN / BIN)
Brand Starts with Length CVV
Visa 4 13, 16, 19 3
Mastercard 51–55, 2221–2720 16 3
American Express 34, 37 15 4
Discover 6011, 644–649, 65 16–19 3
Diners Club 300–305, 36, 38, 39 14–19 3
JCB 3528–3589 16–19 3
UnionPay 62, 81 16–19 3
Maestro 50, 56–69 12–19 3
Test card numbers Public sandbox numbers for testing checkouts (Stripe / Adyen / PayPal style). Test only — fake, not real cards.
4242 4242 4242 4242 Visa · Stripe default
4000 0566 5566 5556 Visa · debit
4111 1111 1111 1111 Visa · classic test
5555 5555 5555 4444 Mastercard
5200 8282 8282 8210 Mastercard · debit
2223 0031 2200 3222 Mastercard · 2-series
3782 822463 10005 American Express
3714 496353 98431 American Express
6011 1111 1111 1117 Discover
3056 9309 0259 04 Diners Club
3566 0020 2036 0505 JCB
6200 0000 0000 0005 UnionPay
6759 6498 2643 8453 Maestro · UK
Generate a test number Build a random, Luhn-valid number for form testing. Test only — fake, not a real card.
Batch check Paste many numbers (one per line) to validate them all at once.

Runs entirely in your browser. Nothing is uploaded.

Valide qualquer número de cartão no seu navegador

Este validador de cartão de crédito verifica se um número de cartão está corretamente formado usando o algoritmo de Luhn, a marca do cartão e o comprimento esperado — tudo em tempo real enquanto escreve. Cole ou escreva um número e verá instantaneamente a marca detetada com o seu logótipo, o resultado da verificação Luhn e do comprimento, e uma verificação opcional do formato do CVV e da data de validade.

Foi desenvolvido para programadores que integram formulários de pagamento e para quem quer detetar erros tipográficos antes de submeter um pagamento. Tudo corre localmente no seu navegador sem qualquer servidor, pelo que funciona também como um validador de número de cartão privado e calculadora de verificação Luhn, mesmo em redes corporativas com políticas restritivas de tráfego de saída.

Como funciona o algoritmo de Luhn

O algoritmo de Luhn, também denominado verificação mod-10, é a fórmula de soma de controlo que quase todas as redes de cartões têm utilizado desde que Hans Peter Luhn a patenteou em 1954. A partir da direita, cada segundo dígito é duplicado; se o resultado exceder 9, subtrai-se 9, e depois todos os dígitos são somados. Quando o total é divisível por 10, o número é válido. Por exemplo, 4242 4242 4242 4242 soma 80 — divisível por 10 — pelo que é Luhn-válido.

A decomposição passo a passo de Luhn nesta página visualiza esse cálculo para o que introduzir: realça os dígitos duplicados, mostra a contribuição de cada dígito para o total acumulado e imprime a soma final e o seu resto. É a forma mais rápida de entender como funciona uma verificação Luhn, útil quando precisa de a implementar em código.

Detete a marca do cartão a partir do IIN/BIN

Os primeiros seis a oito dígitos de um cartão são o seu Número de Identificação do Emissor (IIN) — historicamente chamado Número de Identificação Bancária (BIN) — e identificam a rede. Este detetor de marca de cartão reconhece Visa (começa com 4), Mastercard (51–55 e 2221–2720), American Express (34/37), Discover (6011, 644–649, 65), Diners Club (300–305, 36, 38, 39), JCB (3528–3589), UnionPay (62, 81) e Maestro, e mostra os comprimentos aceites e o número de dígitos do CVV para cada um na tabela de regras de marcas.

A deteção de marca ativa-se enquanto escreve, pelo que pode saber dentro dos primeiros quatro dígitos se o número que está a introduzir é da Visa, Mastercard ou Amex. Esta é a mesma verificação que os formulários de pagamento em sites de comércio eletrónico realizam para mostrar o logótipo correto no campo de entrada.

Comparação com cardguru.io e creditcardvalidator.org

Os validadores de cartões gratuitos mais pesquisados são cardguru.io e creditcardvalidator.org. Ambos verificam o algoritmo de Luhn e detetam a marca. O Cardguru.io adiciona pesquisa BIN (banco emissor, país) mas fá-lo através de uma chamada API no lado do servidor, o que significa que o número do seu cartão sai do navegador. O Creditcardvalidator.org é puramente do lado do cliente, mas mostra anúncios ao lado do validador e não oferece geração de cartões de teste nem verificação em lote.

namso-gen.com e sites similares focam-se na geração de cartões de teste, por vezes em massa, mas os seus números gerados são usados para testes de fraude. Este validador separa as preocupações claramente: valide um número, gere um cartão de teste ou execute validação em lote, tudo offline e sem qualquer associação a utilizações indevidas.

Números de cartão de teste, um gerador e modo em lote

A biblioteca integrada de números de cartão de crédito de teste lista números sandbox válidos por Luhn (estilo Stripe, Adyen e PayPal) por marca, cada um claramente marcado como apenas de teste, com botões de cópia e 'usar'. Precisa de um novo? O gerador cria um número Luhn-válido aleatório para qualquer marca para que possa preencher um formulário de pagamento em segundos sem consultar a documentação do Stripe.

O modo em lote permite-lhe colar uma coluna de números — de uma exportação de folha de cálculo ou de um ficheiro de fixtures de teste — e obter uma tabela com a marca, comprimento, resultado Luhn e um veredicto válido/inválido para cada linha. Isto é útil durante o QA quando tem uma lista de números de uma fonte de dados de terceiros e precisa de saber rapidamente quais estão bem formados.

Valide números de cartão em código — e o que não ignorar no servidor

Para validar números de cartão de crédito em código, implemente Luhn diretamente: inverta a cadeia de dígitos, duplique cada segundo carácter (subtraindo 9 quando exceder 9), some todos os valores e devolva válido quando o total mod 10 for igual a 0 — aproximadamente seis linhas em JavaScript ou Python. Adicione uma regex de prefixo de marca e uma verificação de comprimento para a marca detetada para validação completa do formato do lado do cliente.

Use esta verificação no cliente para feedback instantâneo ao utilizador — apanha os erros tipográficos mais comuns antes de o pedido de rede ser disparado. Mas nunca confie apenas nela: execute sempre a autorização real no lado do servidor através de um processador de pagamentos certificado (Stripe, Adyen, Braintree, Square ou similar). Uma aprovação Luhn é uma verificação de formato, não uma garantia financeira. Não há registo, custo ou servidor aqui — cada verificação acontece no seu navegador e o número que introduz nunca sai do seu dispositivo.

Frequently asked questions

O que é um validador de cartão de crédito?

Um validador de cartão de crédito verifica se um número de cartão está corretamente formado usando três testes: a soma de controlo de Luhn, a marca do cartão (identificada a partir dos dígitos iniciais, chamados IIN ou BIN) e o comprimento esperado para essa marca. Informa o resultado instantaneamente e completamente no navegador. Os programadores usam-no para testar formulários de pagamento e os utilizadores para detetar erros tipográficos antes de submeter. Nunca contacta um banco, pelo que não pode dizer se um cartão real foi alguma vez emitido ou tem dinheiro.

O que é o algoritmo de Luhn e como funciona?

O algoritmo de Luhn, também chamado verificação mod-10, é uma fórmula de soma de controlo que deteta a maioria dos números de cartão mal escritos. A partir do dígito mais à direita e movendo para a esquerda, duplica-se cada segundo dígito; se o resultado tiver dois dígitos (10 ou mais) subtrai-se 9. Depois somam-se todos os dígitos. Se o total for divisível por 10, o número é aprovado. A decomposição passo a passo nesta página mostra o mesmo cálculo para qualquer número que introduza.

Um número válido significa que o cartão é real ou está ativo?

Não. Um resultado «válido» significa apenas que o número está bem formado: passa a soma de controlo de Luhn e encaixa no prefixo e comprimento de uma marca conhecida. Não diz absolutamente nada sobre se o cartão foi alguma vez emitido por um banco, pertence a uma pessoa real, está atualmente ativo ou tem crédito disponível. Confirmar qualquer um desses factos requer uma autorização em direto contra os sistemas do banco emissor, o que só acontece durante uma transação real através de um processador de pagamentos.

É seguro introduzir o número do meu cartão aqui?

Sim. Toda a verificação corre completamente no seu navegador com JavaScript — nada do que escreve é enviado para qualquer servidor, registado ou visível para alguém fora do seu dispositivo. Não há backend, chamada a API nem análise de terceiros no próprio validador. Como boa prática, prefira os números de teste integrados quando apenas precisa de testar um formulário de pagamento, e evite partilhar dados de cartões reais sem uma razão específica.

Como posso identificar a marca do cartão a partir do número?

Os primeiros seis a oito dígitos de um cartão são o seu Número de Identificação do Emissor (IIN) e codificam a marca da rede. Os números Visa começam com 4; Mastercard com 51–55 ou 2221–2720; American Express com 34 ou 37; Discover com 6011, 644–649 ou 65; Diners Club com 300–305, 36, 38 ou 39. Este validador deteta a marca a partir dos primeiros dígitos que escreve e mostra o logótipo, os comprimentos aceites e o número de dígitos do CVV imediatamente.

Quantos dígitos tem cada tipo de cartão?

Os números Visa e Mastercard têm 16 dígitos. American Express tem 15 dígitos. Diners Club tem 14 dígitos (embora alguns cartões co-branded tenham 16). Discover, JCB e UnionPay têm entre 16 e 19 dígitos dependendo do produto. Maestro pode ter entre 12 e 19 dígitos. O comprimento faz parte da validação: um número de 15 dígitos a começar com 4 não é um Visa válido mesmo que passe a verificação Luhn, porque o Visa requer 16 dígitos.

Como valido números de cartão de crédito no meu código?

Implemente Luhn diretamente: inverta o array de dígitos, duplique cada segundo elemento (subtraia 9 se o resultado exceder 9), some todos os elementos e devolva true quando o total mod 10 for igual a 0. São aproximadamente seis linhas em JavaScript ou Python. Depois adicione uma verificação de prefixo de marca usando uma expressão regular e uma verificação de comprimento para a marca detetada. Use esta verificação no cliente para feedback instantâneo, mas execute sempre a autorização real no servidor através do seu processador de pagamentos.