Expand description
CNPJ (Cadastro Nacional da Pessoa Jurídica) - validation, formatting and generation.
Supports both numeric (current) and alphanumeric (IN RFB 2.119/2022, July 2026) formats. Uses modulo-11 weighted sums as specified by Receita Federal do Brasil.
Structs§
- Cnpj
- A validated CNPJ stored as 14 ASCII bytes.
Enums§
- Cnpj
Error - Cnpj
Kind - Whether the CNPJ uses only digits or also contains letters.
- Establishment
Type - Whether the establishment is the main office (Matriz) or a branch (Filial).
Functions§
- compute_
check_ digits - Computes check digits for a 12-character CNPJ base.
Returns
Noneif input is invalid. - format_
cnpj - Formats as
XX.XXX.XXX/XXXX-DD, orNoneif not valid 14 chars. - generate
- Generates a random valid CNPJ as a 14-character string.
- generate_
cnpj - Generates a random valid
Cnpj. - generate_
cnpj_ with_ rng - Generates a valid
Cnpjusing an injected random source. - generate_
matriz - Generates a random valid
Cnpjwith ordem “0001” (Matriz). - generate_
matriz_ with_ rng - Generates a valid Matriz
Cnpjusing an injected random source. - generate_
matriz_ with_ seed - Generates a deterministic valid Matriz
Cnpjfrom a seed. - generate_
with_ rng - Generates a valid
Cnpjusing an injected random source. - generate_
with_ seed - Generates a deterministic valid
Cnpjfrom a seed. - is_
valid - Compatibility alias for
is_valid_lenient. - is_
valid_ lenient - Lenient validation: strips punctuation, uppercases, then validates.
- is_
valid_ strict - Strict validation - accepts
XX.XXX.XXX/XXXX-DDorXXXXXXXXXXXXXXDDonly. - normalize
- Normalizes a permissive CNPJ input by retaining ASCII alphanumeric characters and uppercasing letters.
- remove_
symbols - Compatibility alias for
normalize.