Net pay minus the cost of the same life tells you what you actually keep. Set where you live, a salary and a lifestyle once, see it land in every city at the same time. Pay benchmarks assume a senior software engineer.
Per year, in EUR. Converted to each city's local currency at fixed FX.
A 3-room flat alone, room to breathe. The baseline.
€/month at Munich prices.
“Split” = share a 3-room flat and pay half the rent. Otherwise you pay full solo rent, so cities compare fairly.
Numbeo city-centre rents, mid-2026 (midpoint of 1-bed and 3-bed). Editable. The softest numbers in the model, overwrite with a real listing when a move gets concrete.
Roughly halves tax on cash salary for the first 7 years.
30% of gross tax-free for the first 5 years.
Flat 24% up to €600k for the first 6 years.
Halves taxable income for the first 5 years.
Flat 20% IRS for the first 10 years.
The same salary in every city, ranked by what a fixed (or remote) pay packet actually keeps after tax and cost of living.
Earning €8,333/mo saves +€636 per month in Munich. On the same salary, everywhere else:
“Kept” = net income minus the cost of the same life. The coloured dot shows where this salary sits in each city's local software-engineer pay distribution, a green P30 is a routine offer, an amber P97 is the top of the market (often remote/big-tech only). All figures in EUR at fixed FX; 2026 rules, single and childless.
Keeping the most is only half the story, the salary has to exist in that city's market. Here's where €100,000 lands in each city's local senior software-engineer pay distribution, plus what remote-first companies pay anywhere.
A remote salary is taxed where you live, so a job that's off the top of the Athens market is perfectly normal for a remote-first company, and you can still live in the lowest-tax, lowest-cost city. That's the real arbitrage the ranking above measures: remote pay, cheap home.
Illustrative only. These firms don't hire in every role, country or timezone, eligibility (work authorisation, EOR coverage, seniority) is decided case by case, and the true size of the remote-EU market is itself unmeasured; it's another problem the salary sites only partly solve. Bands are indicative senior ranges from public postings and levels.fyi, not offers.
Basel: Pharma-dominated (Roche, Novartis) with a compressed top and no FAANG tail; senior TC tops ~CHF 220–280k.
Zurich: The highest pay in Europe, with a wide FAANG tail, Meta/Google seniors reach CHF 350–500k+.
London: A split top end: hedge-fund/quant (Citadel ~£300k) and US big tech (Meta ~£244k), reaching £300–450k+.
Copenhagen: Meta Copenhagen (~€256k) is the outlier; Microsoft/Unity/local unicorns fill €160–200k.
Oslo: Flat and compressed by Nordic norms; few RSU-heavy US firms, so a short top tail despite a high median.
Dublin: The richest genuinely-local top tier on the continent, Google/Meta/Stripe seniors hit €180–280k+.
Munich: Germany's top hub, the ceiling is big tech (Apple, Google, Nvidia) at €160–220k+, above a €90–120k corporate tier.
Berlin: US big tech (Google, Amazon, Nvidia) and fintech (Trade Republic, N26) at €150–215k+; scale-up equity vs Munich's corporate cash.
Amsterdam: Google, Uber, Databricks, Optiver and Booking reach €200–250k+; the 30% ruling lifts net pay for eligible expats.
Helsinki: Gaming and scale-ups push the top, Supercell, Wolt, Unity; equity drives the p90+.
Vienna: A flat local base with RSU-heavy outliers (Dynatrace, Bitpanda, big-tech) lifting the p90.
Dubai: Pay is tax-free, so real value sits above the nominal EUR; the top is finance + regional HQs (Amazon, Careem, Google, Revolut).
Stockholm: Spotify/Klarna/King seniors SEK 1.2M+; gross runs low in EUR terms, partly offset by benefits in a high-tax, high-service model.
Paris: US big-tech offices set the ceiling (Meta ~€238k, Google €156–318k); local firms like Criteo sit far below.
Tallinn: Compressed and equity-heavy, Wise, Bolt, Pipedrive plus Twilio/Microsoft; a short right tail.
Prague: A local CZK market topped by big-tech and JetBrains; a modest tail vs Western Europe.
Barcelona: Slightly below Madrid; the top is Amazon, Meta, Criteo, King/Skyscanner.
Madrid: A two-track market, local mid-tier €60–90k, but Meta/Google/AWS offices reach €120–330k; the Beckham law flat-24% helps expat hires.
Lisbon: Headline inflated by remote-for-foreign contracts (Cloudflare/Google/Amazon hubs); local employers pay materially less.
Warsaw: Local contracts top ~€90–100k, but US-tech offices and USD B2B/IP-Box contracting (taxed ~8–12%) push real take-home far higher.
Milan: A thin top, a few US firms (Meta €232k, CyberArk, Apple) tower over a ~€55–80k local market.
Bucharest: A very wide spread, local pay is low, but foreign-remote and UiPath/big-tech pull the top up sharply.
Athens: Six-figure pay here is remote-EU / US contracting or a few multinational offices (Meta, CyberArk); local employers top out ~€70–85k.
A hard, unsolved problem.There is no open dataset of what roles actually pay across a whole city's market. Even levels.fyi and techpays are attemptsat it, and they skew toward big-tech self-reporters, so their median lands around the true market's ~P70–P80. We de-bias by triangulating official statistics and broad industry surveys for the median and lower half, and using levels.fyi/techpays only to place the big-tech tail (P90+). Treat these as a calibrated sense of scale, not a quote, the tax engines are validated to the euro; these are not.
Official statistics: BFS/swissICT (CH), Destatis / Entgeltatlas (DE), ONS ASHE (UK), CSO (IE), CBS (NL), INSEE / APEC (FR), INE (ES), ISTAT (IT), Statistik Austria (AT), SCB (SE), SSB (NO), DST (DK), Tilastokeskus (FI), INS (RO), GUS (PL), ČSÚ (CZ), ELSTAT (GR).
Union & industry surveys: swissICT / swissdevjobs, Sveriges Ingenjörer, Tekna/NITO, IDA/PROSA, TEK, Stack Overflow, Honeypot, getManfred, No Fluff Jobs, Randstad, and recruiter guides (Michael Page, Robert Half, Hays, Morgan McKinley).
Big-tech tail (P90+ only): levels.fyi and techpays company/city medians, plus public postings for the remote-first bands.
Invest what you save each year and let it compound, here's the wealth you'd build over your horizon in each city, on the same salary and lifestyle.
Per year, in EUR.
Greek 5C & Danish expat schemes expire after year 7.
Annual raise, compounded each year.
| City | Wealth at horizon |
|---|---|
| Athens | €780k |
| Dubai | €770k |
| Tallinn | €726k |
| Prague | €598k |
| Bucharest | €541k |
| Lisbon | €474k |
| Barcelona | €470k |
| Madrid | €466k |
| Warsaw | €417k |
| Vienna | €358k |
| Milan | €323k |
| Helsinki | €313k |
| Oslo | €294k |
| Stockholm | €286k |
| Basel | €281k |
| Paris | €270k |
| Berlin | €263k |
| Copenhagen | €235k |
| Amsterdam | €217k |
| Munich | €198k |
| Zurich | €162k |
| Dublin | €131k |
| London | €104k |
Wealth = each year's savings surplus invested and compounded at your return rate, with salary growing over the horizon. It's an illustration of the same-lifestyle savings gap compounding, not a forecast; markets vary and nothing here is investment advice.
Each city's yearly cost of the same life is:
cost /yr = rent × 12
+ non-housing spend × 12 (local part scaled by the city's goods index)
+ health premium × 12 (Switzerland only)You enter spend once, in your home city's prices. A share of it is location-independent (flights, subscriptions, electronics) and never scaled; the rest is local consumption, rebased to each city by the ratio of their Numbeo goods indices. So if you live in Zurich, a cheaper city divides your basket down; if you live in Athens, a pricier city scales it up, nothing is anchored to Munich. Swiss health premiums sit here rather than in the tax wedge, because Swiss insurance is paid out of pocket while German/Greek/UK health is already inside payroll deductions.
Rents are Numbeo city-centre defaults (mid-2026, the midpoint of 1-bed and 3-bed centre rents), the softest input in the model, editable per city. Everyone pays full solo rent (no splits) so cities compare fairly.
Each country's 2026 rules are recreated in code and pinned against an authoritative online calculator. Δ is the engine minus the reference, green means within tolerance.
Germany · brutto-netto-rechner.info (2026, StKl I, GKV 2.9%)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €60,000 | 37,561.08 | 37,561 | −0.08 |
| €100,000 | 58,030.16 | 58,030.01 | −0.15 |
| €130,000 | 73,843.80 | 73,843.76 | −0.04 |
| €200,000 | 112,695.88 | 112,695.86 | −0.02 |
| €283,000 | 158,919.72 | 158,918.56 | −1.16 |
UK · listentotaxman 2026/27 (statute-exact PA)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| £60,000 | 45,357.40 | 45,357.4 | +0.00 |
| £100,000 | 68,557.40 | 68,557.4 | +0.00 |
| £130,000 | 80,686.40 | 80,686.4 | +0.00 |
| £150,000 | 91,286.40 | 91,286.4 | +0.00 |
| £250,000 | 144,286.40 | 144,286.4 | +0.00 |
| £400,000 | 223,786.40 | 223,786.4 | +0.00 |
Greece · aftertax.gr algorithm, official 2026 EFKA cap (employee ×14)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €30,000 | 22,029.22 | 22,029.08 | −0.14 |
| €30,000 +5C | 25,247.10 | 25,247.21 | +0.11 |
| €60,000 | 38,407.00 | 38,406.58 | −0.42 |
| €60,000 +5C | 48,018.22 | 48,018.08 | −0.14 |
| €100,000 | 58,213.00 | 58,212.8 | −0.20 |
| €100,000 +5C | 76,587.70 | 76,587.85 | +0.15 |
Zurich · official ESTV calculator (2026, city of Zurich, single, age 35)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| CHF 120,000 | 91,256.00 | 91,256 | +0.00 |
| CHF 200,000 | 141,097.00 | 141,097 | +0.00 |
| CHF 300,000 | 197,595.00 | 197,595 | +0.00 |
| CHF 418,000 | 261,122.00 | 261,122 | +0.00 |
Ireland · EY Budget-2026 convention (composite PRSI 4.2375%)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €60,000 | 44,924.68 | 44,924.68 | +0.00 |
| €100,000 | 64,531.88 | 64,531.88 | +0.00 |
| €150,000 | 88,413.13 | 88,413.13 | +0.00 |
| €250,000 | 136,175.63 | 136,175.63 | +0.00 |
| €400,000 | 207,819.38 | 207,819.38 | +0.00 |
Basel · official ESTV calculator (2026, city of Basel, single, age 35)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| CHF 120,000 | 88,015.00 | 88,015 | +0.00 |
| CHF 200,000 | 138,428.00 | 138,428 | +0.00 |
| CHF 300,000 | 196,744.00 | 196,744 | +0.00 |
| CHF 418,000 | 260,488.00 | 260,488 | +0.00 |
Copenhagen · tax.dk 2026 cross-validated vs nordisketax.net (ordinary scheme)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| DKK 450,000 | 300,741.00 | 300,740.5 | −0.50 |
| DKK 750,000 | 476,762.00 | 476,762.36 | +0.36 |
| DKK 1,100,000 | 643,067.00 | 643,066.86 | −0.14 |
| DKK 1,800,000 | 962,491.00 | 962,490.86 | −0.14 |
| DKK 3,000,000 | 1,501,710.00 | 1,501,709.86 | −0.14 |
Netherlands · Belastingdienst 2026 formulas (Box 1 + heffingskortingen)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €40,000 | 33,714.00 | 33,714.11 | +0.11 |
| €60,000 | 44,094.00 | 44,093.53 | −0.47 |
| €100,000 | 62,711.00 | 62,710.89 | −0.11 |
| €150,000 | 85,818.00 | 85,817.85 | −0.15 |
| €250,000 | 136,318.00 | 136,317.85 | −0.15 |
Spain · taxcalculatorspain.com Madrid 2026 (independently cross-checked)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €40,000 | 29,662.00 | 30,161.12 | +499.12 |
| €60,000 | 41,584.00 | 42,149 | +565.00 |
| €100,000 | 64,037.00 | 64,559.41 | +522.41 |
| €150,000 | 91,537.00 | 92,059.41 | +522.41 |
| €250,000 | 146,537.00 | 147,059.41 | +522.41 |
Poland · policzmnie.pl 2026 (umowa o pracę; annual ZUS cap applied)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| 120,000 zł | 85,763.00 | 85,762.92 | −0.08 |
| 200,000 zł | 130,382.00 | 130,382.2 | +0.20 |
| 300,000 zł | 182,449.00 | 182,449.25 | +0.25 |
| 500,000 zł | 297,558.00 | 297,558.25 | +0.25 |
Sweden · ekonomidata.nu Stockholm 2026 (core model, before minor fees)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| 600,000 kr | 461,640.00 | 461,899.08 | +259.08 |
| 900,000 kr | 621,888.00 | 622,318.2 | +430.20 |
| 1,200,000 kr | 770,244.00 | 770,668.2 | +424.20 |
| 1,800,000 kr | 1,066,944.00 | 1,067,368.2 | +424.20 |
France · URSSAF-model calculators, Paris cadre single 2026 (excl. mutuelle)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €45,000 | 32,546.00 | 32,545.92 | −0.08 |
| €70,000 | 46,915.00 | 46,914.92 | −0.08 |
| €100,000 | 64,245.00 | 64,244.81 | −0.19 |
| €150,000 | 90,157.00 | 90,157.35 | +0.35 |
| €250,000 | 136,769.00 | 136,761.36 | −7.64 |
Italy · stipendionettocalcolatore.it Milan/Lombardy 2026
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €45,000 | 30,051.00 | 30,034.26 | −16.74 |
| €70,000 | 42,446.00 | 42,446.61 | +0.61 |
| €100,000 | 57,122.00 | 57,122.46 | +0.46 |
| €150,000 | 83,120.00 | 83,119.98 | −0.02 |
| €250,000 | 137,590.00 | 137,589.98 | −0.02 |
Portugal · Doutor Finanças Lisbon 2026 (ordinary regime)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €40,000 | 27,451.00 | 27,450.74 | −0.26 |
| €60,000 | 38,025.00 | 38,025.32 | +0.32 |
| €100,000 | 57,442.00 | 57,442.27 | +0.27 |
| €150,000 | 79,470.00 | 79,469.77 | −0.23 |
Austria · BMF/AK Vienna 2026 (14-payment convention)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €45,000 | 32,505.00 | 32,505.14 | +0.14 |
| €70,000 | 46,286.00 | 46,286.22 | +0.22 |
| €100,000 | 62,568.00 | 62,569.1 | +1.10 |
| €150,000 | 91,399.00 | 91,399.55 | +0.55 |
| €250,000 | 146,062.00 | 145,932.1 | −129.90 |
Estonia · EMTA / palgakalkulaator 2026 (22% flat, €8,400 exemption)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €40,000 | 31,924.80 | 31,924.8 | +0.00 |
| €70,000 | 54,482.40 | 54,482.4 | +0.00 |
| €100,000 | 77,040.00 | 77,040 | +0.00 |
| €150,000 | 114,636.00 | 114,636 | +0.00 |
Czechia · Výpočet.cz Prague 2026
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| 900,000 Kč | 691,440.00 | 691,440 | +0.00 |
| 1,500,000 Kč | 1,131,840.00 | 1,131,840 | +0.00 |
| 2,400,000 Kč | 1,744,985.00 | 1,744,985.42 | +0.42 |
Romania · eghiseul.ro Bucharest 2026 (standard employment)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| 200,000 lei | 117,000.00 | 117,000 | +0.00 |
| 350,000 lei | 204,750.00 | 204,750 | +0.00 |
| 600,000 lei | 351,000.00 | 351,000 | +0.00 |
Norway · Skatteetaten Oslo 2026 (class 1)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| 700,000 kr | 522,217.00 | 522,217.4 | +0.40 |
| 1,100,000 kr | 747,730.00 | 747,730.35 | +0.35 |
| 1,600,000 kr | 1,014,402.00 | 1,014,402.35 | +0.35 |
| 2,200,000 kr | 1,330,002.00 | 1,330,002.35 | +0.35 |
Finland · Veronmaksajat / Arvento Helsinki 2026 (no church, cross-checked)
| Gross /yr | Reference net | Engine net | Δ |
|---|---|---|---|
| €50,000 | 35,800.00 | 35,392.13 | −407.87 |
| €80,000 | 50,600.00 | 50,343.51 | −256.49 |
| €120,000 | 69,900.00 | 69,864.28 | −35.72 |
| €180,000 | 99,200.00 | 100,471.31 | +1271.31 |
Assumptions throughout: single, childless, no church tax, standard employee unless a city option says otherwise. Swiss figures use the ESTV statistical model and match the official calculator to the franc; Danish figures match tax.dk to the krone. These are estimates for comparison, not tax advice.