Uma classe por documento
new CPF(valor) já valida, normaliza e formata. Sem chamar 3 funções soltas pra cada operação.
Valide, formate e gere documentos brasileiros em JavaScript e TypeScript — CPF, CNPJ, CNH, PIS/PASEP, placas, processos judiciais e muito mais.
new CPF(valor) já valida, normaliza e formata. Sem chamar 3 funções soltas pra cada operação.
CPF.fake(), CNPJ.fake()... geram instâncias válidas prontas pra popular formulários e seeds.
checksum() calcula o dígito verificador sem depender de máscara ou normalização implícita.
Suporte ao novo formato de CNPJ com letras e números, já compatível com a mudança de 2026.
Validação de chaves PIX (CPF, CNPJ, telefone, e-mail, aleatória) e Pix Copia e Cola.
Adapters para Yup, Zod, Class Validator, Vuelidate e Joi.
import { isCPF } from 'validation-br';
import { CPF } from 'validation-br/cpf';
// Modo rápido
isCPF('098.765.432-10'); // true
// Modo Value-Object
const cpf = new CPF('098.765.432-10');
cpf.value; // '09876543210' A partir da Nota Técnica conjunta COCAD/SUARA/RFB nº 49, de 14 de maio de 2024, os números de CNPJ poderão conter letras a partir de 2026. A classe CNPJ já valida, mascara e gera exemplos dos dois formatos.
import { CNPJ } from 'validation-br/cnpj';
// Gera um CNPJ alfanumérico de exemplo
CNPJ.fake({ alphanumeric: true }).mask();
// -> 'WX.BC2.1FX/0001-00'
new CNPJ('WX.BC2.1FX/0001-00').value;
// -> 'WXBC21FX000100'import { isCPF } from 'validation-br';
import { CPF } from 'validation-br/cpf';
// Modo rápido
isCPF('280.012.389-38'); // -> true
// Modo Value-Object
const cpf = new CPF('280.012.389-38');
cpf.value; // -> '28001238938'
cpf.toString(); // -> '28001238938'
cpf.mask(); // -> '280.012.389-38'Na 1.x, cada documento era um conjunto de funções soltas (validate, dv, fake, mask, normalize). Na 2.0, cada documento é uma classe imutável que já valida no construtor e guarda o valor normalizado — menos chamadas repetidas, menos chance de esquecer de normalizar antes de validar.
As funções isX (ex. isCPF, isCNPJ) importadas direto de validation-br continuam funcionando como antes. A mudança afeta só quem importava os submódulos diretamente.
validation-br é distribuída via npm como pacote JavaScript com tipagem TypeScript nativa incluída, sem necessidade de @types separados. Funciona em projetos Node.js (Express, NestJS, scripts de backend), em aplicações front-end com Vite, Webpack ou Next.js, e em qualquer ambiente que suporte ES Modules ou CommonJS.
Todas as classes são tipadas ponta a ponta: autocomplete, inferência de tipos de retorno e checagem em tempo de compilação para quem usa TypeScript, sem esforço extra de configuração.