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[\dW] ?[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 concentra mais hierarquia em um único código do que a maioria dos sistemas da Europa. Um código como SW1A 1AA se decompõe em:

  • SW: área postal (London South West)
  • SW1A: distrito postal (Whitehall, Westminster e St James's)
  • 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. O Eircode da Irlanda vai além e dá a cada endereço individual o seu próprio código.

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 dezenas de 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. Before that he co-founded MapMetrics, a community mapping and navigation app. He writes about geospatial infrastructure, map data, AI search visibility, and how location data powers the products people rely on every day.

Ver todos os artigos →
Voltar ao blog