Skip to main content
Format Kode Pos Eropa: Referensi per Negara untuk Developer
Guides

Format Kode Pos Eropa: Referensi per Negara untuk Developer

Kode pos Eropa sangat bervariasi dalam panjang, format, dan maknanya. Panduan ini adalah referensi per negara untuk 27 negara anggota EU plus UK, Swiss, dan Norwegia

Brent van der Heiden5 min read
#kode pos#kode pos eropa#validasi alamat#geocoding#eu data#regex

Setiap developer yang pernah membangun formulir alamat untuk pelanggan Eropa pada akhirnya akan menyadari kebenarannya: tidak ada format kode pos Eropa yang universal. Setiap negara memiliki formatnya sendiri, dan variasinya sangat berarti. Halaman ini adalah referensi per negara yang mencakup EU-27 plus negara-negara Eropa non-EU utama, dengan pola regex dan tips validasi yang kamu butuhkan di production.

Pola Tingkat Tinggi

Kode pos Eropa terbagi dalam sekitar empat kelompok:

  1. Numerik 5 digit: Jerman, Prancis, Italia, Spanyol, Finlandia, Kroasia, Estonia, Yunani, Lituania, Slovakia.
  2. Numerik 4 digit: Belgia, Bulgaria, Hungaria, Austria, Swiss, Liechtenstein, Luksemburg, Norwegia, Slovenia, Denmark.
  3. Alfanumerik, format tetap: Belanda (4 digit plus 2 huruf), Irlandia (Eircode, 7 alfanumerik), Malta (3 huruf plus 4 digit).
  4. Alfanumerik hierarkis: Inggris (panjang variabel, dua bagian).

Ditambah beberapa outlier: Swedia menggunakan 5 digit dengan spasi setelah yang ketiga (123 45), Polandia menggunakan 5 digit dengan tanda hubung setelah yang kedua (00-001), Ceko menggunakan 5 digit dengan spasi setelah yang ketiga (110 00).

Referensi EU-27

NegaraISOFormatContohRegex
AustriaAT4 digit1010^\d{4}$
BelgiaBE4 digit1000^\d{4}$
BulgariaBG4 digit1000^\d{4}$
KroasiaHR5 digit10000^\d{5}$
SiprusCY4 digit1010^\d{4}$
CekoCZNNN NN110 00^\d{3} ?\d{2}$
DenmarkDK4 digit1050^\d{4}$
EstoniaEE5 digit10111^\d{5}$
FinlandiaFI5 digit00100^\d{5}$
PrancisFR5 digit75008^\d{5}$
JermanDE5 digit10115^\d{5}$
YunaniGRNNN NN105 63^\d{3} ?\d{2}$
HungariaHU4 digit1051^\d{4}$
IrlandiaIEEircodeD02 X285^[A-Z]\d{2} ?[A-Z0-9]{4}$
ItaliaIT5 digit00184^\d{5}$
LatviaLVLV-NNNNLV-1050^LV-\d{4}$
LituaniaLTLT-NNNNNLT-01100^LT-\d{5}$
LuksemburgLU4 digit1234^\d{4}$
MaltaMTLLL NNNNVLT 1234^[A-Z]{3} ?\d{4}$
BelandaNLNNNN LL1011 AB^\d{4} ?[A-Z]{2}$
PolandiaPLNN-NNN00-001^\d{2}-\d{3}$
PortugalPTNNNN-NNN1000-001^\d{4}-\d{3}$
RumaniaRO6 digit010001^\d{6}$
SlovakiaSKNNN NN811 01^\d{3} ?\d{2}$
SloveniaSI4 digit1000^\d{4}$
SpanyolES5 digit28013^\d{5}$
SwediaSENNN NN111 22^\d{3} ?\d{2}$

Negara Eropa Non-EU Utama

NegaraISOFormatContohRegex
InggrisGBhierarkisSW1A 1AA^[A-Z]{1,2}\d[A-Z\d]? ?\d[A-Z]{2}$
SwissCH4 digit8001^\d{4}$
NorwegiaNO4 digit0150^\d{4}$
IslandiaIS3 digit101^\d{3}$
LiechtensteinLI4 digit9490^\d{4}$

Kode Pos UK secara Detail

Sistem UK adalah yang paling padat informasi di Eropa. Kode seperti SW1A 1AA terdiri dari:

  • SW: area pos (London South West)
  • SW1A: distrik pos (St James's dan Pimlico)
  • SW1A 1: sektor pos (beberapa jalan)
  • SW1A 1AA: unit pos (titik pengiriman tertentu, sering satu bangunan)

Hierarki ini berarti kode pos UK dapat mengidentifikasi sebuah bangunan, itulah mengapa produk UK sering menggunakan kode pos sebagai proxy untuk pengelompokan tingkat lingkungan atau bahkan tingkat jalan. Hampir tidak ada sistem kode pos negara lain yang melakukan ini.

Pola Validasi Production

Pendekatan production yang paling murah adalah tabel regex per negara seperti di atas, diterapkan berdasarkan kode negara dari alamat. Kode negara dapat berasal dari:

  • Dropdown eksplisit yang dipilih pengguna
  • Geolokasi IP pengguna
  • Hasil geocoder (sebagian besar geocoder production menormalisasi kode pos dan menyertakan kode negara dalam respons)

Hindari mencoba memvalidasi kode pos tanpa mengetahui negaranya. Kode 4 digit valid di 12 negara dan tidak valid di banyak lainnya.

Untuk alur yang berisiko tinggi (checkout, KYC, industri yang diregulasi), jangan berhenti pada regex. Kirim alamat ke geocoder dan perlakukan respons dengan presisi "rooftop" atau "street" sebagai validasi, bukan hanya kecocokan regex. Kode pos yang diformat dengan benar tetap bisa gagal cocok dengan alamat nyata.

Penyimpanan dan Normalisasi

Simpan kode pos sebagai string, bukan angka. Nol di depan penting (01100 adalah kode Lituania yang valid; 1100 tidak). Konvensi format penyimpanan:

  • Hapus karakter non-alfanumerik saat membandingkan lintas dataset.
  • Tampilkan dalam bentuk kanonik negara (dengan tanda hubung, spasi, awalan) saat output.
  • Selalu simpan kode negara bersama kode pos, meskipun produkmu saat ini hanya beroperasi di satu negara. Skema dapat berkembang ke ekspansi multi-negara tanpa migrasi.

Cara MapAtlas Membantu

Geocoding API MapAtlas mengembalikan field address_components.postal_code yang dinormalisasi untuk setiap negara yang didukung, divalidasi terhadap data sumber. Search API menerima kode pos sebagai input pencarian dan mengembalikan tempat yang cocok. Kedua API dihosting di EU, sesuai GDPR, dan dibangun di atas data berbasis OSM dengan parser alamat khusus per negara.

Untuk pemahaman lebih dalam tentang cara alamat menjadi koordinat, lihat Apa Itu Geocode. Untuk mekanisme longitude dan latitude di balik setiap respons koordinat, lihat Longitude vs Latitude.

Pertanyaan yang Sering Diajukan

Apa format kode pos Eropa?

Tidak ada satu format kode pos Eropa yang universal. Setiap negara mendefinisikannya sendiri. Sebagian besar menggunakan kode numerik dengan panjang tetap (5 digit di Jerman, Prancis, Italia, Spanyol; 4 digit di Belgia, Hungaria, Austria, Swiss), tetapi beberapa menggunakan kode alfanumerik (Belanda menggunakan 4 digit plus 2 huruf, Inggris menggunakan sistem alfanumerik dua bagian yang kompleks, Irlandia menggunakan Eircode dengan 7 karakter alfanumerik). Validator alamat yang berfungsi harus menyimpan pola per negara untuk EU-27 plus negara-negara Eropa non-EU utama.

Apakah kode pos Jerman (Postleitzahl) sama dengan kode pos Polandia?

Keduanya terdiri dari lima karakter tetapi strukturnya berbeda. Jerman menggunakan 5 digit berurutan (misalnya 10115). Polandia menggunakan 2 digit, tanda hubung, lalu 3 digit (misalnya 00-001). Untuk penyimpanan, kamu bisa menyimpan bentuk kanonik dengan tanda hubung untuk Polandia dan tanpa untuk Jerman. Untuk pencocokan lintas dataset, normalkan dengan menghapus karakter non-alfanumerik dan terapkan kembali format khusus negara saat ditampilkan.

Bagaimana cara memvalidasi kode pos dari negara EU mana pun?

Pertama identifikasi negara (dari alamat, kode negara ISO 3166-1 alpha-2, atau geolokasi pengguna). Kemudian terapkan pola regex negara tersebut. Validasi yang mengenal negara adalah pola production standar, karena satu regex global akan menolak kode yang valid atau menerima yang jelas tidak valid. MapAtlas Geocoding API mengembalikan kode pos yang dinormalisasi per negara dalam `address_components`-nya, sehingga kamu biasanya membiarkan geocoder melakukan langkah validasi untukmu.

Mengapa sistem kode pos Inggris terlihat begitu berbeda?

Kode pos UK menggunakan sistem alfanumerik hierarkis yang mengkodekan area pos, distrik, sektor, dan unit dalam dua bagian (misalnya SW1A 1AA untuk Istana Buckingham). Ini membawa lebih banyak informasi spasial per kode daripada sebagian besar sistem negara lainnya, itulah mengapa kode pos UK kadang-kadang digunakan sebagai proxy untuk lingkungan atau bahkan jalan tertentu. Sistem ini dirancang pada tahun 1950an dan 1960an dan telah dipasang ke dalam infrastruktur data modern sejak itu.

Merasa ini berguna? Bagikan.

Tentang penulis

Brent van der Heiden

Ditulis oleh

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.

Lihat semua artikel
Kembali ke blog