cnpjcpf.
Código · Regex

Regex de CNPJ

Expressões regulares para validar o formato de um CNPJ — com máscara, sem máscara e no novo formato alfanumérico.

Antes de tudo: regex valida só o formato (quantos caracteres, onde vão os pontos). Ela não confere o dígito verificador — para isso, use o cálculo do módulo 11 ou o validador.

CNPJ numérico

Regex
# com máscara: 12.345.678/0001-95
^\d{2}\.\d{3}\.\d{3}/\d{4}-\d{2}$

# só dígitos: 12345678000195
^\d{14}$

CNPJ alfanumérico (a partir de 2026)

As 12 primeiras posições aceitam letras maiúsculas; os 2 dígitos verificadores continuam numéricos:

Regex
# com máscara: 12.ABC.345/01DE-35
^[A-Z0-9]{2}\.[A-Z0-9]{3}\.[A-Z0-9]{3}/[A-Z0-9]{4}-\d{2}$

# só caracteres: 12ABC34501DE35
^[A-Z0-9]{12}\d{2}$

Note o \d{2} no fim: o DV nunca tem letra. E só maiúsculas — para aceitar minúsculas, normalize com .toUpperCase() antes.

publicidade

Aceitar os dois formatos

Para um campo que receba CNPJ antigo ou novo, já sem máscara:

JavaScript
const RE_CNPJ = /^[A-Z0-9]{12}\d{2}$/;
const clean = entrada.replace(/[.\/-]/g, '').toUpperCase();
RE_CNPJ.test(clean); // só confere o formato

Passou no regex? Então confira o dígito — veja validar CNPJ em JavaScript.

E o CPF?

O CPF é sempre numérico: ^\d{3}\.\d{3}\.\d{3}-\d{2}$ (com máscara) ou ^\d{11}$ (só dígitos). Detalhes em regex de CPF.

Padrões de formato (não validam o dígito verificador). Para validação completa, use o módulo 11. Revisado em 06/2026.