Skip to main content
Language
Postcode and municipality

Read split postcodes correctly: taxes, population and estimates

When a single postcode overlaps multiple municipalities, you can't just take one tax rate or population number as the absolute truth. You have to look at the split.
Updated:
5 May 2026
Read time:
4 min
Share:XFacebookLinkedIn
Swiss city or alpine landscape used as the cover image

What a split postcode actually means

Take a look at 1008 Prilly, 1040 Echallens, or 6052 Hergiswil NW. Each one splits across municipal borders in a different way. That's why you can't just glance at the tax rate or population count—you have to read them alongside the estimate flags.

This isn't a data error. It just means the postal delivery area bleeds into neighboring municipalities. That works fine for delivering a letter, but it's terrible for figuring out your exact tax bill.

Street map of Bern with streets and districts
Source: Wikimedia Commons, File:Bern_Switzerland_street_map.svg.

Maps make this obvious. Once you see the borders overlapping, you realize you aren't looking at a single town, but a blended average of several areas.

Taxes belong to the municipality, not the postcode

The tax rate is tied to the municipality, not the four-digit number on your mail. 1008 Prilly is the perfect warning sign: it splits right down the middle between Prilly and Jouxtens-Mézery. So the tax figure you see is a blended average, not a hard fact for everyone living there.

Yellow Swiss postbox
Source: Wikimedia Commons, File:Swiss_mailbox_die_Post.jpg.

1040 Echallens is similarly messy. It splits almost evenly across three different municipalities. The overall number gives you a sense of whether the area is cheap or expensive, but it won't tell you what you'll actually pay. 6052 Hergiswil NW is much cleaner—99.8% Hergiswil and a tiny 0.2% sliver of Horw. It behaves like a single municipality most of the time, but technically, it's still split.

Population counts get messy too

You have to treat population numbers for split postcodes the same way—as rough estimates for an area, not an exact headcount. 1148 Chavannes-le-Veyron looks like a single town, but it actually bleeds across several borders, meaning its population of 2,438 is an estimate.

1033 Cheseaux-sur-Lausanne proves why even small overlaps matter. It's overwhelmingly Cheseaux-sur-Lausanne, but bits of Crissier and Lausanne slip in. The population figure of 5,063 is an approximation based on that exact mix. Whenever you see demographics.isEstimate set to true, you know you're looking at a blended number.

Estimates are for orientation, not precision

When tax.isEstimate and demographics.isEstimate are true, use the page to get your bearings. It tells you if a postcode area generally leans cheap, expensive, densely populated, or rural. Just don't mistake it for a single administrative district.

If you want a clean reading, look at something like 3011 Bern, which sits neatly inside one municipality. Split postcodes are the opposite. The data is still incredibly useful, but you have to understand the mix before you trust the numbers.

Concrete split-postcode examples on PLZHub

Horizontal scroll to compare values

PostcodeSplitTax / populationWhat it tells you
1008 PrillyPrilly 50%, Jouxtens-Mézery 50%tax 160; population 14,384; `tax.isEstimate` and `demographics.isEstimate` are both trueA straight 50/50 split. Don't treat this postcode as a single municipality.
1040 EchallensEchallens 33.333%, Villars-le-Terroir 33.333%, Saint-Barthélemy (VD) 33.333%tax 163; population 8,934; `tax.isEstimate` and `demographics.isEstimate` are both trueA three-way tie. Good for getting a general feel, but useless if you need a precise answer.
1148 Chavannes-le-VeyronChavannes-le-Veyron 97.553%, a second share of 1.654%, and several 0.099% fringe sharestax 171; population 2,438; `tax.isEstimate` and `demographics.isEstimate` are both trueMostly one municipality, but those tiny fringe shares mean it's still technically mixed.
6052 Hergiswil NWHergiswil 99.801%, Horw 0.199%tax 94; population 6,212; `tax.isEstimate` and `demographics.isEstimate` are both trueAlmost entirely Hergiswil, but that 0.2% piece of Horw keeps it in the split category.
1033 Cheseaux-sur-LausanneCheseaux-sur-Lausanne 98.385%, Crissier 0.907%, Lausanne 0.707%tax 176; population 5,063; `tax.isEstimate` and `demographics.isEstimate` are both trueEven a 1% overlap is enough to ruin a clean single-municipality reading.

How to read the article

  • Look at the municipal split first, before the postcode name.
  • Treat 50/50 and three-way splits as messy, even if one name dominates the map.
  • Treat tax and population figures as rough guides when the estimate flags are true.
  • Go to official municipal sources if you need legally binding numbers.
Blog

Selected articles from the PLZHub blog