Skip to content

CNPJ ​

Valide CNPJ e gere números de teste com JavaScript e TypeScript.

Use o validador de CNPJ para conferir o dígito verificador (numérico e alfanumérico), o gerador de CNPJ automático para criar números fake em testes e seeds, e veja a implementação completa em JavaScript, TypeScript e Node.js com a validation-br. O CNPJ identifica uma empresa (ou outra entidade jurídica) perante a Receita Federal — é o CPF das pessoas jurídicas, exigido pra abrir conta bancária, emitir nota fiscal e formalizar qualquer contrato empresarial. Por ser um dos documentos mais validados em sistemas de cadastro empresarial, contar com uma biblioteca testada e com tipagem completa ajuda a evitar implementações caseiras do cálculo do dígito verificador.

Novidade
validation-br suporta CNPJ alfanumérico. A partir da Nota Técnica conjunta COCAD/SUARA/RFB nº 49/2024, os 12 primeiros caracteres do CNPJ podem ser letras ou números — com entrada em vigor em 2026. O validation-br já valida, mascara e gera exemplos dos dois formatos.

Exemplos (API) ​

js
import { CNPJ } from 'validation-br/cnpj';

// Criar e validar (lança se inválido)
const cnpj = new CNPJ('55.585.709/0001-98');
cnpj.value;       // -> '55585709000198'
cnpj.toString();  // -> '55585709000198'
cnpj.mask();      // -> '55.585.709/0001-98'

// Gerar um CNPJ de exemplo válido (numérico ou alfanumérico)
const exemplo = CNPJ.fake();
exemplo.toString();
CNPJ.fake({ alphanumeric: true }).mask(); // -> 'WX.BC2.1FX/0001-00'

// Calcular checksum a partir dos 12 primeiros caracteres
CNPJ.checksum('555857090001'); // -> '98'

Como o cálculo é feito ​

O CNPJ tem 14 caracteres: os 12 primeiros identificam a empresa e a filial, e os 2 últimos são dígitos verificadores calculados a partir dos anteriores. Existem dois formatos de base — o cálculo do DV é o mesmo nos dois, a única diferença é um passo extra de conversão pras letras.

Os 12 primeiros caracteres são só dígitos. Cada um é multiplicado pelo seu peso, os produtos são somados, e o resto da divisão por 11 dá o dígito verificador (11 - resto; se der 10, o DV é 0).

Cálculo passo a passo dos dígitos verificadores do CNPJ numérico

Referências ​