Gerador e validador de números de cartão (teste)
Gere números de cartão fictícios, com prefixo de bandeira e dígito de Luhn corretos, para testar máscaras, validação de formulário e detecção de bandeira. Eles não servem para compras — para testar pagamentos de verdade num sandbox, use os cartões oficiais de cada gateway listados nesta página.
Até 1000 itens por vez. Tudo é gerado no seu navegador.
Cartões de teste oficiais dos gateways (sandbox)
Para testar pagamentos de verdade em ambiente sandbox, use os números publicados por cada gateway. Eles só funcionam no modo de teste do respectivo gateway.
| Gateway | Bandeira | Número | Comportamento |
|---|---|---|---|
| Stripe | Visa | 4242 4242 4242 4242 | Pagamento aprovado |
| Stripe | Mastercard | 5555 5555 5555 4444 | Pagamento aprovado |
| Stripe | Visa | 4000 0007 6000 0002 | Cartão emitido no Brasil; pagamento aprovado |
| Stripe | Visa | 4000 0000 0000 0002 | Recusado (generic_decline) |
| Adyen | Elo | 5066 9911 1111 1118 | Cartão de teste Elo, emissor BR |
| Adyen | Hipercard | 6062 8288 8866 6688 | Cartão de teste Hipercard, emissor BR |
| Mercado Pago | Mastercard | 5480 8328 0103 3311 | Crédito; resultado definido pelo nome do titular (APRO = aprovado) |
| Mercado Pago | Visa | 4235 6477 2802 5682 | Crédito; resultado definido pelo nome do titular (APRO = aprovado) |
| Mercado Pago | Elo | 5067 7667 8388 8311 | Débito; resultado definido pelo nome do titular (APRO = aprovado) |
| PagBank | Visa | 4539 6206 5992 2097 | Autorização aprovada (AUTHORIZED ou PAID) |
| PagBank | Visa | 4929 2918 9838 0766 | Autorização negada (DECLINED) |
| PagBank | Mastercard | 5240 0829 7562 2454 | Autorização aprovada (AUTHORIZED ou PAID) |
| PagBank | Elo | 4514 1611 2211 3757 | Autorização aprovada (AUTHORIZED ou PAID) |
| PagBank | Hipercard | 6062 8285 9891 9021 | Autorização aprovada (AUTHORIZED ou PAID) |
Como usar
- Na aba Gerar, escolha a Bandeira (Visa, Mastercard, American Express, Elo, Hipercard, Diners Club, Discover, JCB) ou deixe em Aleatório.
- Marque Com máscara (pontuação) para agrupar os dígitos com espaços (ex.:
5555 5555 5555 4444) ou desmarque para obter só os números. - Defina a Quantidade (de 1 a 1000) e clique em Gerar. Cada linha traz a bandeira, o número e o rótulo TESTE.
- Use Copiar, Exportar CSV ou Exportar JSON para levar os dados para fixtures e testes automatizados.
- Na aba Validar, cole um número por linha e clique em Validar: cada linha mostra se passa na verificação de Luhn, a bandeira detectada ou o motivo do erro (tamanho, caracteres ou dígito verificador).
Como funciona
Como é formado o número de um cartão
Pela norma ISO/IEC 7812, o número do cartão (PAN) começa com o IIN/BIN, o prefixo que identifica a bandeira e o emissor, segue com os dígitos da conta e termina com um dígito verificador calculado pelo algoritmo de Luhn (módulo 10). O gerador usa estes prefixos e tamanhos:
| Bandeira | Prefixos usados | Dígitos |
|---|---|---|
| Visa | 4 | 16 |
| Mastercard | 51–55, 2221, 2500, 2720 | 16 |
| American Express | 34, 37 | 15 |
| Elo | 636368, 438935, 504175, 451416, 636297, 506699, 509000 | 16 |
| Hipercard | 606282 | 16 |
| Diners Club | 300, 305, 36, 380, 389 | 14 |
| Discover | 6011, 644, 645, 649, 658 | 16 |
| JCB | 3528, 3589 | 16 |
Na validação, a bandeira é detectada pelos prefixos mais específicos primeiro, porque faixas da Elo e da Hipercard se sobrepõem às de Visa, Mastercard e Discover. São aceitos números de 12 a 19 dígitos.
Algoritmo de Luhn passo a passo
Exemplo com o cartão de teste público 5555 5555 5555 4444 (Stripe). Sem o último dígito, a parte base é 555555555555444. Da direita para a esquerda, dobre o 1º, 3º, 5º… dígito; se o dobro passar de 9, subtraia 9:
- Dígitos lidos da direita: 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5.
- Dobrando as posições ímpares: 4→8, 4→8 e cada um dos seis 5 → 10 → 1. As demais posições (um 4 e seis 5) ficam como estão.
- Soma: 8 + 8 + 6×1 + 4 + 6×5 = 56.
- Dígito verificador: (10 − 56 mod 10) mod 10 = (10 − 6) mod 10 = 4. Número completo:
5555 5555 5555 4444.
Por que esses números não servem para compras
Passar no Luhn só prova que não há erro de digitação. Uma compra depende de o emissor autorizar a transação, e isso exige uma conta real, data de validade, código de segurança e as verificações antifraude do banco. Os números gerados aqui não estão ligados a conta nenhuma, e a ferramenta não gera CVV nem validade. Qualquer tentativa de uso real é simplesmente recusada — e não é para isso que eles existem.
Testando pagamentos num sandbox
Para testar autorização, recusa ou 3-D Secure, use o ambiente de testes do seu gateway com as chaves de teste e os cartões oficiais que ele publica. Números gerados aleatoriamente costumam ser rejeitados pelos sandboxes. A tabela «Cartões de teste oficiais dos gateways», logo abaixo da ferramenta, reúne alguns cartões oficiais de Stripe, Adyen, Mercado Pago e PagBank, com o link para a documentação de cada um.
Perguntas frequentes
Posso usar esses números para fazer uma compra ou um cadastro?
Não. Os números são fictícios, não estão ligados a nenhuma conta e não têm CVV nem validade, então qualquer autorização real é recusada pelo emissor. Eles foram feitos para testar máscaras, validação de formulários, detecção de bandeira e armazenamento em ambientes de desenvolvimento. Usá-los para enganar serviços reais não é o propósito desta ferramenta.
Qual cartão devo usar no sandbox do meu gateway de pagamento?
Sempre os cartões de teste oficiais do próprio gateway, junto com as chaves de API de teste. Cada provedor define quais números aprovam, recusam ou acionam 3-D Secure; no Mercado Pago, por exemplo, o resultado depende do nome do titular informado. Consulte a tabela desta página e a documentação de cada gateway antes de montar seus cenários.
O que exatamente o validador verifica?
Ele remove espaços e hífens, exige de 12 a 19 dígitos, confere o dígito verificador pelo algoritmo de Luhn e tenta identificar a bandeira pelo prefixo. Ele não consulta o emissor, não verifica se o cartão existe, se está ativo ou se tem limite. Um resultado válido significa apenas que o número está bem formado.
Por que um cartão Elo aparece como Elo, e não como Visa?
Alguns BINs da Elo começam com 4 ou 5, faixas que normalmente seriam de Visa ou Mastercard, e a Hipercard também tem prefixos próprios. Por isso o detector testa primeiro os prefixos mais específicos (Elo, Hipercard) e só depois os genéricos. Se o seu sistema decide a bandeira só pelo primeiro dígito, ele vai errar com cartões brasileiros.
Como guardar números de cartão nos meus testes com segurança?
Mesmo em testes, trate o campo como dado sensível: em produção, o padrão PCI DSS exige não guardar o número completo sem proteção, e o caminho usual é tokenizar via gateway. Em ambientes de teste, use apenas números fictícios ou os cartões oficiais de sandbox, nunca cartões reais de pessoas da equipe.
Fontes
- ISO — ISO/IEC 7812 (identificação de cartões)
- Stripe — Testing (cartões de teste)
- Mercado Pago Developers — Cartões de teste
- PagBank Developers — Cartões de teste
Ferramentas relacionadas
Atualizado em 13/11/2026 · Rafael Lima