CNPJ Gerador

Gerador de CNPJ válido para testes

O CNPJ Gerador cria CNPJs válidos, numéricos ou alfanuméricos, para testes de software, com ou sem máscara e em lote.

Grátis, sem cadastro, 100% no navegador

1 CNPJ numérico válido

  1. 33.139.274/0001-15

Enter gera de novo

Tipo
Tipo de estabelecimento

De 1 a 1000

Baixar

Nada é enviado ao servidor.

CNPJ numérico vs alfanumérico: o que mudou em julho de 2026

Desde julho de 2026, a Receita Federal emite CNPJs com letras para novas inscrições. Quem já tem CNPJ não muda nada: o número continua o mesmo e segue válido. O formato do CNPJ mantém 14 caracteres e o DV continua numérico.

AspectoNuméricoAlfanumérico
Quem recebeTodos os CNPJs emitidos até junho de 2026Novas inscrições, de empresas e filiais, desde julho de 2026
Posições 1 a 12Só dígitos de 0 a 9Letras de A a Z (maiúsculas) e dígitos
Posições 13 e 142 dígitos verificadores2 dígitos verificadores, sempre numéricos
Tamanho14 caracteres14 caracteres
Máscara11.222.333/0001-8112.ABC.345/01DE-35
Cálculo do DVMódulo 11Mesmo módulo 11, com valor = ASCII - 48
Coluna no bancoMuitas vezes BIGINT ou NUMERIC(14)Precisa ser texto: CHAR(14) ou VARCHAR(14)

A máscara do CNPJ alfanumérico é a mesma, XX.XXX.XXX/XXXX-XX. Por isso o seu sistema precisa aceitar os dois formatos ao mesmo tempo. Para testar só o formato novo, use o gerador de CNPJ alfanumérico.

Quantos dígitos tem o CNPJ: anatomia de um exemplo alfanumérico

O CNPJ tem 14 caracteres, com ou sem letras. Exemplo de CNPJ alfanumérico publicado pela Receita: 12.ABC.345/01DE-35.

Anatomia do CNPJ 12.ABC.345/01DE-35: raiz com 8 caracteres, ordem com 4 e 2 dígitos verificadores1122.3A4B5C.637485/9010111D12E-133145Raiz8 caracteresOrdem4 caracteresDV2 dígitos
Raiz posições 1 a 8
Identifica a empresa. É igual na matriz e em todas as filiais. No formato novo aceita letras.
Ordem posições 9 a 12
0001 é a matriz; 0002, 0003 e assim por diante são filiais. Também aceita letras, como 01DE.
Dígitos verificadores posições 13 e 14
Calculados a partir dos 12 primeiros por módulo 11. São sempre números, mesmo no CNPJ alfanumérico.

Como calcular o dígito verificador do CNPJ

A regra é a mesma para os dois formatos. Cada caractere vale o seu código ASCII menos 48, então os dígitos valem eles mesmos e as letras vão de A = 17 a Z = 42. Veja a conta completa para 12.ABC.345/01DE-35.

DV1: 12 primeiros caracteres, pesos 5 a 2 e 9 a 2

Caractere12ABC34501DE
Valor12171819345012021
Peso543298765432
Produto585136171242830046042

DV2: 12 caracteres + DV1, pesos 6 a 2 e 9 a 2

Caractere12ABC34501DE3
Valor121718193450120213
Peso6543298765432
Produto6106854382732350580636
Cálculo do dígito verificador feito pelo gerador de CNPJ: soma 459, resto 8, DV1 igual a 3; soma 424, resto 6, DV2 igual a 5 Soma 459dos produtos459 mod 11 = 8resto da divisãoDV1 = 311 - 8Soma 424dos produtos424 mod 11 = 6resto da divisãoDV2 = 511 - 6
Resultado: DVs 35, o que fecha o CNPJ 12.ABC.345/01DE-35.

Tabela ASCII - 48 para as letras

Dígitos de 0 a 9 valem o próprio número.

  • A17
  • B18
  • C19
  • D20
  • E21
  • F22
  • G23
  • H24
  • I25
  • J26
  • K27
  • L28
  • M29
  • N30
  • O31
  • P32
  • Q33
  • R34
  • S35
  • T36
  • U37
  • V38
  • W39
  • X40
  • Y41
  • Z42

Código pronto para gerar e validar CNPJ

Funções que aceitam os dois formatos, testadas contra 11.222.333/0001-81 e 12.ABC.345/01DE-35. Todas usam gerador aleatório criptográfico.

cnpj.ts
const PESOS = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
const CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

// Valor do caractere = código ASCII - 48 (0-9 = 0-9, A = 17 ... Z = 42)
function dv(base: string): number {
  const pesos = PESOS.slice(13 - base.length);
  const soma = [...base].reduce((s, c, i) => s + (c.charCodeAt(0) - 48) * pesos[i], 0);
  const r = soma % 11;
  return r < 2 ? 0 : 11 - r;
}

export function validarCnpj(valor: string): boolean {
  const c = valor.replace(/[.\/-]/g, '').toUpperCase();
  if (!/^[A-Z0-9]{12}\d{2}$/.test(c) || /^(.)\1+$/.test(c)) return false;
  const d1 = dv(c.slice(0, 12));
  return c.slice(12) === `${d1}${dv(c.slice(0, 12) + d1)}`;
}

export function gerarCnpj(alfanumerico = false): string {
  const pool = alfanumerico ? CHARS : CHARS.slice(0, 10);
  const limite = 256 - (256 % pool.length); // evita viés de módulo
  let raiz = '';
  while (raiz.length < 8) {
    const [b] = crypto.getRandomValues(new Uint8Array(1));
    if (b < limite) raiz += pool[b % pool.length];
  }
  const base = raiz + '0001';
  const d1 = dv(base);
  return `${base}${d1}${dv(base + d1)}`;
}

export const mascarar = (c: string) =>
  c.replace(/^(.{2})(.{3})(.{3})(.{4})(.{2})$/, '$1.$2.$3/$4-$5');

Cenários de teste para QA

Nove casos que valem um teste automatizado antes de liberar o CNPJ alfanumérico em produção. Use o gerador de CNPJ para testes lá em cima para montar a massa de cada um.

Entrada e formatação

  • Com e sem máscara

    O campo aceita os dois formatos e grava sempre o mesmo valor, sem pontuação.

    12ABC34501DE35 e 12.ABC.345/01DE-35
  • Letras minúsculas

    A entrada é convertida para maiúsculas antes de validar e de gravar.

    12.abc.345/01de-35
  • Espaços e colagem

    Espaços no início, no fim ou colados de um PDF não geram erro de tamanho.

    " 12.ABC.345/01DE-35 "

Regras de validação

  • DV inválido

    O sistema rejeita e explica o motivo. Use a opção de DV inválido do gerador para montar a massa.

    11.222.333/0001-82
  • Sequências repetidas

    Passam na conta do DV e mesmo assim devem ser recusadas.

    00.000.000/0000-00
  • Matriz e filial

    A mesma raiz com ordens diferentes é agrupada como a mesma empresa.

    12.ABC.345/0001-88 e 12.ABC.345/0002-69

Banco, telas e integrações

  • Campo numérico que quebra com letras

    Colunas BIGINT, input type="number" e máscaras só de dígitos falham no formato novo. Teste cada tela e cada API.

    12.ABC.345/01DE-35
  • Zero à esquerda

    Ao passar por um tipo numérico, o CNPJ perde o zero inicial e fica com 13 posições.

    01.234.567/0001-95
  • Integração com NF-e

    Confira se o XML (tags CNPJ de emitente e destinatário), o EDI e os web services aceitam letras, conforme a nota técnica vigente.

    <CNPJ>12ABC34501DE35</CNPJ>

Outras ferramentas

Além deste gerador de CNPJ online, duas páginas para tarefas específicas.

Perguntas frequentes sobre o gerador de CNPJ

Não achou a resposta? A regra oficial está no link da Receita Federal no rodapé.

O que é um gerador de CNPJ?

Uma ferramenta que cria números de CNPJ matematicamente válidos, com os dígitos verificadores corretos, para uso em testes de software, QA e desenvolvimento. Os números não correspondem a um cadastro real na Receita Federal.

O CNPJ gerado é válido?

Sim, no sentido do algoritmo: ele passa em qualquer validação de dígito verificador. Mas não é uma empresa registrada e não serve para emitir nota fiscal, abrir conta ou fazer qualquer operação real.

É legal usar um gerador de CNPJ?

Sim, para testes e fins educacionais. Usar um CNPJ gerado para enganar alguém, em cadastros, compras ou contratos, pode configurar crime de falsidade ideológica (art. 299 do Código Penal).

O que é o CNPJ alfanumérico?

É o novo formato da Receita Federal, que combina letras (A a Z) e números nas 12 primeiras posições. Foi criado para evitar que as combinações numéricas se esgotem. O total continua sendo de 14 caracteres.

Quando o CNPJ alfanumérico começa a valer?

A partir de julho de 2026, só para novas inscrições (empresas e filiais). Os CNPJs já existentes continuam numéricos e não mudam.

Qual é o modelo de um CNPJ alfanumérico?

O formato é XX.XXX.XXX/XXXX-DV, como em 12.ABC.345/01DE-35. As 12 primeiras posições aceitam letras maiúsculas e números. Os 2 últimos são sempre dígitos numéricos.

Como gerar um CNPJ alfanumérico válido para teste?

Escolha a opção "Alfanumérico" no gerador, defina a quantidade e se quer com ou sem máscara, e clique em "Gerar". Os dígitos verificadores são calculados pelo algoritmo oficial.

Como é calculado o dígito verificador do CNPJ?

Pelo módulo 11. Cada um dos 12 primeiros caracteres é multiplicado pelos pesos 5,4,3,2,9,8,7,6,5,4,3,2 e os resultados são somados. Se o resto da divisão por 11 for menor que 2, o dígito é 0; senão, é 11 menos o resto. O segundo dígito repete o processo com 13 caracteres e os pesos 6,5,4,3,2,9,8,7,6,5,4,3,2. No formato alfanumérico, cada caractere vale o seu código ASCII menos 48 (A = 17, B = 18, ..., Z = 42).

Quantos dígitos tem o CNPJ e o que significa cada parte?

São 14. Os 8 primeiros formam a raiz (identificam a empresa). Os 4 seguintes são a ordem: 0001 é a matriz e os demais são filiais. Os 2 últimos são os dígitos verificadores.

Posso gerar CNPJ de matriz e filial?

Sim. A matriz usa a ordem 0001; filiais usam 0002, 0003 etc. com a mesma raiz. É útil para testar sistemas que agrupam estabelecimentos da mesma empresa.

Como validar um CNPJ (numérico ou alfanumérico) no meu sistema?

Remova a máscara, converta para maiúsculas, confira se tem 14 caracteres (regex ^[A-Z0-9]{12}\d{2}$), rejeite sequências repetidas e recalcule os dois dígitos verificadores. Você também pode usar o nosso validador de CNPJ.

O gerador de CNPJ é gratuito? Posso gerar vários de uma vez?

Sim, é gratuito e sem cadastro. Você pode gerar até 1000 CNPJs de uma vez e copiar ou baixar a lista em TXT, CSV ou JSON, com ou sem pontuação.