Última atualização: 4 de setembro de 2026

Gerador de Cartão de Crédito

Gere dados fictícios estruturados de cartões (Algoritmo Luhn) para simulação e teste de gateways de faturação.

Uso exclusivo para ambientes de teste (sandbox). Os números aqui gerados satisfazem apenas o Algoritmo de Luhn — não têm BIN registrado em nenhuma bandeira real, não movimentam conta bancária ou limite de crédito e são rejeitados por qualquer adquirente de pagamento real. Este utilitário serve para desenvolvedores testarem a validação de formato de formulários de checkout, nunca para realizar transações.

6 a 8 dígitos. Se preenchido, o número gerado começa com este prefixo (a bandeira é detectada automaticamente) e a opção "Bandeira" acima é ignorada.

Acima de 1, o resultado vira uma lista com exportação em texto ou JSON.

Dados do Cartão

Clique no botão "Gerar Cartão" para obter dados fictícios válidos de pagamento.

Nota de conformidade: os números gerados aqui são 100% fictícios, calculados pelo Algoritmo de Luhn para passar em validações de checksum. Não pertencem a nenhuma conta ou cartão real — o uso é exclusivo para testes de software (integrações de gateway, formulários de checkout) em ambientes de desenvolvimento.

Como usar o Gerador de Cartão

  1. 1Escolha a bandeira. Ou "Aleatório" para variar entre Visa, Mastercard, Amex e Discover.
  2. 2(Opcional) Digite um BIN customizado. 6 a 8 dígitos — a bandeira é detectada automaticamente e a opção acima é ignorada.
  3. 3Clique em "Gerar Cartão". Para gerar vários de uma vez, mude a quantidade antes de clicar.
  4. 4Copie o resultado. Número, validade e CVV individualmente, ou tudo de uma vez (texto ou JSON no modo lote).

Prefixos (BIN) usados por bandeira

Bandeira Prefixo inicial Dígitos totais
Visa416
Mastercard51–5516
American Express34 ou 3715
Discover6011, 622, 64, 6516–19

Exemplo resolvido: conferindo o checksum de Luhn à mão

O último dígito (checksum) existe para que qualquer sistema consiga detectar erros de digitação sem consultar um banco. O cálculo, criado por Hans Peter Luhn (IBM, 1954), funciona assim para o número de teste 4111 1111 1111 1111:

  1. A partir do penúltimo dígito, dobre cada dígito alternado da direita para a esquerda.
  2. Se o dobro passar de 9, subtraia 9 do resultado (equivale a somar os dois algarismos).
  3. Some todos os dígitos (os dobrados/ajustados e os que ficaram inalterados).
  4. Se o total for múltiplo de 10, o número é estruturalmente válido.
Dígitos (esq. p/ dir.)4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Após dobrar alternados8 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1

Somando essa segunda linha (8+1+2+1+2+1+2+1+2+1+2+1+2+1+2+1) o resultado é 30, múltiplo de 10 — o número passa no checksum de Luhn. Se a soma desse, por exemplo, 31, o cartão seria rejeitado como estruturalmente inválido antes mesmo de consultar qualquer bandeira ou adquirente.

O que esta ferramenta NÃO faz

  • Não consulta, nem simula consultar, nenhuma bandeira, banco ou adquirente real — o número sai pronto de uma fórmula matemática local, no seu navegador.
  • Não gera CVV, validade ou titular vinculados a uma conta existente; são valores aleatórios apenas para preencher o formulário de teste.
  • Não deve ser usado para tentar concluir compras, assinar serviços ou testar limites de fraude em produção — isso é uso indevido e sai do escopo de QA para o qual a ferramenta foi criada.

Por que usar cartões fictícios em vez de dados reais

Números de cartão, mesmo estruturalmente inválidos ou expirados, são dado sensível: a maioria dos padrões de segurança de pagamento (PCI DSS) e a própria LGPD tratam qualquer sequência que remeta a um instrumento de pagamento com o mesmo cuidado de um dado financeiro identificável. Digitar o número de um cartão real — o seu ou o de um colega — num formulário de teste, mesmo sem finalizar a compra, expõe esse dado a logs, ferramentas de monitoramento e prints de tela que normalmente não têm o mesmo controle de acesso do ambiente de produção. Gerar um número fictício elimina esse risco: ele passa no checksum de Luhn como qualquer cartão real, mas não está vinculado a nenhuma conta.

Exemplo de código: verificando o checksum de Luhn em JavaScript

A mesma lógica usada para calcular o dígito verificador ao gerar o cartão serve, na direção inversa, para validar um número completo:

function isValidLuhn(number) {
  const digits = number.replace(/\D/g, '');
  let sum = 0;
  let shouldDouble = false;

  for (let i = digits.length - 1; i >= 0; i--) {
    let digit = parseInt(digits[i], 10);
    if (shouldDouble) {
      digit *= 2;
      if (digit > 9) digit -= 9;
    }
    sum += digit;
    shouldDouble = !shouldDouble;
  }

  return sum % 10 === 0;
}

Quer entender por que um número Luhn-válido não basta para o gateway aprovar a transação? Leia Cartão de teste em gateway de pagamento: por que um número Luhn-válido não basta no blog.

Perguntas Frequentes

Esses números de cartão funcionam para compras reais?

Não. Os números passam no Algoritmo de Luhn (o mesmo teste matemático que qualquer formulário de checkout aplica), mas não estão associados a nenhuma conta bancária real e são recusados por qualquer gateway de pagamento de verdade.

Por que o CVV e a data de validade também são fictícios?

Porque fazem parte do mesmo conjunto de dados de teste. O CVV é gerado aleatoriamente e a validade é projetada para uma data futura plausível, replicando o formato que um formulário de checkout espera receber.

Passar no Luhn garante que o gateway vai aprovar a transação de teste?

Não. O Luhn só garante validação de formato no lado do cliente. Aprovação, recusa ou pedido de 3DS dependem do sandbox do adquirente, que usa suas próprias faixas de cartão de teste para simular cada cenário.

Quais bandeiras esse gerador cobre?

As bandeiras mais usadas em testes de checkout no Brasil, cada uma com o prefixo (BIN) e o comprimento de número corretos para passar na validação de formato específica daquela bandeira.

Copiado com sucesso!