bateCarimbo.
Faixas oficiais dos Correios

Gerador de CEP por estado

Sorteia CEPs dentro da faixa oficial da unidade federativa que você escolher, descobre a UF de um CEP que você já tem e alterna entre 00000000 e 00000-000. Tudo resolvido por faixa numérica, sem consultar nenhum serviço externo.

Os CEPs gerados aqui são fictícios. Eles caem dentro da faixa oficial do estado escolhido, mas o CEP não tem dígito verificador e o número sorteado pode não existir como logradouro. Use apenas em desenvolvimento, homologação e demonstração. Uso permitido e proibido.

Prefixo
1–5
Sufixo
6–8

Os CEPs gerados caem dentro da faixa correta de cada estado, mas são sorteados ao acaso e podem não corresponder a um logradouro real. Use apenas para testes de software.

Os oito dígitos, do país ao quarteirão

O Código de Endereçamento Postal é lido da esquerda para a direita, do mais geral para o mais específico. Os cinco primeiros dígitos formam o prefixo, que localiza a área; os três últimos são o sufixo, que aponta o logradouro, um trecho de logradouro ou uma unidade de distribuição — caixas postais e grandes usuários entram aqui. Não existe dígito verificador em lugar nenhum: os oito dígitos são todos informação de endereço.

01310-100, dígito a dígito

O CEP de um trecho da Avenida Paulista, em São Paulo, se decompõe assim:

  • 0 — região. É o dígito que divide o país em dez regiões postais; a região 0 cobre a capital paulista e o entorno.
  • 1 — sub-região. Recorta a região em blocos menores.
  • 3 — setor.
  • 1 — subsetor.
  • 0 — divisor de subsetor, o último dígito do prefixo e o mais fino dos cinco.
  • 100 — sufixo, os três dígitos que identificam o logradouro ou o trecho atendido.

Andar alguns quarteirões pela mesma avenida costuma mexer só no sufixo. Atravessar para outro bairro muda o setor ou o subsetor. Mudar de estado muda o primeiro dígito, ou os dois primeiros. É essa hierarquia que permite descobrir a UF de um CEP comparando o número com intervalos, sem consultar base alguma.

As dez regiões postais

A numeração começa em São Paulo — região 0 para a capital e o entorno, região 1 para o interior do estado — e segue pelo restante do país até terminar em 9, o Rio Grande do Sul. Como a divisão é geográfica e contínua, cada UF ocupa um ou dois intervalos fechados, listados na tabela mais abaixo. Três estados aparecem partidos em dois intervalos porque um vizinho corta a faixa: Distrito Federal e Goiás se intercalam duas vezes, e o bloco de Roraima separa em dois o do Amazonas. O mapa completo das regiões está no guia como o CEP é estruturado.

Sem dígito verificador, sobra a faixa

CPF, CNPJ, PIS e RENAVAM carregam um dígito calculado que denuncia a troca de um algarismo. O CEP não. Digitar 01310-100 como 01810-100 produz outro CEP plausível, dentro da mesma faixa de São Paulo, e nenhuma verificação local percebe o erro. Para os documentos que têm essa proteção, a conta está no guia de módulo 11; para o CEP, o que dá para checar offline é formato mais faixa.

Anatomia do CEP

01310-100

Prefixo

1–5

Prefixo: região, sub-região, setor, subsetor e divisor de subsetor, nessa ordem.

Sufixo

6–8

Sufixo: logradouro, trecho de logradouro, caixa postal ou grande usuário.

Regex

^\d{8}$
^\d{5}-\d{3}$

Faixas de CEP por estado

UFEstadoFaixa
ACAcre69900-000–69999-999
ALAlagoas57000-000–57999-999
AMAmazonas69000-000–69299-999 · 69400-000–69899-999
APAmapá68900-000–68999-999
BABahia40000-000–48999-999
CECeará60000-000–63999-999
DFDistrito Federal70000-000–72799-999 · 73000-000–73699-999
ESEspírito Santo29000-000–29999-999
GOGoiás72800-000–72999-999 · 73700-000–76799-999
MAMaranhão65000-000–65999-999
MGMinas Gerais30000-000–39999-999
MSMato Grosso do Sul79000-000–79999-999
MTMato Grosso78000-000–78899-999
PAPará66000-000–68899-999
PBParaíba58000-000–58999-999
PEPernambuco50000-000–56999-999
PIPiauí64000-000–64999-999
PRParaná80000-000–87999-999
RJRio de Janeiro20000-000–28999-999
RNRio Grande do Norte59000-000–59999-999
RORondônia76800-000–76999-999
RRRoraima69300-000–69399-999
RSRio Grande do Sul90000-000–99999-999
SCSanta Catarina88000-000–89999-999
SESergipe49000-000–49999-999
SPSão Paulo01000-000–19999-999
TOTocantins77000-000–77999-999

CEP geral de município e CEP de logradouro

Nem todo CEP aponta para uma rua. Municípios pequenos costumam ter um único código atendendo o território inteiro, o CEP geral, reconhecível pelo sufixo 000. Nas cidades grandes acontece o oposto: o mesmo bairro tem dezenas de CEPs, um por logradouro e às vezes um por trecho, além dos códigos reservados a caixas postais e a grandes usuários — um órgão público ou uma empresa que recebe correspondência em volume ganha CEP próprio. Esse último tipo identifica o destinatário, não a via.

A diferença aparece no primeiro formulário que preenche endereço a partir do CEP. Com um CEP geral, a consulta devolve município e UF, mas logradouro e bairro voltam em branco — e a tela precisa deixar o usuário digitar a rua em vez de travar ou exibir erro. Uma massa de teste de endereços sem pelo menos um CEP geral não exercita esse caminho, que é justamente o que quebra em produção.

Os números sorteados aqui respeitam a faixa da UF, mas não distinguem entre os tipos: pelo número não há como saber se ele seria um CEP geral, de logradouro ou de grande usuário. Para montar o endereço completo em volta dele, com estado e cidade coerentes, use o gerador de pessoas.

Validar formato e faixa em vez de consultar uma API

Sem sair da sua aplicação dá para checar três coisas. Primeira: se restaram oito dígitos depois de remover a máscara. Segunda: se o número cai em algum intervalo conhecido — fora deles, o CEP não pertence a UF nenhuma. Terceira, a mais útil e a mais esquecida: se a UF daquele intervalo bate com o estado selecionado no formulário. É essa terceira checagem que pega o cadastro com CEP da faixa de Pernambuco e estado Paraná, um erro que a consulta de logradouro sozinha não denuncia.

Um serviço externo responde outra pergunta: se aquele CEP existe e a que logradouro corresponde. Pergunta legítima em produção, péssima dependência dentro da suíte de testes. A partir do momento em que um teste de unidade faz uma requisição HTTP, ele depende de rede, de um serviço de terceiro estar no ar e do limite de requisições dele. O que passava ontem falha hoje por timeout, o tempo total cresce junto com o número de casos e o resultado deixa de ser determinístico, porque a base de CEPs muda com o tempo.

O arranjo que costuma sobreviver: validar formato e faixa localmente, com dados fixos; isolar a chamada externa atrás de uma interface e usar um duplo de teste nos testes de unidade e de componente; e manter um punhado de testes de integração que realmente batem no serviço, rodando fora da suíte principal, onde uma falha de rede não derruba o build. O mesmo raciocínio vale para montar massa de dados de teste e é o motivo de preferir dados fictícios a dados reais em ambiente de desenvolvimento.

Perguntas frequentes

Os CEPs gerados existem de verdade?

Eles caem dentro da faixa oficial do estado escolhido, mas o número exato é sorteado — pode não corresponder a um logradouro real. Servem para testar máscara, validação de formato e regras por região, não para calcular frete ou endereçar uma entrega de verdade.

Posso gerar CEP de um estado específico?

Sim. Escolha a unidade federativa e o número sairá dentro da faixa daquele estado — São Paulo vai de 01000-000 a 19999-999, por exemplo. Na opção Aleatório, qualquer estado pode ser sorteado.

Como descubro a qual estado um CEP pertence?

Use a aba Localizar UF: cole um ou mais CEPs e a ferramenta compara cada um com as faixas dos Correios e mostra o estado correspondente, sem consultar nenhuma API externa.

O CEP tem dígito verificador?

Não. Ele é uma chave de endereçamento de oito dígitos, formada por um prefixo de cinco e um sufixo de três, sem nenhum dígito de controle. Por isso não existe como saber se um CEP está correto apenas olhando para ele: só dá para checar o formato e a faixa.

Qual a diferença entre CEP de logradouro e CEP geral?

Cidades menores têm um CEP único que atende todo o município, com sufixo 000. Em cidades grandes, cada logradouro — às vezes cada trecho ou cada prédio de grande porte — tem o seu. Um formulário que exige logradouro preenchido a partir do CEP precisa lidar com os dois casos.