Grupos exclusivos de desconto no WhatsApp — Faca parte agora! Participar

CNPJ alfanumérico: guia de implementação para sistemas

Guia central para adaptar sistemas ao CNPJ alfanumérico (jul/2026): o que muda, cálculo do DV, tutoriais por linguagem, ferramentas e checklist.

CNPJ alfanumérico: guia de implementação para sistemas

Este é o guia central para adaptar seus sistemas ao CNPJ alfanumérico, que começa a ser emitido em julho de 2026. Aqui você encontra o que muda, como calcular o dígito verificador, tutoriais por linguagem e plataforma, ferramentas para testar e um checklist completo de adaptação — tudo verificado contra a Instrução Normativa RFB nº 2.229/2024.

O que é e o que muda

O novo CNPJ mantém as 14 posições e a mesma máscara XX.XXX.XXX/XXXX-DD de hoje. A diferença é que as 12 primeiras posições (raiz de 8 + ordem de 4) passam a aceitar letras maiúsculas A–Z e dígitos 0–9. As duas últimas posições — os dígitos verificadores — continuam numéricas. Um CNPJ alfanumérico válido fica, por exemplo, assim: 12.ABC.345/01DE-35.

O ponto mais importante para quem desenvolve: os CNPJs numéricos atuais NÃO mudam e continuam válidos. Os dois formatos vão conviver, então seu sistema precisa aceitar e validar ambos sem quebrar nada do que já existe.

Cronograma e por que adaptar agora

A mudança foi instituída pela Instrução Normativa RFB nº 2.229/2024. A emissão dos novos CNPJs alfanuméricos começa em julho de 2026, em regime de convivência com os numéricos. O motivo é prático: a base numérica está se esgotando diante de mais de 22 milhões de empresas registradas, e o formato alfanumérico amplia enormemente a quantidade de combinações disponíveis.

Como calcular o dígito verificador

O algoritmo é o módulo 11 com pesos fixos. Para cada caractere da base, multiplique (ASCII − 48) pelo peso correspondente, some tudo, calcule resto = soma % 11 e aplique dv = resto < 2 ? 0 : 11 − resto. Os pesos são 5,4,3,2,9,8,7,6,5,4,3,2 para o 1º DV (12 posições) e 6,5,4,3,2,9,8,7,6,5,4,3,2 para o 2º DV (13 posições, já incluindo o 1º DV).

Exemplo canônico oficial: a base 12ABC34501DE gera DV 35, resultando em 12.ABC.345/01DE-35. Use este bloco como referência rápida:

JavaScript
// Valor de cada caractere = código ASCII - 48 ('0'=0..'9'=9, 'A'=17..'Z'=42)
const PESO1 = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
const PESO2 = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];

const normalizar = (s) => (s || '').toUpperCase().replace(/[^A-Z0-9]/g, '');

function digito(base, pesos) {
  let soma = 0;
  for (let i = 0; i < base.length; i++) soma += (base.charCodeAt(i) - 48) * pesos[i];
  const resto = soma % 11;
  return resto < 2 ? 0 : 11 - resto;
}

function calcularDV(base12) {            // base12 = 12 primeiras posições
  const d1 = digito(base12, PESO1);
  const d2 = digito(base12 + d1, PESO2);
  return `${d1}${d2}`;
}

function validarCNPJ(cnpj) {
  const c = normalizar(cnpj);
  if (!/^[A-Z0-9]{12}[0-9]{2}$/.test(c)) return false;
  if (/^0{12}/.test(c)) return false;     // base zerada
  return calcularDV(c.slice(0, 12)) === c.slice(12);
}

// console.log(validarCNPJ('12.ABC.345/01DE-35')); // true
// console.log(calcularDV('12ABC34501DE'));         // "35"

Guias por linguagem e plataforma

Escolha a tecnologia da sua stack. Cada tutorial traz o código completo, os vetores de teste e a integração real:

TutorialO que cobre
CNPJ alfanumérico em JavaScriptValidação no front-end e Node, com máscara e regex corretos.
CNPJ alfanumérico em PHPFunções puras de validação e cálculo do DV em PHP 8.
CNPJ alfanumérico em PythonValidação com re e tipagem, pronto para APIs.
CNPJ alfanumérico em JavaClasse utilitária com módulo 11 e pesos corretos.
CNPJ alfanumérico em C#/.NETClasse estática com Regex para validar no back-end .NET.
CNPJ alfanumérico no LaravelRegra de validação customizada e FormRequest.
CNPJ alfanumérico no WooCommerceAjuste do campo de checkout e hooks do WordPress.
CNPJ alfanumérico no Magento 2Validação no atributo do cliente e módulo de extensão.
CNPJ alfanumérico na VTEX e NuvemshopMáscaras e validação nas plataformas de e-commerce SaaS.
CNPJ alfanumérico no banco de dadosMigração de colunas para VARCHAR no MySQL e PostgreSQL.

Ferramentas para testar

Antes de subir a sua adaptação para produção, gere massa de teste e confira os resultados. Use o nosso gerador de CNPJ alfanumérico para criar CNPJs válidos (matriz e filial) e o validador de CNPJ alfanumérico para conferir se a sua implementação concorda com o cálculo oficial do DV. As duas ferramentas são gratuitas e funcionam direto no navegador.

Checklist de adaptação

Passos para adaptar seu sistema
  • Trate o CNPJ como campo de texto em todo o sistema — nunca como inteiro.
  • Ajuste a máscara para aceitar A–Z nas 12 primeiras posições; use text-transform: uppercase e troque type=number por texto.
  • Faça a validação no cliente e no servidor com o algoritmo de módulo 11 + ASCII−48.
  • Migre a coluna do banco para VARCHAR(14) (sem máscara) e indexe como string, sempre em maiúsculas.
  • Revise integrações e emissão de NF-e, EDI, contratos e relatórios que assumem CNPJ numérico.
  • Crie testes automatizados com CNPJ alfanumérico, incluindo casos válidos, inválidos e os numéricos clássicos.

Perguntas frequentes

O que é o CNPJ alfanumérico?

É o novo formato de CNPJ que mantém 14 posições e a mesma máscara, mas permite letras maiúsculas A–Z além de dígitos nas 12 primeiras posições. Os 2 dígitos verificadores continuam numéricos.

Quando o CNPJ alfanumérico entra em vigor?

A emissão dos novos CNPJs alfanuméricos começa em julho de 2026, conforme a Instrução Normativa RFB nº 2.229/2024, convivendo com os numéricos existentes.

Meu CNPJ atual vai mudar?

Não. Os CNPJs numéricos já emitidos permanecem válidos e não são alterados. O formato alfanumérico vale apenas para novas inscrições.

Preciso migrar meus dados?

Você não precisa converter os CNPJs existentes, mas precisa adaptar o sistema para aceitar o formato alfanumérico: campos de texto, máscara com letras, validação atualizada e coluna VARCHAR no banco.

O cálculo do dígito verificador muda?

O método continua sendo o módulo 11 com os mesmos pesos. O que muda é que o valor de cada caractere passa a ser o código ASCII menos 48, o que mantém total compatibilidade com os CNPJs numéricos.

Fontes: Receita Federal (Instrução Normativa RFB nº 2.229/2024) e nota técnica do Serpro sobre o CNPJ alfanumérico.

Assistente PP
Assistente PP
Online agora
Powered by Primeira Solução