Skip to content

validation-br2.0

Valide, formate e gere documentos brasileiros em JavaScript e TypeScript — CPF, CNPJ, CNH, PIS/PASEP, placas, processos judiciais e muito mais.

Em ação

Simples assim

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'
Primeira no Brasil

A primeira biblioteca com suporte ao CNPJ alfanumérico

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.

Ver documentação do CNPJ
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'
O que valida

Vinte tipos de documento, uma API só

CPF
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'
Ver documentação de CPF

Por que migrar para a 2.0? ​

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.

Ver todas as breaking changes →

Uma biblioteca JavaScript e TypeScript para Node.js e navegador ​

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.