Pular para o conteúdo

Gerador de CNPJ

Gere um CNPJ fictício ou uma massa de teste inteira, no formato numérico ou no alfanumérico.

Gerar CNPJ

Números fictícios, calculados no seu navegador. Nada é enviado.

Mais opções: semente, inválidos de propósito, matriz ou filial
A mesma semente gera a mesma lista, para testes automatizados. Vazio = sorteia.
Para teste negativo: o seu sistema deve recusar.

Número gerado

CNPJ numérico Fictício, apenas para teste

43.661.268/0001-87

Números fictícios, apenas para teste de software. Eles são sorteados no seu navegador e seguem a regra do dígito verificador, mas não vêm de nenhum cadastro. Usar documento falso para enganar alguém é crime.

Escolha o formato, a quantidade e clique em Gerar: cada número sai com os dois dígitos verificadores corretos e passa na validação do seu sistema em teste. Você pode gerar até 10.000 CNPJs de uma vez, com ou sem máscara, e baixar em CSV, CSV (Excel), JSON ou SQL. Tudo é sorteado no seu navegador e serve só para teste de software.

Como usar o gerador

O painel acima já abre pronto para gerar um CNPJ. Para uma massa de teste, ajuste as opções:

  1. Escolha o formato: numérico (só dígitos) ou alfanumérico (letras e dígitos nas 12 primeiras posições).
  2. Escolha matriz (ordem 0001) ou filial (ordem sorteada).
  3. Marque se quer o número com máscara (12.ABC.345/01DE-35) ou sem (12ABC34501DE35).
  4. Informe a quantidade, de 1 a 10.000, e, se quiser repetir a lista depois, uma semente.
  5. Clique em Gerar e copie o resultado ou baixe o arquivo no formato que o seu teste usa.

Numérico ou alfanumérico: qual gerar

Desde julho de 2026, a Receita Federal atribui CNPJs com letras a novas inscrições, e os números antigos continuam valendo. Na prática, o seu sistema vai receber os dois formatos misturados por muitos anos.

Use o numérico para testar telas, relatórios e integrações que já existiam. Use o alfanumérico para provar que a adaptação funcionou: campo que aceita letra, banco que não converte para número, API que manda o CNPJ como texto. O teste mais útil mistura os dois na mesma massa.

Se você ainda não conhece a regra nova, a página do CNPJ alfanumérico explica o formato, a conta das letras e o que mudar no sistema.

Gerar CNPJ em lote

O lote gera até 10.000 números por vez, sem repetir nenhum dentro da mesma lista. Os formatos de saída são pensados para colar direto no projeto:

  • Lista: um CNPJ por linha, para colar num campo ou num arquivo de texto.
  • CSV: com cabeçalho cnpj, separado por vírgula, para scripts, bancos e ferramentas de teste.
  • CSV (Excel): a mesma lista pronta para o Excel em português, com acentos e colunas no lugar. Se for editar no Excel, mantenha a coluna como texto, senão ele apaga os zeros à esquerda.
  • JSON: um array de strings, bom para fixtures de teste em JavaScript ou Python.
  • SQL: um INSERT INTO documentos_teste (cnpj) VALUES (...) pronto para popular uma tabela de homologação. O SQL vem sempre sem máscara, com 14 caracteres por CNPJ.

Um lote de 10.000 CNPJs sai em menos de 1 segundo, calculado no seu próprio navegador.

Se o teste pede CNPJ junto com outros números, como inscrição estadual ou chave de NF-e, monte o arquivo na página de massa de teste.

Semente: a mesma lista em todo teste

A semente é um número que fixa o sorteio. Com a mesma semente, as mesmas opções e a mesma quantidade, o gerador devolve exatamente a mesma lista, em qualquer computador.

Isso resolve um problema chato de teste automatizado: dado aleatório que muda a cada execução e faz o teste falhar sem motivo. Anote a semente no próprio teste ou no README da massa, e qualquer pessoa do time consegue recriar os mesmos números.

CNPJs inválidos para teste negativo

Testar só o caminho feliz não basta. O gerador também cria números errados de propósito, cada um com um defeito conhecido:

  • Dígito verificador errado: a base está certa, mas o DV não confere.
  • Tamanho errado: 13 ou 15 caracteres.
  • Caracteres repetidos: 00.000.000/0000-00 e parecidos. Alguns passam na conta, mas nenhum deve ser aceito.
  • Letra no dígito verificador: o formato alfanumérico só aceita letras nas 12 primeiras posições.

Seu validador deve recusar todos com uma mensagem clara. Se algum passar, você achou um bug antes do usuário.

Matriz e filial

As 8 primeiras posições são a raiz da empresa, e as 4 seguintes são a ordem do estabelecimento. Na inscrição, a matriz recebe a ordem 0001. Para testar cadastros com várias unidades da mesma empresa, gere filiais e confira se o sistema agrupa pela raiz.

No formato alfanumérico, a ordem da filial também pode ter letras, como em 12.ABC.345/01DE-35. Se o seu sistema extrai a raiz ou a ordem com conversão numérica, esse é o teste que vai mostrar o problema.

Algoritmo

Como o dígito verificador é calculado

Os dois últimos dígitos saem de um módulo 11. Multiplique os 12 primeiros caracteres pelos pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 e some. Se o resto da divisão por 11 for 0 ou 1, o dígito é 0; senão, é 11 menos o resto. O 2º dígito repete a conta com 13 caracteres e os pesos começando em 6.

Exemplo com 11.222.333/0001-81: a soma da base dá 102, o resto é 3 e o 1º dígito é 8. Com o 8 no fim, a soma dá 120, o resto é 10 e o 2º dígito é 1.

No alfanumérico, cada letra vira o código ASCII menos 48 antes da conta. O passo a passo completo, com o exemplo oficial da Receita, está na página do CNPJ alfanumérico.

Conta feita com o número 11.222.333/0001-81. Gere ou valide outro acima e a conta muda junto.

1º dígito verificador

Cálculo do 1º dígito verificador: valor, peso e produto de cada caractere
1º dígito112223330001
Valor (ASCII − 48)112223330001
Peso543298765432
Produto5464182421180002
soma 102÷ 11 →resto 3→ 11 − 3 =1º DV = 8

Resto 3 é maior que 1, então DV = 11 − 3 = 8.

2º dígito verificador

Cálculo do 2º dígito verificador: valor, peso e produto de cada caractere
2º dígito1122233300018
Valor (ASCII − 48)1122233300018
Peso6543298765432
Produto65864272421000316
soma 120÷ 11 →resto 10→ 11 − 10 =2º DV = 1

Resto 10 é maior que 1, então DV = 11 − 10 = 1.

Dicas para montar a massa de teste

  • Guarde a massa no repositório junto com a semente usada, para revisar a mudança no pull request.
  • Separe os casos válidos dos inválidos em arquivos ou tabelas diferentes. Fica claro o que cada teste espera.
  • Teste com e sem máscara. Muito bug aparece quando o usuário cola o número formatado.
  • Gere alguns em minúsculas à mão (12abc34501de35) para conferir se a normalização funciona.
  • Nunca copie CNPJ de cliente real para o ambiente de teste. Número fictício resolve o mesmo problema sem expor ninguém.

Cuidados legais

Os CNPJs são sorteados no seu navegador e não vêm de nenhum cadastro da Receita. Eles servem para testar software. Um número sorteado pode, por coincidência, existir de verdade, então não use o resultado para identificar empresa nenhuma.

Usar CNPJ inventado para emitir nota, abrir conta ou enganar alguém pode configurar crime, como falsidade ideológica (art. 299 do Código Penal) e estelionato (art. 171).

Código

Código pronto para o seu projeto

const CARACTERES = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

function dvCnpj(base) {
  const calc = (v) => {
    let soma = 0;
    for (let i = v.length - 1, peso = 2; i >= 0; i--, peso = peso === 9 ? 2 : peso + 1) {
      soma += v[i] * peso;
    }
    const resto = soma % 11;
    return resto < 2 ? 0 : 11 - resto;
  };
  const v = [...base].map((c) => c.charCodeAt(0) - 48);
  const dv1 = calc(v);
  return String(dv1) + String(calc([...v, dv1]));
}

// Gera um CNPJ sem máscara. Math.random não aceita semente;
// para lista reproduzível, troque por um gerador com semente.
function gerarCnpj({ alfanumerico = false, matriz = true } = {}) {
  const pool = alfanumerico ? CARACTERES : CARACTERES.slice(0, 10);
  const sortear = (n) =>
    Array.from({ length: n }, () => pool[Math.floor(Math.random() * pool.length)]).join('');
  const base = sortear(8) + (matriz ? '0001' : sortear(4));
  return base + dvCnpj(base);
}

gerarCnpj({ alfanumerico: true }); // 14 caracteres, sem máscara
Dúvidas

Perguntas frequentes

O CNPJ gerado é válido?

Ele é válido só no cálculo: os dígitos verificadores estão certos e o número passa na conferência do dígito do seu sistema em teste. Mas não está cadastrado na Receita Federal e é recusado em qualquer consulta à Receita, então não serve para nada fora de um teste de software.

Posso gerar CNPJ alfanumérico?

Sim. Escolha o formato alfanumérico no painel e as 12 primeiras posições podem sair com letras de A a Z. Os dígitos verificadores continuam numéricos.

Quantos CNPJs posso gerar de uma vez?

Até 10.000 por lote, sem números repetidos. Você baixa em lista, CSV, CSV (Excel), JSON ou SQL.

Como gerar sempre os mesmos CNPJs?

Informe uma semente. Com a mesma semente, as mesmas opções e a mesma quantidade, o gerador devolve a mesma lista, o que deixa o teste automatizado estável.

Os CNPJs que eu gero ficam salvos em algum lugar?

Não. O sorteio roda no seu navegador e nenhum número é enviado ao servidor. Se fechar a página sem baixar, a lista se perde.

Posso usar o CNPJ gerado para abrir uma conta ou emitir nota?

Não. O número não pertence a uma empresa cadastrada e usá-lo para enganar alguém pode ser crime. Use só em ambiente de teste e homologação.

Ferramentas

Veja também

Atualizado em 14/11/2026.