Skip to content

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) ​

js
// 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.

Cálculo passo a passo dos dígitos verificadores do CNPJ numéricoCálculo dos dígitos verificadores de um CNPJ alfanumérico

Se o resultado do DV for 10, o dígito verificador é considerado 0.

Integrações ​