Instantâneo e offline
A página é HTML estático e o cálculo roda no seu navegador. Sem espera de servidor, sem fila, sem limite de consultas.
CNPJ alfanumérico · em vigor desde julho de 2026
Cole o CNPJ com letras ou só com números. Validamos o formato e os dígitos verificadores na hora, mostramos o cálculo passo a passo e explicamos o que mudou. Grátis, sem cadastro e sem enviar nada para servidor nenhum.
Aceita letras e números Sem cadastro e sem limite Nada sai do seu navegador
Precisa validar milhares de CNPJs de uma vez? Conheça a API do ValidadorCNPJ.
A página é HTML estático e o cálculo roda no seu navegador. Sem espera de servidor, sem fila, sem limite de consultas.
Além de dizer se é válido, o validador abre o passo a passo do módulo 11 com cada caractere, peso e produto — útil para depurar a sua implementação.
O mesmo algoritmo implementado em Python, PHP, Java, C#, JavaScript, Go, Delphi e mais, com testes e integração com os frameworks de cada linguagem.
O CNPJ alfanumérico é o novo formato do Cadastro Nacional da Pessoa Jurídica, definido pela Instrução Normativa RFB nº 2.229, de 15 de outubro de 2024, e detalhado na Nota Técnica COCAD/SUARA/RFB nº 49/2024. O motivo é simples: o estoque de números disponíveis no formato puramente numérico está próximo do esgotamento. Ao permitir letras, a Receita Federal multiplica por muitas ordens de grandeza a quantidade de inscrições possíveis, sem mexer no tamanho do campo.
Na prática, o número continua com 14 posições e a mesma máscara de sempre. A estrutura fica assim:
| Trecho | Posições | Aceita | Exemplo |
|---|---|---|---|
| Raiz (identifica a empresa) | 1 a 8 | 0-9 e A-Z | 12ABC345 |
| Ordem (matriz ou filial) | 9 a 12 | 0-9 e A-Z | 01DE |
| Dígitos verificadores | 13 e 14 | apenas 0-9 | 35 |
Juntando tudo, o exemplo oficial divulgado pela Receita Federal é 12.ABC.345/01DE-35.
Do ponto de vista de código, quatro coisas quebram em sistemas que assumiram que CNPJ é um número:
BIGINT, NUMBER, Long e afins deixam de servir. O destino é VARCHAR(14) guardando o valor sem máscara. Guia completo da migração.parseInt, intval, Convert.ToInt64 ou StrToInt no caminho do CNPJ vai truncar o valor silenciosamente. Esse é o bug mais difícil de achar depois.^\d{14}$ e máscaras 999.999.999/9999-99 passam a reprovar CNPJ válido. Veja a regex correta e a máscara com letras.O algoritmo é o módulo 11 clássico. A única novidade é que, antes de multiplicar pelos pesos, cada caractere vira um número: o seu código na tabela ASCII menos 48.
| Grupo | Valores usados no cálculo |
|---|---|
| Dígitos | 0 = 0 · 1 = 1 · 2 = 2 · 3 = 3 · 4 = 4 · 5 = 5 · 6 = 6 · 7 = 7 · 8 = 8 · 9 = 9 |
| Letras | A = 17 · B = 18 · C = 19 · D = 20 · E = 21 · F = 22 · G = 23 · H = 24 · I = 25 · J = 26 · K = 27 · L = 28 · M = 29 · N = 30 · O = 31 · P = 32 · Q = 33 · R = 34 · S = 35 · T = 36 · U = 37 · V = 38 · W = 39 · X = 40 · Y = 41 · Z = 42 |
Repare que os dígitos continuam valendo exatamente o que valiam antes (o caractere 7 tem código ASCII 55, e 55 − 48 = 7). Por isso o algoritmo novo valida corretamente também todos os CNPJs antigos — não existem duas implementações, existe uma só.
12.ABC.345/01DE-35, a base são os 12 primeiros caracteres: 12ABC34501DE. Os dois últimos (35) são o que vamos recalcular.0→0, 9→9) e letras começam em 17 (A→17, B→18, até Z→42).| Caractere | Valor (ASCII − 48) | Peso | Produto |
|---|---|---|---|
1 | 1 | 5 | 5 |
2 | 2 | 4 | 8 |
A | 17 | 3 | 51 |
B | 18 | 2 | 36 |
C | 19 | 9 | 171 |
3 | 3 | 8 | 24 |
4 | 4 | 7 | 28 |
5 | 5 | 6 | 30 |
0 | 0 | 5 | 0 |
1 | 1 | 4 | 4 |
D | 20 | 3 | 60 |
E | 21 | 2 | 42 |
| Soma | 459 |
459 ÷ 11 deixa resto 8. Como o resto é 2 ou maior, o dígito é 11 − 8 = 3.
| Caractere | Valor (ASCII − 48) | Peso | Produto |
|---|---|---|---|
1 | 1 | 6 | 6 |
2 | 2 | 5 | 10 |
A | 17 | 4 | 68 |
B | 18 | 3 | 54 |
C | 19 | 2 | 38 |
3 | 3 | 9 | 27 |
4 | 4 | 8 | 32 |
5 | 5 | 7 | 35 |
0 | 0 | 6 | 0 |
1 | 1 | 5 | 5 |
D | 20 | 4 | 80 |
E | 21 | 3 | 63 |
3 | 3 | 2 | 6 |
| Soma | 424 |
424 ÷ 11 deixa resto 6. Como o resto é 2 ou maior, o dígito é 11 − 6 = 5.
Juntando os dois: o dígito verificador de 12ABC34501DE é 35, ou seja, o CNPJ completo é 12.ABC.345/01DE-35 — exatamente o exemplo divulgado pela Receita Federal.
function digito(sequencia) {
let soma = 0;
for (let i = 0; i < sequencia.length; i += 1) {
const valor = sequencia.charCodeAt(i) - 48; // ASCII - 48
const peso = ((sequencia.length - 1 - i) % 8) + 2; // 2..9 da direita p/ esquerda
soma += valor * peso;
}
const resto = soma % 11;
return resto < 2 ? 0 : 11 - resto; // regra do módulo 11
}
const base = '12ABC34501DE';
const dv = `${digito(base)}${digito(base + digito(base))}`;
console.log(dv); // 35
Ver a explicação estendida do cálculo ou o mesmo algoritmo na sua linguagem.
Clique em qualquer um deles no validador acima para ver o resultado e o cálculo completo.
| CNPJ | Resultado | Por quê |
|---|---|---|
12.ABC.345/01DE-35 | Válido | Exemplo oficial da Receita Federal, com letras na raiz e na ordem. |
11.222.333/0001-81 | Válido | CNPJ puramente numérico — continua válido, nada muda. |
A1.B2C.3D4/0001-93 | Válido | Raiz alfanumérica com ordem 0001 (matriz). |
12.ABC.345/01DE-34 | Inválido | Dígito verificador errado — o correto para essa base é 35. |
12.ABC.345/01DE-AB | Inválido | Os dois dígitos verificadores continuam sendo numéricos. |
12.ABÇ.345/01DE-35 | Inválido | Só entram letras de A a Z sem acento — nada de Ç, Ã ou hífen no meio. |
00.000.000/0000-00 | Inválido | Passa no módulo 11, mas não corresponde a nenhuma inscrição real. |
12.ABC.345/01DE-3 | Inválido | Tem 13 caracteres; o CNPJ sempre tem 14. |
a tem código ASCII 97; sem o toUpperCase() o cálculo dá 49 em vez de 17 e o CNPJ válido é reprovado.\d{2}, não com [0-9A-Z]{2}.0-9 e A-Z. Acentos, cedilha e minúsculas não convertidas não fazem parte do alfabeto do CNPJ.Mesmo algoritmo, implementação idiomática, com testes e integração com o framework de cada stack. Código pronto para copiar.
Validação em lote, consulta de dados cadastrais e webhook de atualização. Deixe seu e-mail e avisamos quando abrir — sem spam, sem cadastro obrigatório para usar as ferramentas gratuitas.
Usamos seu e-mail só para avisar do lançamento. Você pode sair da lista a qualquer momento.
É o novo formato do Cadastro Nacional da Pessoa Jurídica, criado pela Instrução Normativa RFB nº 2.229/2024. Ele continua com 14 posições, mas as 12 primeiras podem conter letras de A a Z além dos números de 0 a 9. Os dois últimos caracteres seguem sendo dígitos verificadores numéricos, calculados pelo módulo 11.
A partir de julho de 2026. O novo formato é atribuído apenas a novas inscrições — quem já tem CNPJ mantém exatamente o mesmo número, sem nenhuma alteração. Os dois formatos convivem por prazo indeterminado, então todo sistema precisa aceitar os dois.
Não. CNPJs já emitidos continuam válidos e inalterados. A mudança afeta somente as inscrições concedidas a partir de julho de 2026, que podem vir com letras.
Pelo mesmo algoritmo de módulo 11 de sempre, com uma única diferença: cada caractere é convertido no seu código ASCII menos 48. Assim 0 vale 0, 9 vale 9, A vale 17 e Z vale 42. Os pesos continuam sendo 2 a 9, da direita para a esquerda, e a regra final é a mesma: resto menor que 2 gera dígito 0, caso contrário o dígito é 11 menos o resto.
Não. As duas últimas posições continuam obrigatoriamente numéricas. Se você recebeu um "CNPJ" terminando em letra, ele está errado — provavelmente por um erro de digitação ou por truncamento em algum campo.
Não. Todo o cálculo acontece dentro do seu navegador, em JavaScript. O CNPJ digitado nunca é enviado para nós nem para terceiros — você pode conferir desligando a rede depois de carregar a página: a validação continua funcionando.
É gratuita, ilimitada e sem cadastro. O site se mantém com anúncios. Se você precisa validar em lote ou consultar dados cadastrais por API, entre na lista de espera da nossa API — mas nada disso é exigido para usar o validador e o gerador.
Ainda não. Hoje ele confere a estrutura matemática do número: formato, caracteres permitidos e dígitos verificadores. Um CNPJ pode ser matematicamente válido e mesmo assim não existir ou estar baixado. A consulta cadastral chega com a nossa API — avisamos você quando lançar.
Sim, se a coluna for numérica. Campos BIGINT, NUMBER ou Long não guardam letras. O caminho é migrar para VARCHAR(14) sem máscara. Veja o guia de migração da coluna de CNPJ.
A máscara continua 00.000.000/0000-00, agora aceitando letras nas 12 primeiras posições — por exemplo 12.ABC.345/01DE-35. A regex sem máscara é ^[0-9A-Z]{12}\d{2}$. Temos páginas dedicadas para regex e máscara de entrada.