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

Exemplos de CNPJ alfanumérico válidos para teste

20 CNPJs alfanuméricos válidos para teste, com matriz e filiais, 5 inválidos com o motivo e a lista pronta em JSON para copiar nos seus testes.

Roberto GuerraPublicado em 05 de outubro de 2026Editar no GitHub

Quem está adaptando um sistema para o CNPJ alfanumérico precisa, antes de qualquer coisa, de números para testar. Esta página reúne 20 CNPJs alfanuméricos válidos e 5 inválidos, com o motivo de cada falha, prontos para colar em testes unitários, fixtures e planilhas. Todos foram gerados e conferidos com a biblioteca de referência do site, a mesma usada pelo validador de CNPJ.

Os números são fictícios: foram sorteados, não copiados de um cadastro. Ainda assim, qualquer CNPJ gerado pode coincidir com um CNPJ real por acaso, então use-os só em ambientes de desenvolvimento e teste.

20 CNPJs alfanuméricos válidos para teste

Os 17 primeiros são independentes. O primeiro, 12.ABC.345/01DE-35, é o exemplo usado em toda a documentação do site para mostrar o cálculo passo a passo. Os três últimos compartilham a raiz MW1MUDZG: são a matriz (ordem 0001) e duas filiais (0002 e 0003) de um mesmo CNPJ fictício.

# Com máscara Sem máscara Observação
1 12.ABC.345/01DE-35 12ABC34501DE35 exemplo da documentação
2 UD.35T.454/XZN3-31 UD35T454XZN331
3 6P.HGW.WUD/S8JS-09 6PHGWWUDS8JS09 dígitos 0 e 9
4 FW.6C4.RYP/GR2G-70 FW6C4RYPGR2G70
5 PM.OVX.SOD/RVEJ-00 PMOVXSODRVEJ00 dois dígitos 0
6 QN.XK1.37Z/OJ0T-99 QNXK137ZOJ0T99 letra O e dígito 0
7 4X.CU5.1T9/8M5D-02 4XCU51T98M5D02
8 NM.WPE.2LC/UWOU-47 NMWPE2LCUWOU47
9 LM.135.8JA/QWU7-79 LM1358JAQWU779
10 FU.24C.ZI0/7P1J-57 FU24CZI07P1J57 letra I e dígito 1
11 BV.Z7R.3WD/C31J-92 BVZ7R3WDC31J92
12 7H.CWN.8MX/7I2P-65 7HCWN8MX7I2P65
13 5X.B70.2NJ/YFEL-94 5XB702NJYFEL94
14 MT.D5I.EVC/0HLF-82 MTD5IEVC0HLF82 ordem começa com 0
15 UD.ANE.EZA/31L1-99 UDANEEZA31L199
16 E9.MHD.4PA/D2ID-86 E9MHD4PAD2ID86
17 R3.1S5.JA3/DE9K-31 R31S5JA3DE9K31
18 MW.1MU.DZG/0001-90 MW1MUDZG000190 matriz
19 MW.1MU.DZG/0002-71 MW1MUDZG000271 filial 0002
20 MW.1MU.DZG/0003-52 MW1MUDZG000352 filial 0003

Alguns casos merecem atenção. Os números 6 e 10 misturam letras e dígitos parecidos (O e 0, I e 1), úteis para conferir fontes, OCR e digitação manual. O número 5 termina em 00, o que pega rotinas que tratam zeros finais como ausência de valor. E os três últimos testam relatórios e agrupamentos por raiz: uma consulta por LEFT(cnpj, 8) deve trazer os três juntos.

5 inválidos e por quê

Cada inválido falha num ponto diferente da validação, na ordem em que as checagens acontecem. O código do motivo é o mesmo que o validador e a API devolvem.

CNPJ Motivo Explicação
12.ABC.345/01D-35 tamanho Falta um caractere na ordem: depois de limpo, sobram 13.
12.ABC.345/01DE-3X caracteres Letra na posição de dígito verificador. Os dois últimos são sempre numéricos.
ZZ.ZZZ.ZZZ/ZZZZ-62 repetido Os 12 primeiros caracteres são iguais. A conta fecha (62), mas sequências repetidas não são consideradas válidas.
12.ABC.345/01DE-45 dv1 O primeiro dígito verificador correto é 3, não 4.
12.ABC.345/01DE-36 dv2 O primeiro confere; o segundo correto é 5, não 6.

O caso repetido é o mais traiçoeiro: uma implementação que só faz a conta aceita ZZZZZZZZZZZZ62, assim como aceitaria 00000000000000. Se o seu validador não tem uma checagem explícita para isso, este é o teste que vai mostrar.

Copie em JSON

O mesmo conjunto, sem máscara, em formato JSON para fixtures. Os inválidos estão com a pontuação original, para testar também a limpeza da entrada.

cnpj-alfanumerico-fixtures.json
{
"validos": [
  "12ABC34501DE35", "UD35T454XZN331", "6PHGWWUDS8JS09", "FW6C4RYPGR2G70",
  "PMOVXSODRVEJ00", "QNXK137ZOJ0T99", "4XCU51T98M5D02", "NMWPE2LCUWOU47",
  "LM1358JAQWU779", "FU24CZI07P1J57", "BVZ7R3WDC31J92", "7HCWN8MX7I2P65",
  "5XB702NJYFEL94", "MTD5IEVC0HLF82", "UDANEEZA31L199", "E9MHD4PAD2ID86",
  "R31S5JA3DE9K31", "MW1MUDZG000190", "MW1MUDZG000271", "MW1MUDZG000352"
],
"invalidos": [
  { "cnpj": "12.ABC.345/01DE-3X", "motivo": "caracteres" },
  { "cnpj": "12.ABC.345/01D-35", "motivo": "tamanho" },
  { "cnpj": "ZZ.ZZZ.ZZZ/ZZZZ-62", "motivo": "repetido" },
  { "cnpj": "12.ABC.345/01DE-45", "motivo": "dv1" },
  { "cnpj": "12.ABC.345/01DE-36", "motivo": "dv2" }
]
}

Num teste parametrizado, basta percorrer as duas listas:

cnpj.test.js
import casos from './cnpj-alfanumerico-fixtures.json';
import { analisarCnpj } from './cnpj';

test.each(casos.validos)('%s é válido', (cnpj) => {
expect(analisarCnpj(cnpj).valido).toBe(true);
});

test.each(casos.invalidos)('$cnpj é inválido ($motivo)', ({ cnpj, motivo }) => {
expect(analisarCnpj(cnpj).motivo).toBe(motivo);
});

Não se esqueça dos numéricos. Os CNPJs existentes não mudam, e um sistema adaptado precisa continuar aceitando 11.222.333/0001-81 e recusando 11.222.333/0001-82.

Como são calculados

O cálculo é o mesmo do CNPJ numérico, com uma diferença no valor de cada caractere: ele passa a ser o código ASCII menos 48. Dígitos continuam valendo 0 a 9; A vale 17, B vale 18 e assim por diante até Z, que vale 42.

  1. Multiplique os 12 primeiros caracteres pelos pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 e some.
  2. Divida a soma por 11. Se o resto for menor que 2, o primeiro dígito é 0; senão, é 11 menos o resto.
  3. Repita com os 13 primeiros caracteres (incluindo o dígito recém-calculado) e os pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.

Para 12ABC34501DE, a primeira soma é 459, com resto 8, o que dá o dígito 3; a segunda é 424, com resto 6, o que dá 5. A tabela completa, caractere por caractere, está no guia sobre a estrutura do CNPJ, e a calculadora de dígitos de CNPJ mostra a conta de qualquer base.

Gere os seus

Vinte números resolvem testes unitários, mas não uma carga de desempenho nem uma base de homologação. Para isso:

  • O gerador de CNPJ cria um número por vez, numérico ou alfanumérico, e permite fixar a raiz para obter matriz e filiais.
  • O gerador de CNPJ em lote cria até 10 mil de uma vez, com raiz fixa opcional, e baixa o resultado em CSV ou JSON.
  • A API faz o mesmo por requisição HTTP, útil em pipelines de CI.

Se a sua base de teste vem de uma cópia da produção, o guia sobre CPF em massa de teste e LGPD explica por que trocar documentos reais por fictícios, e o raciocínio vale igualmente para o CNPJ de sócios e empresas. Para adaptar o sistema em si, siga o checklist em CNPJ alfanumérico: o que muda no seu sistema.

Perguntas frequentes

Esses CNPJs pertencem a empresas reais?

Foram gerados ao acaso para teste e não foram escolhidos a partir de nenhum cadastro. Como qualquer número gerado, podem coincidir com um CNPJ real por acaso. Use-os só em ambientes de desenvolvimento e teste.

Por que a lista é fixa e não gerada a cada visita?

Testes automatizados precisam de valores estáveis. Uma lista fixa permite copiar os casos para um arquivo de fixtures e comparar resultados entre execuções. Para valores novos a cada vez, use o gerador.

Posso usar letras minúsculas nos testes?

Use para testar a normalização. 12.abc.345/01de-35 deve ser aceito depois de convertido para maiúsculas, mas o valor gravado e exibido deve ser 12ABC34501DE35 ou 12.ABC.345/01DE-35.

Leia também