Um validador e gerador de CNPJ simples, rápido e sem dependências. Possui suporte total ao novo formato alfanumérico de CNPJs implementado pela Receita Federal a partir de 2026.
Você pode instalar via NPM:
npm install @adlerluiz/cnpj-utilsO pacote exporta as funções validarCNPJ, gerarCNPJ, formatarCNPJ e limparCNPJ.
A validação retorna true caso o CNPJ seja válido e false caso seja inválido, limpando automaticamente máscaras e caracteres especiais.
const { validarCNPJ } = require('@adlerluiz/cnpj-utils');
// Validação de CNPJ Numérico (com ou sem máscara)
console.log(validarCNPJ('12.345.678/0001-95')); // true
console.log(validarCNPJ('12345678000195')); // true
// Validação de CNPJ no novo formato Alfanumérico
console.log(validarCNPJ('12ABC34501DE35')); // trueA função de geração cria um CNPJ aleatório válido, seguindo as novas regras de 2026.
const { gerarCNPJ } = require('@adlerluiz/cnpj-utils');
// Gera um CNPJ sem máscara (Ex: 3A4B5C6D7E8F95)
console.log(gerarCNPJ());
// Gera um CNPJ formatado com máscara (Ex: 3A.4B5.C6D/7E8F-95)
console.log(gerarCNPJ(true));Se você já tiver um CNPJ limpo e quiser adicionar a máscara padrão.
const { formatarCNPJ } = require('@adlerluiz/cnpj-utils');
// Formata um CNPJ numérico
console.log(formatarCNPJ('12345678000195')); // "12.345.678/0001-95"
// Formata um CNPJ alfanumérico
console.log(formatarCNPJ('12ABC34501DE35')); // "12.ABC.345/01DE-35"Remove pontos, barras, traços e qualquer outro caractere inválido, retornando apenas números e letras.
const { limparCNPJ } = require('@adlerluiz/cnpj-utils');
console.log(limparCNPJ('12.345.678/0001-95')); // "12345678000195"
console.log(limparCNPJ('12.ABC.345/01DE-35')); // "12ABC34501DE35"Se você estiver usando TypeScript ou ES Modules (como no React, Angular ou Vue), você pode importar as funções assim:
import { validarCNPJ, gerarCNPJ, formatarCNPJ, limparCNPJ } from 'cnpj-utils';
console.log(validarCNPJ('12.345.678/0001-90'));
console.log(gerarCNPJ(true));
console.log(formatarCNPJ('12ABC34501DE35'));
console.log(limparCNPJ('12.345.678/0001-90'));MIT