Pular para o conteúdo
Toolbox BrasilToolbox Brasil

Dígito Verificador do CNPJ: Como Funciona no Novo Formato Alfanumérico

·9 min de leitura·Por Equipe Toolbox Brasil

Desde julho de 2026 o CNPJ pode conter letras, não só números — mas os dois últimos dígitos continuam sendo calculados, exatamente como sempre foram, para detectar erros de digitação. Entender essa conta explica como qualquer validador de CNPJ funciona, seja no formato clássico ou no novo alfanumérico.


Índice


O que mudou no CNPJ em 2026

A Receita Federal esgotou as combinações numéricas disponíveis para alguns estados e passou a emitir CNPJs com letras maiúsculas (A-Z) misturadas a números nas 12 primeiras posições. Os dois últimos dígitos — os verificadores — continuam sempre numéricos.

Um CNPJ alfanumérico se parece com 12.ABC.345/01DE-35, em vez do clássico 12.345.678/0001-95. A mudança não afeta CNPJs já existentes: nenhuma empresa cadastrada teve seu número alterado.


Estrutura do novo CNPJ

O CNPJ continua com 14 caracteres, no formato AB.CDE.FGH/IJKL-MN:

| Parte | Posições | O que mudou | |---|---|---| | Base | 12 primeiras (A–L) | Agora aceita números ou letras A-Z | | Dígitos verificadores | 2 últimas (M e N) | Continuam sempre numéricos |

O primeiro DV (M) é calculado sobre as 12 posições da base. O segundo DV (N) é calculado sobre as 12 posições da base mais o primeiro DV.


Como calcular o primeiro dígito verificador

  1. Tome as 12 primeiras posições do CNPJ.
  2. Converta cada caractere em um número: para dígitos, o valor é o próprio dígito; para letras, o valor é o código ASCII do caractere menos 48 (A=17, B=18, C=19, ... Z=42).
  3. Multiplique, da esquerda para a direita, pelos pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
  4. Some os 12 produtos.
  5. Calcule o resto da divisão da soma por 11.
  6. Se o resto for menor que 2, o dígito é 0. Caso contrário, o dígito é 11 − resto.

Como calcular o segundo dígito verificador

  1. Tome as 12 posições da base mais o primeiro DV já calculado (13 valores).
  2. Multiplique pelos pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
  3. Some os 13 produtos.
  4. Calcule o resto da divisão por 11.
  5. Mesma regra: resto menor que 2 → dígito 0; senão → 11 − resto.

O CNPJ é válido quando os dois dígitos calculados coincidem com os dois últimos caracteres do número informado.


Exemplo completo: 12.ABC.345/01DE-35

Base: 12ABC34501DE. DVs esperados: 3 e 5.

Primeiro dígito

Caracteres: 1  2  A  B  C  3  4  5  0  1  D  E
Valores:    1  2 17 18 19  3  4  5  0  1 20 21
Pesos:      5  4  3  2  9  8  7  6  5  4  3  2
Produtos:   5  8 51 36 171 24 28 30  0  4 60 42
Soma: 459
459 ÷ 11 = 41, resto 8
Resto ≥ 2  →  DV1 = 11 − 8 = 3 ✓

Segundo dígito

Caracteres: 1  2  A  B  C  3  4  5  0  1  D  E  3   (base + DV1)
Valores:    1  2 17 18 19  3  4  5  0  1 20 21  3
Pesos:      6  5  4  3  2  9  8  7  6  5  4  3  2
Produtos:   6 10 68 54 38 27 32 35  0  5 80 63  6
Soma: 424
424 ÷ 11 = 38, resto 6
Resto ≥ 2  →  DV2 = 11 − 6 = 5 ✓

Os dígitos calculados (3 e 5) batem com os informados: o CNPJ 12.ABC.345/01DE-35 é matematicamente válido. Para conferir qualquer número sem fazer a conta à mão, use o validador de CNPJ.


CNPJs antigos continuam funcionando?

Sim, integralmente. Um CNPJ 100% numérico é apenas um caso particular da mesma fórmula: como o valor de um dígito (0-9) já é o próprio dígito, o cálculo alfanumérico produz exatamente o mesmo resultado que o algoritmo clássico sempre produziu. Sistemas atualizados para o novo formato validam os dois tipos sem distinção — é o mesmo raciocínio descrito em dígito verificador do CPF: como funciona, outro documento que usa módulo 11.

Assim como é possível gerar CPFs válidos para testes, também é possível gerar CNPJs de teste — veja como gerar CNPJ para testes para o passo a passo, ou use direto o gerador de CNPJ.


Implementação em JavaScript

function valorCaractere(char) {
  return char.charCodeAt(0) - 48; // dígitos mantêm seu valor; A-Z viram 17-42
}

function calcularDigito(base, pesos) {
  const soma = base
    .split("")
    .reduce((acc, char, i) => acc + valorCaractere(char) * pesos[i], 0);
  const resto = soma % 11;
  return resto < 2 ? 0 : 11 - resto;
}

function validarCnpj(cnpj) {
  const limpo = cnpj.toUpperCase().replace(/[^0-9A-Z]/g, "");
  if (limpo.length !== 14) return false;

  const base = limpo.slice(0, 12);
  const dv = limpo.slice(12, 14);

  const dv1 = calcularDigito(base, [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);
  const dv2 = calcularDigito(base + dv1, [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]);

  return dv1 === Number(dv[0]) && dv2 === Number(dv[1]);
}

validarCnpj("12.ABC.345/01DE-35"); // true
validarCnpj("11.222.333/0001-81"); // true (CNPJ numérico clássico)

O valor de cada caractere é sempre código ASCII − 48 — é essa conta que torna o algoritmo retrocompatível com o CNPJ 100% numérico.


Perguntas Frequentes

Como saber se um CNPJ alfanumérico é válido?

Recalcule os dois dígitos verificadores a partir das 12 primeiras posições, convertendo cada caractere para seu valor numérico (dígito = ele mesmo; letra = código ASCII − 48) e aplicando o módulo 11 com os pesos correspondentes. Um validador de CNPJ faz isso instantaneamente.


Preciso trocar o CNPJ da minha empresa?

Não. O novo formato vale apenas para novos cadastros a partir de julho de 2026. Nenhum CNPJ já emitido muda de número ou de dígitos verificadores.


Por que a Receita Federal criou o CNPJ alfanumérico?

Para ampliar a quantidade de combinações disponíveis. O formato 100% numérico (com 12 dígitos de base) tem um limite de combinações que já se esgotou em alguns estados; letras nas mesmas 12 posições multiplicam esse espaço.


O validador de CNPJ consulta a Receita Federal?

Não. Ele verifica apenas a matemática dos dígitos verificadores. Saber se um CNPJ está ativo, regular ou pertence a uma empresa real exige consulta às bases oficiais da Receita.


Letras minúsculas são aceitas no CNPJ?

Não oficialmente — o padrão define letras maiúsculas A-Z. Sistemas e validadores bem implementados normalizam a entrada para maiúsculas antes de calcular, mas o CNPJ formal sempre exibe letras maiúsculas.


Ferramentas relacionadas


Abrir Validador de CNPJ →