cnpj-validate
v1.0.0
Published
Validate, format, and parse Brazilian CNPJs. Supports both numeric and alphanumeric formats (IN RFB nº 2.229/2024, effective July 2026).
Maintainers
Readme
validate-cnpj
Validate, format, and parse Brazilian CNPJs. Supports both numeric and alphanumeric formats (IN RFB nº 2.229/2024, effective July 2026).
Install
npm install validate-cnpj
# or
bun add validate-cnpj
# or
yarn add validate-cnpjUsage
import { validate, format, parse, isAlphanumeric } from "validate-cnpj";
// Validate
validate("11.222.333/0001-81"); // true
validate("11222333000181"); // true
validate("00000000000000"); // false
// Alphanumeric (new format, July 2026)
validate("12ABC3450001XX"); // validates check digits
// Format
format("11222333000181"); // "11.222.333/0001-81"
// Parse
parse("11222333000181");
// { root: "11222333", branch: "0001", digits: "81" }
// Detect format
isAlphanumeric("11222333000181"); // falseAPI
| Function | Description |
|----------|-------------|
| validate(cnpj) | Validate a CNPJ (numeric or alphanumeric) |
| format(cnpj) | Format as XX.XXX.XXX/XXXX-XX |
| parse(cnpj) | Extract root, branch, and check digits |
| clean(cnpj) | Strip formatting characters |
| generateDigits(base) | Generate check digits for a 12-char base |
| isAlphanumeric(cnpj) | Check if CNPJ uses the new alphanumeric format |
Alphanumeric CNPJ
Starting July 2026, new CNPJ registrations in Brazil will use alphanumeric characters (A-Z, 0-9) in the first 12 positions. Check digits (positions 13-14) remain numeric. This library supports both formats from day one.
Legal basis: Instrução Normativa RFB nº 2.229, October 15, 2024.
Need company data?
checkpj.app — API for Brazilian company data. 69M+ companies, search, shareholders, validation. Free tier available.
