Ferramentas gratuitas para desenvolvedores. Nenhum dado real de pessoas é consultado ou armazenado.Como funciona o algoritmo do CPF →

Gerador de CNPJ válido para teste

Gere um CNPJ com dígitos verificadores corretos, no formato numérico ou no novo formato alfanumérico, com raiz fixa e filiais. Gratuito, sem cadastro e processado no seu navegador.

11.222.333/0001-81
Dígitos conferidos · formato numérico · matriz
Gerar em lote

Número fictício, apenas para testes. Pode coincidir com um CNPJ real por acaso.

Como o gerador funciona

Um CNPJ tem 14 posições. As oito primeiras formam a raiz, que identifica a empresa; as quatro seguintes formam a ordem, que identifica o estabelecimento; as duas últimas são dígitos verificadores, calculados a partir das doze anteriores. Gerar um CNPJ válido, portanto, não exige consultar nenhum cadastro: basta sortear as doze primeiras posições e fazer duas contas.

O gerador desta página segue esse caminho:

  1. Sorteia as doze primeiras posições com crypto.getRandomValues, a fonte de aleatoriedade do navegador. No formato numérico, cada posição recebe um dígito de 0 a 9; no alfanumérico, um caractere de 0 a 9 ou de A a Z.
  2. Se você informou uma raiz fixa, as oito primeiras posições vêm dela e só a ordem é sorteada.
  3. Descarta a base se os doze caracteres forem iguais, porque sequências repetidas não são consideradas válidas.
  4. Calcula o primeiro e o segundo dígito verificador pelo módulo 11 e junta tudo, com ou sem pontuação.

Abaixo do número, a ferramenta mostra o formato detectado (numérico ou alfanumérico) e se o CNPJ é de matriz ou de filial. A estrutura completa do número está explicada no guia sobre raiz, ordem e dígitos do CNPJ.

Numérico ou alfanumérico: qual escolher

Desde julho de 2026, a Receita Federal emite CNPJs alfanuméricos para novas inscrições, conforme a IN RFB nº 2.229/2024. Os CNPJs numéricos já existentes não mudam: uma empresa aberta antes disso continua com o mesmo número. Na prática, o seu sistema passa a conviver com os dois formatos, possivelmente na mesma tabela.

Por isso a pergunta não é qual formato escolher, e sim quanto de cada um gerar:

  • Numérico testa o caminho que o sistema sempre conheceu e confirma que nada quebrou na migração.
  • Alfanumérico testa o caminho novo: colunas que eram numéricas, máscaras que descartavam letras, validações com \d e comparações que convertiam o CNPJ para número. É aí que aparecem os erros.

Uma massa de teste razoável tem os dois formatos misturados. O guia CNPJ alfanumérico: o que muda no seu sistema lista os pontos do código que costumam precisar de ajuste, e a página de exemplos de CNPJ alfanumérico para teste traz casos válidos e inválidos prontos para copiar.

Matriz e filiais (raiz e ordem)

A raiz é comum a todos os estabelecimentos de uma empresa. A ordem distingue cada um deles: 0001 costuma identificar a matriz, e as filiais recebem outros números de ordem. Assim, 11.222.333/0001-81 e 11.222.333/0002-62 são dois estabelecimentos da mesma raiz, com dígitos verificadores diferentes porque a ordem entrou no cálculo.

O gerador tem duas opções para esse cenário:

  • Raiz fixa. Informe oito caracteres e o gerador mantém essa raiz, sorteando apenas a ordem. Para o formato numérico, a raiz precisa ter só dígitos; para o alfanumérico, aceita letras também.
  • Gerar matriz + filiais. Marque a opção e escolha de 1 a 20 estabelecimentos. A lista começa pela ordem 0001 e segue em sequência (0002, 0003…), todos com a mesma raiz. Com a raiz alfanumérica 12ABC345, por exemplo, os três primeiros são 12.ABC.345/0001-88, 12.ABC.345/0002-69 e 12.ABC.345/0003-40.

Esse recurso é útil para testar regras que agrupam estabelecimentos pela raiz, como relatórios consolidados por empresa ou validações que exigem que a filial pertença ao mesmo grupo da matriz.

Cálculo dos dígitos verificadores

O cálculo é o mesmo para os dois formatos. Cada caractere vale o seu código ASCII menos 48: os dígitos continuam valendo de 0 a 9, e as letras vão de A = 17 até Z = 42. Depois, multiplica-se cada valor por um peso, somam-se os produtos e aplica-se o módulo 11. Se o resto for 0 ou 1, o dígito é 0; caso contrário, é 11 menos o resto.

Veja o cálculo completo para o CNPJ de exemplo 12.ABC.345/01DE-35:

Caractere:  1   2   A   B   C   3   4   5   0   1   D   E
Valor:      1   2  17  18  19   3   4   5   0   1  20  21
Peso:       5   4   3   2   9   8   7   6   5   4   3   2
Produto:    5   8  51  36 171  24  28  30   0   4  60  42  = 459
459 mod 11 = 8  ->  11 - 8 = 3   (1º dígito verificador)

Caractere:  1   2   A   B   C   3   4   5   0   1   D   E   3
Valor:      1   2  17  18  19   3   4   5   0   1  20  21   3
Peso:       6   5   4   3   2   9   8   7   6   5   4   3   2
Produto:    6  10  68  54  38  27  32  35   0   5  80  63   6  = 424
424 mod 11 = 6  ->  11 - 6 = 5   (2º dígito verificador)

Resultado: 12.ABC.345/01DE-35

Para um CNPJ só com dígitos, como 11.222.333/0001-81, as somas são 102 e 120, os restos são 3 e 10 e os dígitos saem 8 e 1. A calculadora de dígitos do CNPJ mostra essa tabela, produto por produto, para qualquer base de doze caracteres.

Gerar CNPJ por código

Em testes automatizados e scripts de seed, vale gerar os números no próprio código. A função abaixo, em JavaScript, aplica a mesma lógica do gerador e funciona para os dois formatos:

gerar-cnpj.js
const ALFANUMERICO = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const NUMERICO = '0123456789';

function digito(chars, pesos) {
let soma = 0;
for (let i = 0; i < chars.length; i++) soma += (chars.charCodeAt(i) - 48) * pesos[i];
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
}

function gerarCnpj(alfabeto = ALFANUMERICO) {
let base;
do {
  base = Array.from({ length: 12 }, () => alfabeto[Math.floor(Math.random() * alfabeto.length)]).join('');
} while (/^(.)\1{11}$/.test(base));
const dv1 = digito(base, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);
const dv2 = digito(base + dv1, [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);
return base + dv1 + dv2;
}

gerarCnpj();         // alfanumérico, sem pontuação
gerarCnpj(NUMERICO); // só dígitos

A expressão charCodeAt(i) - 48 é o que torna a mesma função válida para dígitos e letras. O laço do...while refaz o sorteio quando os doze caracteres saem iguais. O retorno vem sem pontuação; para aplicar a máscara 00.000.000/0000-00, use o formatador de CNPJ. Versões completas, com validação, estão nas páginas de código para JavaScript, Python, Java e outras linguagens.

Gerar pela API

Quando o código que precisa dos números não roda em JavaScript, use a API pública. Ela não pede chave nem cadastro:

GET https://www.cpf.dev.br/api/v1/cnpj/gerar?quantidade=5&formato=alfanumerico&formatado=true

A resposta traz a lista de CNPJs:

{
  "cnpjs": [
    "Z7.C2S.XS2/AB66-80",
    "P2.1BV.DOM/WU3W-03",
    "T9.ZJ4.BL0/1YYJ-85",
    "PB.RCF.HHF/H7UW-98",
    "5D.S9C.8BL/AARN-65"
  ]
}

Os números acima ilustram o formato; cada chamada devolve uma lista nova. quantidade vai de 1 a 1000, formato aceita numerico ou alfanumerico, raiz fixa as oito primeiras posições e formatado=true devolve os números com pontuação. Cada IP pode fazer até 60 requisições por minuto. Erros e cabeçalhos estão na documentação da API.

Quando usar

Um CNPJ gerado serve para qualquer situação em que o sistema precisa de um número estruturalmente correto, sem uma empresa real por trás:

  • Testar formulários e máscaras. Confirmar que o campo aceita letras, converte minúsculas para maiúsculas e entrega o valor limpo ao back-end.
  • Popular bancos de desenvolvimento e homologação. Tabelas de clientes, fornecedores e notas precisam de CNPJs que passem nas mesmas validações da produção, agora nos dois formatos.
  • Testes automatizados. Cada execução pode usar números novos, em vez de um CNPJ fixo copiado de algum lugar.
  • Demonstrações. Telas mostradas a clientes não devem exibir dados de empresas reais.

Para volumes maiores, o gerador de CNPJ em lote produz até 10 mil números de uma vez e exporta em CSV ou JSON.

O que não fazer

Um CNPJ gerado é válido apenas no sentido matemático: os dígitos verificadores conferem. Ele não corresponde a uma inscrição na Receita Federal, e alguns usos são inadequados:

  • Não cadastre o número em serviços reais. Bancos, marketplaces e órgãos públicos consultam a situação cadastral do CNPJ. Informar um número inventado em um cadastro real não é teste.
  • Não emita notas fiscais nem assine contratos com ele. O número não identifica nenhuma empresa e não tem valor legal.
  • Não tente consultar o CNPJ gerado. Se por acaso ele coincidir com o de uma empresa, isso não tem relação com o seu teste.

O cuidado inverso também vale: em vez de copiar a base de produção para homologação, gere os números. Para confirmar que um CNPJ qualquer está matematicamente correto, use o validador de CNPJ.

Perguntas frequentes

O CNPJ gerado pode ser de uma empresa real?

Pode coincidir com um CNPJ real por acaso, como qualquer sequência de 14 caracteres com dígitos corretos. Ele não é escolhido a partir de nenhuma base de empresas: o gerador só faz contas.

Qual formato devo gerar, numérico ou alfanumérico?

Os dois. Os CNPJs numéricos existentes continuam valendo, e os alfanuméricos passaram a ser emitidos para novas inscrições. Um sistema atualizado precisa aceitar ambos, então a massa de teste deve conter os dois.

O CNPJ alfanumérico tem letras nos dígitos verificadores?

Não. Letras só aparecem nas 12 primeiras posições (raiz e ordem). Os dois últimos caracteres continuam sendo dígitos de 0 a 9.

A ferramenta guarda os CNPJs que eu gero?

Não. Tudo é calculado no seu navegador e nenhum número é enviado ao servidor.

Como gerar CNPJ por código ou pela API?

Copie a função JavaScript desta página ou chame /api/v1/cnpj/gerar, que aceita quantidade, formato, raiz e formatado. Os dois caminhos usam o mesmo algoritmo da ferramenta.