1001Ferramentas
🇩🇪Validators

Germany Postal Validator

Validate German PLZ (5 digits).

German postal code (Postleitzahl, PLZ): five digits since reunification

The German Postleitzahl (PLZ) is a 5-digit number. The current system launched on 1 July 1993, when Deutsche Post merged the separate 4-digit West German (W-) and East German (O-) systems after reunification into a single 5-digit national scheme — a famous migration that retired around 40,000 old codes. The validator on this page checks the structural format — exactly five digits — accepting 10115 (Berlin-Mitte) or 80331 (Munich).

There is no check digit: a PLZ is valid if it exists in Deutsche Post's official directory. The country is divided into 10 Leitzonen by the first digit, then progressively narrowed — the five digits together resolve to a town, a city district, or even a single large recipient (a Großempfänger such as a bank, ministry or PO box block gets its own PLZ).

Reading the first digits

  • Digit 1 (Leitzone 0–9): e.g. 0 Saxony/Leipzig, 1 Berlin/Brandenburg, 2 Hamburg/north, 5 Cologne/Bonn, 8 Munich/Bavaria-south.
  • Digits 1–2 (Leitregion): the routing region.
  • Digits 1–3 (Leitbereich): the delivery area.
  • Digits 4–5: the specific town or district / large recipient.

Where it shows up

  • Address forms: PLZ + Ort (city) is the standard German address line; many forms auto-fill the city from the PLZ.
  • Logistics: DHL, Hermes, DPD and Deutsche Post route on the PLZ; it also drives parcel-shop and Packstation lookup.
  • Tax & registration: Finanzamt assignment and Bürgeramt registration (Anmeldung) use it.
  • Mock data / testing: generating valid-format codes for fixtures and address QA.

Gotchas

  • Leading zero: eastern codes start with 0 (e.g. 01067 Dresden) — store and validate as a string, never as an integer that drops the zero.
  • One city, many PLZ: Berlin alone has hundreds of codes; a PLZ maps to a district, not a whole city.
  • Großempfänger codes: some PLZ belong to a single institution, so the last digits aren't a geographic block.
  • Format-valid ≠ real: 00000 passes the regex but isn't a real PLZ; the lowest real codes start around 01067.

FAQ

Why did Germany switch to 5 digits in 1993? Reunification left two overlapping 4-digit systems; a unified 5-digit scheme was needed to route mail across the whole country without ambiguity.

Does a PLZ always map to one city? No — the relationship is many-to-many at the edges: big cities have many PLZ, and some rural PLZ cover several villages.

Is there a check digit? No. Validity is by lookup against Deutsche Post's directory, not arithmetic.

Related Tools