BrazilianUtils 2.3.0

dotnet add package BrazilianUtils --version 2.3.0
                    
NuGet\Install-Package BrazilianUtils -Version 2.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BrazilianUtils" Version="2.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BrazilianUtils" Version="2.3.0" />
                    
Directory.Packages.props
<PackageReference Include="BrazilianUtils" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BrazilianUtils --version 2.3.0
                    
#r "nuget: BrazilianUtils, 2.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BrazilianUtils@2.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BrazilianUtils&version=2.3.0
                    
Install as a Cake Addin
#tool nuget:?package=BrazilianUtils&version=2.3.0
                    
Install as a Cake Tool

Brazilian Utils .NET

Biblioteca de utilitários para regras de negócio específicas do Brasil.

Build Status NuGet

English version

Instalação

# dotnet CLI
dotnet add package BrazilianUtils

# Package Manager
PM> Install-Package BrazilianUtils

Utilização


CPF

O CPF (Cadastro de Pessoas Físicas) é o registro de identificação do contribuinte individual brasileiro.

Validar
using BrazilianUtils;

Cpf.IsValid("529.455.577-89");  // true
Cpf.IsValid("52945557789");     // true

Cpf.IsValid("cpf-invalido");    // false
Cpf.IsValid("111.111.111-11");  // false (dígitos repetidos)
Cpf.IsValid("");                // false
Cpf.IsValid(null);              // false
Formatar
Cpf.Format("52945557789");  // "529.455.577-89"
Gerar
Cpf.Generate();  // "38041016588"

CNPJ

O CNPJ (Cadastro Nacional da Pessoa Jurídica) é o número de identificação de entidades jurídicas no Brasil.

Validar
using BrazilianUtils;

Cnpj.IsValid("11.886.541/0001-85");  // true
Cnpj.IsValid("11886541000185");      // true

// CNPJ Alfanumérico (Instrução Normativa RFB nº 2.119)
Cnpj.IsValid("AA.BBB.CCC/DDDD-01");  // true (se os dígitos verificadores forem válidos)

Cnpj.IsValid("cnpj-invalido");       // false
Cnpj.IsValid("");                    // false
Cnpj.IsValid(null);                  // false
Formatar
Cnpj.Format("11886541000185");  // "11.886.541/0001-85"
Gerar
// Gerar CNPJ numérico
Cnpj.Generate();             // "13401551551768"

// Gerar CNPJ alfanumérico
Cnpj.GenerateAlphanumeric(); // "AB12CD34EF5601"

CEP

O CEP (Código de Endereçamento Postal) é o código postal brasileiro.

Validar
using BrazilianUtils;

Cep.IsValid("92990-000");  // true
Cep.IsValid("92990000");   // true

Cep.IsValid("12345");      // false (tamanho incorreto)
Cep.IsValid("invalido");   // false
Formatar
Cep.Format("92990000");  // "92990-000"

Boleto

Valida boletos bancários brasileiros nos formatos de código de barras (44 dígitos) e linha digitável (47 dígitos).

Validar
using BrazilianUtils;

// Linha digitável (47 dígitos)
Boleto.IsValid("00198.10001 00030.212237 00217.236553 1 35742800321323");  // true

// Código de barras (44 dígitos)
Boleto.IsValid("00193357428003213230001000302122700021723655");  // true

Boleto.IsValid("boleto-invalido");  // false

Telefone

Valida números de telefone brasileiros, incluindo formatos de celular e telefone fixo.

Validar
using BrazilianUtils;

// Celular (11 dígitos com o nono dígito)
Phone.IsValid("(51) 99922-3344");  // true
Phone.IsValid("51999223344");      // true

// Telefone fixo (10 dígitos)
Phone.IsValid("(11) 3344-5566");   // true
Phone.IsValid("1133445566");       // true

Phone.IsValid("(11) 9000-0000");   // false (primeiro dígito inválido)
Phone.IsValid("1234567");          // false (tamanho incorreto)

CNH

A CNH (Carteira Nacional de Habilitação) é a carteira de motorista brasileira. Valida o formato de 2022 em diante.

Validar
using BrazilianUtils;

Cnh.isValidCnh("98765432100");   // true
Cnh.isValidCnh("987654321-00");  // true (símbolos são ignorados)

Cnh.isValidCnh("12345678901");   // false (dígitos verificadores inválidos)
Cnh.isValidCnh("00000000000");   // false (dígitos repetidos)
Cnh.isValidCnh("A2C45678901");   // false (não numérico)

PIS

O PIS (Programa de Integração Social) é o número de identificação do programa de integração social brasileiro.

Validar
using BrazilianUtils;

Pis.isValid("82178537464");  // true
Pis.isValid("55550207753");  // true

Pis.isValid("12345678901");  // false (dígito verificador inválido)
Pis.isValid("1234567");      // false (tamanho incorreto)
Formatar
Pis.formatPis("12345678909");  // Some "123.45678.90-9"
Gerar
Pis.generate();  // "82178537464"

RENAVAM

O RENAVAM (Registro Nacional de Veículos Automotores) é o número de registro de veículos no Brasil.

Validar
using BrazilianUtils;

Renavam.isValidRenavam("86769597308");  // true

Renavam.isValidRenavam("12345678901");  // false (dígito verificador inválido)
Renavam.isValidRenavam("11111111111");  // false (dígitos repetidos)
Renavam.isValidRenavam("1234567");      // false (tamanho incorreto)

Título de Eleitor

O Título de Eleitor é o documento de registro eleitoral brasileiro.

Validar
using BrazilianUtils;

VoterId.isValid("690847092828");  // true
VoterId.isValid("163204010922");  // true

VoterId.isValid("123456789012");  // false (dígitos verificadores inválidos)
VoterId.isValid("12345");         // false (tamanho incorreto)
Formatar
VoterId.formatVoterId("690847092828");  // Some "6908 4709 28 28"
Gerar
VoterId.generate("SP");  // Some "123456780101" (São Paulo)
VoterId.generate("RJ");  // Some "987654320352" (Rio de Janeiro)
VoterId.generate("ZZ");  // Some "112233440028" (Estrangeiros)

Processo Jurídico

Valida números de processos jurídicos brasileiros seguindo o padrão de numeração única do CNJ (Conselho Nacional de Justiça).

Formato: NNNNNNN-DD.AAAA.J.TR.OOOO

  • NNNNNNN: Número sequencial de 7 dígitos
  • DD: Dígitos verificadores de 2 dígitos (Módulo 97 Base 10, ISO 7064:2003)
  • AAAA: Ano com 4 dígitos
  • J: Segmento de justiça de 1 dígito (1-9)
  • TR: Tribunal de 2 dígitos
  • OOOO: Unidade de origem de 4 dígitos
Validar
using BrazilianUtils;

LegalProcess.isValid("6847650-61.2023.3.03.0000");  // true
LegalProcess.isValid("68476506120233030000");       // true

LegalProcess.isValid("68476506020233030000");       // false (dígito verificador incorreto)
LegalProcess.isValid("123");                         // false (tamanho incorreto)
Formatar
LegalProcess.formatLegalProcess("68476506120233030000");  // Some "6847650-61.2023.3.03.0000"
Gerar
LegalProcess.generate(Some 2024, Some 5);  // Some "12345678720245050000"
LegalProcess.generate(None, None);          // ID de processo jurídico válido aleatório

Placa de Veículo

Valida e formata placas de veículos brasileiros no formato antigo (LLLNNNN) e no formato Mercosul (LLLNLNN).

Validar
using BrazilianUtils;

// Formato antigo (LLLNNNN)
LicensePlate.isValid("ABC1234", Some "old_format");  // true
LicensePlate.isValid("ABC1234", None);               // true

// Formato Mercosul (LLLNLNN)
LicensePlate.isValid("ABC1D23", Some "mercosul");    // true
LicensePlate.isValid("ABC1D23", None);               // true

LicensePlate.isValid("ABCD123", None);               // false
Formatar
LicensePlate.formatLicensePlate("ABC1234");  // Some "ABC-1234" (formato antigo)
LicensePlate.formatLicensePlate("abc1e34");  // Some "ABC1E34"  (Mercosul)
Converter para Mercosul
LicensePlate.convertToMercosul("ABC4567");  // Some "ABC4F67"
Obter Formato
LicensePlate.getFormat("ABC1234");  // Some "LLLNNNN"
LicensePlate.getFormat("ABC1D23");  // Some "LLLNLNN"
Gerar
LicensePlate.generate(None);                // Some "ABC1D23" (Mercosul por padrão)
LicensePlate.generate(Some "LLLNLNN");      // Some "XYZ2E45" (Mercosul)
LicensePlate.generate(Some "LLLNNNN");      // Some "ABC1234" (Formato antigo)

Moeda

Utilitários para formatação e conversão de texto do Real brasileiro (BRL).

Formatar Moeda
using BrazilianUtils;

Currency.formatCurrency(1234.56M);   // Some "R$ 1.234,56"
Currency.formatCurrency(-1234.56M);  // Some "R$ -1.234,56"
Currency.formatCurrency(0M);         // Some "R$ 0,00"
Converter para Texto
Currency.convertRealToText(1523.45M);
// Some "Mil, quinhentos e vinte e três reais e quarenta e cinco centavos"

Currency.convertRealToText(1.00M);
// Some "Um real"

Currency.convertRealToText(0.50M);
// Some "Cinquenta centavos"

Currency.convertRealToText(0.00M);
// Some "Zero reais"

Currency.convertRealToText(-100.00M);
// Some "Menos cem reais"

Currency.convertRealToText(1000000.00M);
// Some "Um milhão de reais"

Utilitários

Funções utilitárias gerais para manipulação de strings.

Extrair Apenas Números
using BrazilianUtils;

Helpers.OnlyNumbers("123abc456");          // "123456"
Helpers.OnlyNumbers("(11) 9999-0000");     // "1199990000"
Helpers.OnlyNumbers("CPF: 529.455.577-89"); // "52945557789"

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, por favor abra uma issue primeiro para discutir o que você gostaria de alterar.

Licença

Este projeto é open source e está disponível sob a Licença MIT.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on BrazilianUtils:

Package Downloads
Gc.Platform.Core

Biblioteca de Uso Geral.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.3.0 155 1/18/2026
2.2.0 405 11/11/2025
2.1.0 320 11/6/2025
2.0.0 42,439 10/27/2018
1.1.0 29,609 8/30/2018