Skip to main content
Formatos de CEP Europeu: Referência País a País para Desenvolvedores
Guides

Formatos de CEP Europeu: Referência País a País para Desenvolvedores

Códigos postais europeus variam muito em comprimento, formato e significado. Referência país a país dos 27 membros da UE mais Reino Unido, Suíça e Noruega

Brent van der Heiden6 min read
#códigos postais#códigos postais europeus#validação de endereços#geocodificação#eu data#regex

Todo desenvolvedor que já construiu um formulário de endereços para clientes europeus eventualmente descobre a verdade: não existe um formato de código postal europeu. Cada país tem o seu, e as variações são genuinamente significativas. Esta página é uma referência país a país cobrindo a UE-27 mais os principais países europeus fora da UE, com os padrões regex e dicas de validação que você precisa em produção.

O Padrão Geral

Os códigos postais europeus se dividem em aproximadamente quatro grupos:

  1. 5 dígitos numéricos: Alemanha, França, Itália, Espanha, Finlândia, Croácia, Estônia, Grécia, Lituânia, Eslováquia.
  2. 4 dígitos numéricos: Bélgica, Bulgária, Hungria, Áustria, Suíça, Liechtenstein, Luxemburgo, Noruega, Eslovênia, Dinamarca.
  3. Alfanumérico, formato fixo: Países Baixos (4 dígitos mais 2 letras), Irlanda (Eircode, 7 alfanuméricos), Malta (3 letras mais 4 dígitos).
  4. Alfanumérico hierárquico: Reino Unido (comprimento variável, duas partes).

Mais alguns casos especiais: a Suécia usa 5 dígitos com espaço após o terceiro (123 45), a Polônia usa 5 dígitos com hífen após o segundo (00-001), a Tchéquia usa 5 dígitos com espaço após o terceiro (110 00).

A Referência UE-27

PaísISOFormatoExemploRegex
ÁustriaAT4 dígitos1010^\d{4}$
BélgicaBE4 dígitos1000^\d{4}$
BulgáriaBG4 dígitos1000^\d{4}$
CroáciaHR5 dígitos10000^\d{5}$
ChipreCY4 dígitos1010^\d{4}$
TchéquiaCZNNN NN110 00^\d{3} ?\d{2}$
DinamarcaDK4 dígitos1050^\d{4}$
EstôniaEE5 dígitos10111^\d{5}$
FinlândiaFI5 dígitos00100^\d{5}$
FrançaFR5 dígitos75008^\d{5}$
AlemanhaDE5 dígitos10115^\d{5}$
GréciaGRNNN NN105 63^\d{3} ?\d{2}$
HungriaHU4 dígitos1051^\d{4}$
IrlandaIEEircodeD02 X285^[A-Z]\d{2} ?[A-Z0-9]{4}$
ItáliaIT5 dígitos00184^\d{5}$
LetôniaLVLV-NNNNLV-1050^LV-\d{4}$
LituâniaLTLT-NNNNNLT-01100^LT-\d{5}$
LuxemburgoLU4 dígitos1234^\d{4}$
MaltaMTLLL NNNNVLT 1234^[A-Z]{3} ?\d{4}$
Países BaixosNLNNNN LL1011 AB^\d{4} ?[A-Z]{2}$
PolôniaPLNN-NNN00-001^\d{2}-\d{3}$
PortugalPTNNNN-NNN1000-001^\d{4}-\d{3}$
RomêniaRO6 dígitos010001^\d{6}$
EslováquiaSKNNN NN811 01^\d{3} ?\d{2}$
EslovêniaSI4 dígitos1000^\d{4}$
EspanhaES5 dígitos28013^\d{5}$
SuéciaSENNN NN111 22^\d{3} ?\d{2}$

Principais Países Europeus Fora da UE

PaísISOFormatoExemploRegex
Reino UnidoGBhierárquicoSW1A 1AA^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$
SuíçaCH4 dígitos8001^\d{4}$
NoruegaNO4 dígitos0150^\d{4}$
IslândiaIS3 dígitos101^\d{3}$
LiechtensteinLI4 dígitos9490^\d{4}$

O Postcode do Reino Unido em Detalhe

O sistema britânico é o mais denso em informação da Europa. Um código como SW1A 1AA se decompõe em:

  • SW: área postal (London South West)
  • SW1A: distrito postal (St James's e Pimlico)
  • SW1A 1: setor postal (algumas ruas)
  • SW1A 1AA: unidade postal (ponto de entrega específico, frequentemente um prédio)

Essa hierarquia significa que um postcode britânico pode identificar um prédio, razão pela qual produtos britânicos frequentemente usam o postcode como proxy para agrupamento em nível de bairro ou até de rua. Quase nenhum outro sistema de código postal de outro país faz isso.

Padrões de Validação em Produção

A abordagem mais barata em produção é uma tabela regex por país como a acima, aplicada com base em um código de país do endereço. O código de país pode vir de:

  • Um dropdown explícito que o usuário selecionou
  • A geolocalização por IP do usuário
  • O resultado do geocodificador (a maioria dos geocodificadores de produção normaliza o código postal e inclui o código do país na resposta)

Evite tentar validar um código postal sem conhecer o país. Um código de 4 dígitos é válido em 12 países e inválido em muitos outros.

Para fluxos de alto risco (checkout, KYC, setores regulados), não pare no regex. Envie o endereço para um geocodificador e trate uma resposta de precisão "rooftop" ou "street" como a validação, não apenas a correspondência regex. Um código postal corretamente formatado ainda pode não corresponder a um endereço real.

Armazenamento e Normalização

Armazene códigos postais como strings, não como números. Zeros à esquerda importam (01100 é um código lituano válido; 1100 não é). Convenções de formato de armazenamento:

  • Remova caracteres não alfanuméricos ao comparar entre conjuntos de dados.
  • Exiba na forma canônica do país (com hífens, espaços, prefixos) na saída.
  • Sempre armazene o código do país junto com o código postal, mesmo que seu produto opere apenas em um país hoje. O esquema escala para expansão multi-país sem migração.

Como o MapAtlas Ajuda

A Geocoding API da MapAtlas retorna um campo address_components.postal_code normalizado para cada país suportado, validado contra os dados de origem. A Search API aceita um código postal como entrada de busca e retorna o lugar correspondente. Ambas as APIs são hospedadas na UE, conformes com GDPR e construídas sobre dados no nível do OSM com parsers de endereço por país explícitos.

Para uma visão mais aprofundada de como endereços se tornam coordenadas, veja O Que É um Geocode. Para a mecânica de longitude e latitude por trás de cada resposta de coordenada, veja Longitude vs Latitude.

Perguntas frequentes

Qual é o formato dos códigos postais europeus?

Não existe um único formato de código postal europeu. Cada país define o seu. A maioria usa um código numérico de comprimento fixo (5 dígitos na Alemanha, França, Itália, Espanha; 4 dígitos na Bélgica, Hungria, Áustria, Suíça), mas vários usam códigos alfanuméricos (a Holanda usa 4 dígitos mais 2 letras, o Reino Unido usa um sistema alfanumérico de duas partes complexo, a Irlanda usa Eircode com 7 caracteres alfanuméricos). Um validador de endereços funcional precisa ter um padrão por país para a UE-27 mais os principais países europeus fora da UE.

O código postal alemão (Postleitzahl) é o mesmo que o código postal polonês?

Ambos têm cinco caracteres, mas a estrutura difere. A Alemanha usa 5 dígitos contíguos (ex: 10115). A Polônia usa 2 dígitos, um hífen e depois 3 dígitos (ex: 00-001). Para armazenamento, você pode manter a forma canônica com o hífen para a Polônia e sem ele para a Alemanha. Para correspondência entre conjuntos de dados, normalize removendo caracteres não alfanuméricos e reaplicando o formato específico do país na exibição.

Como valido um código postal de qualquer país da UE?

Primeiro identifique o país (pelo endereço, um código de país ISO 3166-1 alfa-2 ou a geolocalização do usuário). Depois aplique o padrão regex daquele país. A validação por país é o padrão de produção, porque um único regex global rejeitaria códigos válidos ou aceitaria os claramente inválidos. A MapAtlas Geocoding API retorna um código postal normalizado por país em seus `address_components`, então geralmente você deixa o geocodificador fazer a etapa de validação por você.

Por que o sistema de código postal do Reino Unido parece tão diferente?

Os postcodes do Reino Unido usam um sistema alfanumérico hierárquico que codifica a área postal, o distrito, o setor e a unidade em duas partes (ex: SW1A 1AA para Buckingham Palace). Carrega mais informação espacial por código do que a maioria dos sistemas de outros países, razão pela qual os postcodes britânicos às vezes são usados como proxy para bairros ou até ruas individuais. O sistema foi criado nas décadas de 1950 e 1960 e desde então foi adaptado para a infraestrutura moderna de dados.

Achou útil? Compartilhe.

Sobre o autor

Brent van der Heiden

Escrito por

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. He writes about geospatial infrastructure, AI search visibility, and how location data powers the products people rely on every day.

Ver todos os artigos
Voltar ao blog