Regex Brasileiras – Expressões prontas para CPF, CNPJ, CEP e mais
Biblioteca de expressões regulares para os formatos do Brasil: CPF, CNPJ, CEP, telefone, placa Mercosul, boleto, PIX e chave de NF-e. Cada padrão vem testado, com exemplos que casam e que não casam.
CPF
DocumentosAceita com ou sem pontuação e barra os casos de todos os dígitos iguais.
/(?!(\d)\1{2}\.?\1{3}\.?\1{3}-?\1{2})\d{3}\.?\d{3}\.?\d{3}-?\d{2}/gCasa com- ✓123.456.789-09
- ✓12345678909
Não casa com- —111.111.111-11
- —123.456.789
O lookahead descarta 000.000.000-00 e companhia, mas o dígito verificador só o validador confere.
CNPJ
DocumentosFormato clássico, com ou sem máscara.
/\d{2}\.?\d{3}\.?\d{3}\/?\d{4}-?\d{2}/gCasa com- ✓12.345.678/0001-95
- ✓12345678000195
Não casa com- —12.345.678/0001
- —1234567800019
CNPJ alfanumérico
DocumentosO novo formato que entra em vigor em 2026: as oito primeiras posições aceitam letras.
/[A-Z\d]{2}\.?[A-Z\d]{3}\.?[A-Z\d]{3}\/?[A-Z\d]{4}-?\d{2}/gCasa com- ✓12.ABC.345/01DE-35
- ✓12ABC34501DE35
Não casa com- —12.ABC.345/01DE-AB
Os dois dígitos verificadores continuam sendo sempre numéricos.
RG
DocumentosFormato de São Paulo, com dígito que pode ser X.
/\d{2}\.?\d{3}\.?\d{3}-?[\dXx]/gCasa com- ✓12.345.678-9
- ✓12345678X
Não casa com- —1.234-5
Cada estado emite RG num formato diferente — este cobre o padrão paulista.
CNH
DocumentosOnze dígitos sem máscara, rejeitando sequências repetidas.
/(?!(\d)\1{10})\d{11}/gCasa com- ✓12345678900
Não casa com- —11111111111
PIS / PASEP / NIT
DocumentosOnze dígitos, com ou sem a máscara 000.00000.00-0.
/\d{3}\.?\d{5}\.?\d{2}-?\d/gCasa com- ✓123.45678.90-1
- ✓12345678901
Não casa com- —123.4567.89-0
Título de eleitor
DocumentosDoze dígitos, aceitando o espaço usado na impressão.
/\d{4}\s?\d{4}\s?\d{4}/gCasa com- ✓1234 5678 9012
- ✓123456789012
Não casa com- —12345678
Placa de veículo
DocumentosCobre o padrão antigo (ABC-1234) e o Mercosul (ABC1D23).
/[A-Z]{3}-?\d[A-Z\d]\d{2}/giCasa com- ✓ABC-1234
- ✓ABC1D23
- ✓abc1234
Não casa com- —AB-1234
- —ABCD123
A quarta posição é sempre número; a quinta é letra no Mercosul e número no padrão antigo.
Renavam
DocumentosOnze dígitos — o formato atual, já com zeros à esquerda.
/\d{11}/gCasa com- ✓12345678900
Não casa com- —1234567890
Telefone com DDD
ContatoFixo e celular, com ou sem parênteses, espaço ou hífen.
/\(?\d{2}\)?\s?9?\d{4}-?\d{4}/gCasa com- ✓(11) 91234-5678
- ✓11912345678
- ✓21 3344-5566
Não casa com- —1234-5678
Celular tem o nono dígito começando em 9; fixo começa entre 2 e 5.
Celular em formato internacional
ContatoO formato que WhatsApp e APIs de SMS esperam: +55 seguido de DDD e número.
/\+?55\s?\(?\d{2}\)?\s?9\d{4}-?\d{4}/gCasa com- ✓+5511912345678
- ✓55 11 91234-5678
Não casa com- —11912345678
E-mail
ContatoVersão prática, boa para extrair e-mails de um texto colado.
/[\w.+-]+@[\w-]+\.[\w.]{2,}/giCasa com- ✓contato@empresa.com.br
- ✓nome+tag@dominio.dev
Não casa com- —arroba-faltando.com
- —sem@dominio
Validar e-mail 100% pela RFC é impraticável; para cadastro, o teste que vale é enviar a confirmação.
CEP
EndereçoOito dígitos, com ou sem o hífen.
/\d{5}-?\d{3}/gCasa com- ✓01310-100
- ✓01310100
Não casa com- —0131-100
Sigla de estado
EndereçoAs 26 UFs mais o Distrito Federal, sem aceitar combinações inventadas.
/\b(A[CLMP]|BA|CE|DF|ES|GO|MA|M[GST]|P[ABEIR]|R[JNORS]|S[CEP]|TO)\b/gCasa com- ✓SP
- ✓RJ
- ✓DF
Não casa com- —XX
- —SS
Valor em reais
FinanceiroAceita R$ opcional, separador de milhar e centavos.
/R\$\s?\d{1,3}(\.\d{3})*(,\d{2})?(?![\d.,])/gCasa com- ✓R$ 1.234,56
- ✓R$ 99,90
- ✓R$ 1.000
Não casa com- —R$ 1,234.56
Linha digitável de boleto
FinanceiroOs 47 dígitos do boleto bancário, com ou sem os pontos e espaços da impressão.
/\d{5}[.\s]?\d{5}[\s]?\d{5}[.\s]?\d{6}[\s]?\d{5}[.\s]?\d{6}[\s]?\d[\s]?\d{14}/gCasa com- ✓23793.38128 60007.827136 95000.063305 4 84410000026000
Não casa com- —23793381286000782713
Chave de NF-e
FinanceiroOs 44 dígitos da chave de acesso da nota fiscal eletrônica.
/\d{44}/gCasa com- ✓35240512345678000195550010000012341000012348
Não casa com- —3524051234567800019555001000001234
Os dois primeiros dígitos são o código da UF e os quatro seguintes, o ano e mês de emissão.
PIX copia e cola
FinanceiroReconhece o payload EMV do PIX pelo cabeçalho fixo.
/000201[\d\w.\-*$%/+:@ ]{20,}6304[A-F0-9]{4}/gCasa com- ✓00020126360014BR.GOV.BCB.PIX0114+55119999999995204000053039865802BR5909Fulano6008BRASILIA62070503***6304ABCD
Não casa com- —000201
Data no formato brasileiro
Web e textodd/mm/aaaa com grupos nomeados prontos para uso.
/(?<dia>0[1-9]|[12]\d|3[01])\/(?<mes>0[1-9]|1[0-2])\/(?<ano>\d{4})/gCasa com- ✓25/08/2026
- ✓01/12/1999
Não casa com- —32/01/2026
- —2026-08-25
Hora no formato 24 h
Web e textohh:mm com segundos opcionais.
/([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?/gCasa com- ✓09:30
- ✓23:59:59
Não casa com- —24:00
- —9:5
URL
Web e textoExtrai links de um texto sem engolir a pontuação final da frase.
/https?:\/\/[^\s"'<>)\]]+/gCasa com- ✓https://dev-tools.decussi.com/tools
- ✓http://exemplo.com.br/a?b=1
Não casa com- —ftp://arquivo.com
Slug de URL
Web e textoSó minúsculas, números e hífen — o formato que uma URL limpa aceita.
/^[a-z0-9]+(?:-[a-z0-9]+)*$/Casa com- ✓minha-pagina-2026
Não casa com- —Minha Página
- —slug--duplo
Senha forte
Web e textoExige oito caracteres com maiúscula, minúscula, número e símbolo.
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$/Casa com- ✓Senha@2026
Não casa com- —senha123
- —SENHA@2026
Cada lookahead exige um tipo de caractere sem consumir texto — é o truque que faz a regra funcionar.
Regex confere formato, não validade
Um CPF pode ter os onze dígitos no lugar certo e ainda assim não existir: o dígito verificador é uma conta, não um padrão de texto. Use a expressão para achar e limpar dados, e o validador para dizer se o número é bom.
Como usar esta ferramenta
- Encontre o padrão pela busca ou pelas categorias
- Cole um texto de teste para ver quais padrões acham algo nele
- Copie a expressão ou abra direto no testador de regex
- Use o validador correspondente quando precisar conferir o dígito verificador
Sobre esta ferramenta
O que é
São padrões de texto que localizam e validam o formato de dados brasileiros. Servem para extrair informação de um texto colado, limpar uma base ou barrar entrada malformada antes de chegar ao banco.
Quando usar
- Validar máscara de formulário antes de enviar ao back-end
- Extrair CPFs, telefones ou boletos de um texto ou log colado
- Limpar e normalizar uma planilha antes de importar
- Escrever regras de parsing em integrações fiscais e financeiras
Segurança
Processamento 100% no navegador. Nenhum dado é enviado ao servidor — seus dados sensíveis permanecem no seu dispositivo.
Perguntas frequentes
- Regex de CPF valida o CPF?
- Não. A expressão confere o formato — onze dígitos com ou sem pontuação. O dígito verificador é uma conta aritmética que regex nenhuma faz. Use a expressão para achar e limpar, e o validador de CPF para dizer se o número existe.
- Os padrões funcionam em Python, PHP ou Java?
- A sintaxe usada aqui é a do JavaScript, que é quase idêntica à PCRE. Classes, quantificadores e grupos funcionam igual; lookbehind e grupos nomeados têm sintaxe própria em algumas linguagens. Vale testar antes de subir.
- Como capturar as partes do número, e não o número inteiro?
- Envolva os trechos em parênteses para criar grupos de captura, ou use grupos nomeados como (?<ddd>\d{2}). No testador de regex você vê cada grupo separado a cada ocorrência.
- Por que a regex de placa aceita ABC1D23 e ABC-1234?
- Porque as duas continuam valendo no Brasil: o padrão antigo, com quatro números no fim, e o Mercosul, que tem letra na quinta posição. Um único padrão cobre a frota inteira.