Novo CNPJ Alfanumérico (IN RFB nº 2.229/2024): Regras, Algoritmo Módulo 11 e Guia de Migração para Sistemas
Por Equipe Técnica Caixa do Dev • Publicado em Outubro de 2026 • Atualizado conforme nota técnica da Receita Federal do Brasil.
Gere individualmente, em lote com JSON/TXT e faça auditoria passo a passo da matemática.
1. O Contexto: Por que o CNPJ precisou mudar?
Desde a sua criação pela Instrução Normativa SRF nº 82/1998, o Cadastro Nacional da Pessoa Jurídica (CNPJ) operou sobre um modelo estritamente numérico composto por 14 dígitos (8 de raiz, 4 de estabelecimento e 2 dígitos verificadores).
A raiz de 8 algarismos comportava no máximo 100 milhões de inscrições base (de 00.000.000 a 99.999.999). Com o expressivo crescimento da economia digital, abertura recorde de microempresas (MEI) e formalizações societárias no Brasil, a Receita Federal identificou que o estoque numérico de matrizes estava próximo do esgotamento.
Para solucionar a escassez de forma definitiva sem alterar a quantidade de posições (o que causaria um impacto incomensurável no sistema bancário internacional e nas notas fiscais), a RFB publicou a Instrução Normativa nº 2.229/2024, instituindo o CNPJ Alfanumérico.
2. A Nova Estrutura Oficial do CNPJ Alfanumérico
O formato oficial mantém a mesma máscara de 18 caracteres ou 14 caracteres sem pontuação: XX.XXX.XXX/XXXX-NN:
- Posições 1 a 8 (Raiz): Alfanuméricas (aceita caracteres de
0a9e letras maiúsculas deAaZ). O espaço combinatório salta para 368 ≈ 2,82 trilhões de empresas. - Posições 9 a 12 (Ordem / Filial): Alfanuméricas (aceita caracteres de
0a9e letras maiúsculas deAaZ). A matriz pode continuar sendo0001ou adotar identificadores como00A1. - Posições 13 e 14 (Dígitos Verificadores): CONTINUAM ESTRITAMENTE NUMÉRICOS (0 a 9).
3. O Algoritmo de Validação: Módulo 11 com Regra ASCII-48
Um dos desafios de engenharia da Receita Federal era garantir que os CNPJs numéricos já existentes continuassem 100% válidos no mesmo algoritmo dos novos CNPJs alfanuméricos. A solução adotada foi elegante:
Para cada caractere das 12 primeiras posições, o seu valor numérico correspondente é dado por:
Valor = Código ASCII do Caractere - 48
Tabela de Correspondência RFB:
- Algarismo
'0': ASCII 48 → 48 - 48 = 0 - Algarismo
'9': ASCII 57 → 57 - 48 = 9 - Letra
'A': ASCII 65 → 65 - 48 = 17 - Letra
'B': ASCII 66 → 66 - 48 = 18 - Letra
'Z': ASCII 90 → 90 - 48 = 42
Observe que quando o caractere é um número de '0' a '9', o valor resultante é o próprio número! Por essa razão, o algoritmo é retrocompatível com toda a base histórica do Brasil.
Cálculo dos Pesos:
A partir dos valores convertidos, aplica-se a rotina tradicional do Módulo 11:
- 1º DV: Pesos
[5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]multiplicados pelas posições 1 a 12.Resto = Soma % 11. SeResto < 2,DV1 = 0; senãoDV1 = 11 - Resto. - 2º DV: Pesos
[6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]multiplicados pelas posições 1 a 12 mais oDV1 × 2.Resto = Soma % 11. SeResto < 2,DV2 = 0; senãoDV2 = 11 - Resto.
4. Guia de Migração: O que vai quebrar nos seus sistemas?
A adoção de letras no CNPJ causa impactos profundos em esteiras de software. Veja os principais pontos de atenção mapeados:
A. Colunas de Banco de Dados
Muitas arquiteturas antigas otimizavam espaço armazenando o CNPJ sem formatação em colunas do tipo BIGINT ou DECIMAL(14,0). Ao receber caracteres como 'A' ou 'Z', essas colunas irão lançar exceções fatais de banco de dados.
-- Migration recomendada (PostgreSQL / MySQL / SQL Server): ALTER TABLE empresas ALTER COLUMN cnpj TYPE VARCHAR(14); -- Ou VARCHAR(18) caso armazene com a máscara oficial.
B. Validação com Expressões Regulares (Regex)
Se o seu backend valida se o CNPJ é composto apenas por números, o cadastro de novas empresas falhará. Atualize seus padrões:
// ANTES (Quebra com o novo padrão):
const regexAntiga = /^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$/;
// DEPOIS (Compatível com CNPJ Numérico e Alfanumérico):
const regexOficial = /^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}\/[A-Z0-9]{4}\-[0-9]{2}$/;
C. Máscaras no Frontend
Formulários React, Vue, Angular e mobile com máscaras estritas (ex: 99.999.999/9999-99) devem ser ajustados para permitir letras maiúsculas nas 12 primeiras posições e números nas duas últimas.
5. Testes em Ambiente de Homologação (QA)
Para testar suas esteiras antes da entrada em produção das notas fiscais e cadastros da Receita Federal, você pode utilizar o Gerador de CNPJ Alfanumérico da Caixa do Dev. A ferramenta permite exportar listas completas em lote (JSON e TXT) para testes automatizados com Cypress, Playwright, Jest e k6.