CNPJ
Confira CNPJ, inclusive o formato alfanumérico, com a função isCNPJ.
O CNPJ identifica uma empresa perante a Receita Federal. Desde a Nota Técnica conjunta COCAD/SUARA/RFB nº 49/2024, o CNPJ pode ser alfanumérico — a biblioteca já valida e cria números fake nos dois formatos. Esta página documenta a API de funções soltas (isCNPJ, mask, fake...) da versão 1.x da validation-br, biblioteca JavaScript para Node.js e navegador. Para projetos novos, veja a versão 2.0, com API orientada a classes.
Exemplos (API)
// Importação direta
import { isCNPJ } from 'validation-br';
isCNPJ('65.148.980/0001-10'); // -> true
// Importação de submódulo
import { validate, validateOrFail, mask, normalize, fake, dv } from 'validation-br/dist/cnpj';
validate('65148980000110'); // -> true
validateOrFail('65148980000110'); // -> true (lança ValidationBRError se inválido)
mask('65148980000110'); // -> '65.148.980/0001-10'
normalize('65.148.980/0001-10'); // -> '65148980000110'
dv('651489800001'); // -> '10'
// Números fake: alfanumérico por padrão
fake(); // -> ex.: '9R36UGNB000168'
fake(true); // -> ex.: '9R.36U.GNB/0001-68'
// Fake somente numérico
fake({ alphanumeric: false }); // -> ex.: '65148980000110'
fake({ alphanumeric: false, withMask: true }); // -> ex.: '65.148.980/0001-10'Como o cálculo é feito
O CNPJ tem 14 caracteres: os 8 primeiros identificam a empresa, os 4 seguintes identificam a filial, e os 2 últimos são os dígitos verificadores (DV). Quando o CNPJ é alfanumérico, cada letra é convertida para o seu valor na tabela ASCII (subtraído de 48) antes da soma ponderada — dígitos numéricos não mudam, já que '0' é 48 na tabela ASCII.
Se o resultado do DV for 10, o dígito verificador é considerado
0.

