Ferramenta
Gerador de CNPJ
Números com dígito verificador válido, para teste. Gerados no seu navegador.
Somente dígitos, como nas inscrições emitidas até 30/07/2026.
- 08451929394767
- 10614534831160
- 50947024455985
- 61182864331197
- 95281691888857
Estes números passam na validação do dígito verificador, mas não pertencem a nenhuma empresa. Servem para preencher formulário de teste e fixture, nunca para uso em documento real.
Numérico ou alfanumérico?
Inscrições emitidas até 30/07/2026 são só numéricas, e continuam válidas. A partir de 31/07/2026, as novas saem no formato alfanumérico: letras maiúsculas nas 12 primeiras posições e dígitos verificadores numéricos. Se você está testando um sistema que precisa aceitar os dois, gere os dois, porque é justamente aí que a maioria das validações antigas quebra.
Gere no seu código
Para semear banco de teste ou fábrica de objeto. Sem dependência.
function gerarCnpj({ alfanumerico = false } = {}) {
const alfabeto = alfanumerico
? "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
: "0123456789";
const base = Array.from(
{ length: 12 },
() => alfabeto[Math.floor(Math.random() * alfabeto.length)],
).join("");
const valorDe = (c) => c.charCodeAt(0) - 48;
const digito = (chars, pesos) => {
const soma = chars
.split("")
.reduce((total, c, i) => total + valorDe(c) * pesos[i], 0);
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto;
};
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}`;
}import random
def gerar_cnpj(alfanumerico: bool = False) -> str:
alfabeto = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" if alfanumerico else "0123456789"
base = "".join(random.choice(alfabeto) for _ in range(12))
def digito(chars: str, pesos: list[int]) -> int:
soma = sum((ord(c) - 48) * p for c, p in zip(chars, pesos))
resto = soma % 11
return 0 if resto < 2 else 11 - resto
dv1 = digito(base, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2])
dv2 = digito(f"{base}{dv1}", [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2])
return f"{base}{dv1}{dv2}"Quer conferir um CNPJ real? Use o validador.