← Início / Artigos Técnicos / Novo CNPJ Alfanumérico
Normativa RFB Engenharia de Software Leitura: 8 min

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.

Precisa gerar e testar CNPJs Alfanuméricos agora?

Gere individualmente, em lote com JSON/TXT e faça auditoria passo a passo da matemática.

Abrir Gerador Online →

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 0 a 9 e letras maiúsculas de A a Z). 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 0 a 9 e letras maiúsculas de A a Z). A matriz pode continuar sendo 0001 ou adotar identificadores como 00A1.
  • Posições 13 e 14 (Dígitos Verificadores): CONTINUAM ESTRITAMENTE NUMÉRICOS (0 a 9).
12.ABC.345 / 01DE - 35
[Raiz Alfanumérica (8)] / [Filial Alfanumérica (4)] - [DVs Numéricos (2)]

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. Se Resto < 2, DV1 = 0; senão DV1 = 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 o DV1 × 2.
    Resto = Soma % 11. Se Resto < 2, DV2 = 0; senão DV2 = 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.