cityparity

Cost of living calculator. Compare quality of life when relocating between two cities.

Two city skylines side by side: modern towers on the left, old-world cathedrals on the right
· Data:

Save the URL (or hit Copy link) to pull this exact scenario up later. No account required.

Equivalence mode · Target salary is solved so target net cash equals source net cash. Answers "what salary would I need in to match my life?" Per-city partner toggles affect the solved number; switch to other tabs for direct apples-to-apples comparison.

Overview. The headline equivalence + non-cash lifestyle deltas (vacation, healthcare, leave) that aren't captured in dollars.

Direct comparison · Each city computed independently, so the two net-cash figures will differ; that's the point.

Take-home. Side-by-side waterfall: gross income → taxes → after-tax → costs → government benefits → net cash.

Direct comparison · Each city scored independently using its own cost structure, so a city with subsidized childcare gets credit for it and a city without doesn't.

Score. A subjective view: you tell the calculator what matters to you (drag the weight sliders), and it gives each city a 0–100 score based on those priorities. Useful if you've internalized that the financial picture is one input among several. Not a defensible single number on its own. Breakdown (line items) and Overview (equivalence salary) are the load-bearing answers. Hover any dimension label for its formula.

Direct comparison · Both columns are real per-city numbers; they don't need to match.

Breakdown. Every line item, side by side. Hover any row label for the formula and data source. Cash flows on top (annual, in each city's local currency); non-cash benefits in the table below.

Corrections? If something looks off, please help us fix it. Click the next to the row below to submit feedback.

Common questions

vs

Answers recompute from the inputs above.

Why we built cityparity

The standard cost-of-living calculator tells you whether a city is cheaper or more expensive than another, based mostly on rent and groceries. That's the easy half of the question. It's almost never what people actually want to know.

The harder half is the social safety net, and nobody's putting it in dollars. US childcare averages around $1,200 a month per kid. In Germany it's capped at a small fraction. US health insurance premiums plus deductibles plus out-of-pocket can exceed $20,000 a year for a family. In most of Europe the equivalent is functionally zero. The US average is 11 paid vacation days; Portugal's statutory minimum is 22. US FMLA gives 12 weeks of unpaid parental leave; Norway gives 49 weeks at full pay. Each of those is real money (or real time, which is also real money) that an ordinary cost-of-living comparison doesn't account for.

cityparity is built around the question that actually matters: "If I take this offer in another country, what salary do I need over there to keep my life roughly the same?" Enter your gross salary, family situation, and the two cities. The tool runs the math (taxes, childcare, healthcare, vacation, parental leave, currency conversion, comp-index adjustment) and returns four views:

How the math works

The headline number comes from a search, not a formula. The tool works out your net cash in the source city (take-home pay minus living costs, plus any government benefits), then finds the gross salary in the target city that produces the same net cash. It does this by bisection: guess a salary, run the full tax-and-cost stack for the target city, see whether the result overshoots or undershoots, and narrow in until the two sides match within a few hundred dollars. Everything is computed in the target city's own currency, so an exchange-rate swing doesn't quietly distort the comparison. We match net cash on purpose, not gross and not a cost-of-living index times salary, because net cash is what actually lands in your account after the country has taken its taxes and handed back its benefits.

Tax calculation uses each country's actual progressive bracket structure plus payroll contributions (Social Security and Medicare in the US, National Insurance in the UK, Trygdeavgift in Norway, Krankenversicherung in Germany, and so on). State and local tax stacks where it applies; flat-tax regimes get a simpler treatment. We don't model itemized deductions or pension contribution quirks beyond the basic retirement contribution percentage. Those move the result a few percent in either direction but don't change the headline answer.

Cost-of-living uses city-median values: rent or own (0–5 bedrooms), monthly grocery and dining baselines scaled by a lifestyle multiplier, transit (car-dependent or transit-only), discretionary spend, travel back to your origin city, and property tax if you own. Childcare uses city-specific monthly daycare and after-school costs scaled by kid ages, with government child allowances subtracted where they exist (Norway, Sweden, Germany, France, and the UK all have meaningful per-child benefits). Healthcare distinguishes universal-coverage countries from US-style premium-plus-deductible systems because the cost variance matters as much as the average. A bad year in the US private system is significantly worse than a bad year on the NHS, Krankenkasse, or Försäkringskassan.

One more honest caveat, on consumption taxes. European city prices already have VAT baked into the sticker price: what you see on a Berlin grocery shelf or an Amsterdam menu is what you pay, tax included. US prices work the other way. The tag says $4.99, then state and local sales tax gets added at the register, anywhere from 0% in Oregon or Delaware to over 9% in parts of California. Our lifestyle spending figures (groceries, dining, discretionary, transit) are calibrated to what residents actually pay each month in each city, not to the sticker price, so the consumption tax is already folded into both sides of the comparison. We just don't break it out as its own line item the way we do for income tax.

Currency conversion is live, fetched from a free exchange-rate API with a 24-hour cache and a hardcoded fallback when the API is unreachable. The rate badge at the top of the calculator shows which mode is active.

What we leave out

Weather, language, cuisine, time zone from family, and visa complexity all matter, sometimes more than the financials. We don't try to price them. Use the tool for the financial picture; use your own judgment for the rest.

RSU income is counted on the source side only. The default assumption is that you'll leave your current employer when you relocate, which means the grant doesn't follow you. If you'll keep the same employer (remote, or a US company's office in the target city), set RSU to $0 on the input or treat the comparison as directional.

A few honest caveats on the numbers themselves. For countries that tax spouses separately (Norway, Sweden, Denmark, Ireland, Finland), the tool currently runs household income through a single progressive ladder, which slightly overstates the bill for two-earner couples; that's on the fix list. Every figure is nominal, in the data's last-updated year, with no inflation adjustment. We don't price one-time moving costs (visas, shipping, the realtor on both ends) because those sit in their own budget, not your monthly run-rate. And accuracy scales with how much you tell us: five inputs gets a directional answer, sixteen or more gets a precise one. The confidence label at the top of the calculator says which you're looking at.

Sources and freshness

Every numeric input has a citation and a last-updated date. Hover any row in the Breakdown view to see them. Tax brackets come from each country's tax authority. Median rents come from local rental indices (Zillow, ImmoScout, Bostadsförmedlingen, and equivalents). Vacation and parental leave figures come from BLS Employee Benefits Surveys for the US and OECD employment data for everywhere else. Childcare costs come from government reports where available, with private compilers used to fill gaps.

We update annually because most of the underlying data refreshes annually. The data badge at the top of the calculator shows the year range across the active comparison. If you see a date more than a year old, treat the result as directional rather than precise.

The why behind the why

The original reason this exists: somebody we knew got an offer in Oslo, a 30% pay cut on paper, and was nervous. Once we did the math properly (accounting for state-covered childcare, healthcare, and parental leave that the US offer wasn't going to match), the Oslo number ended up equivalent or better, depending on the family-size assumption.

If you're looking at a similar decision, this is what the tool is for. It exists because we wanted that math to be transparent, defensible, and not buried behind a premium tier or a signup form. If a number looks wrong, push back via the contact page and we'll take another look.

Helping people find the city that fits the life they want: that's the whole project. Cost-of-living, quality of life, take-home pay, the social safety net, taxes, childcare, healthcare, paid vacation, parental leave, equivalent salary, currency conversion. All of it belongs in the same picture, not scattered across six different tools.

Comparisons people are already running

Most people show up with one specific move in mind, not a browsing mood. Someone sitting on a London offer wants to know whether their New York salary actually holds up once it's run as a software engineer, or stretched across a whole family. A couple weighing Seattle against Oslo usually cares less about the headline number than about what childcare and parental leave do once there are kids in the house. Same question, new cities: San Francisco to Amsterdam, or to Berlin on an engineer's salary.

We've worked dozens of these out ahead of time at a salary typical for each, so you can read the answer first and run your own numbers second. The newest batch opens up five more countries: San Francisco to Zurich, Seattle to Vancouver, New York to Paris, San Francisco to Singapore, and San Francisco to Sydney, next to earlier ones like New York to Berlin and Seattle to Copenhagen. The full set lives on the comparisons page.

And if a recruiter just dangled an expat tax break at you, we worked out what the 30% ruling and its cousins are actually worth before you bank the raise.

And if you've been sizing a move off a cost-of-living index, we took apart what every cost-of-living calculator gets wrong: the five lines a price basket can't see, one of them enough to flip a whole family's move.

For the family version of that math, we added up what it really costs to raise kids in the US vs Europe: daycare after subsidy, family healthcare, and paid leave, about $52,500 a year of swing for a New York household running the Berlin numbers.

And because time off never makes it onto an offer letter, we priced what five weeks of vacation and paid parental leave are actually worth at a real salary. The leave line alone can run six figures for one child.

The tax side has its own hub: how countries actually tax your salary, the same $150,000 run through fifteen real systems. And for the destination-level view there are country money guides, computed at real rates: the Netherlands, Germany, Portugal, Canada and more.

Frequently asked questions

How does cityparity calculate cost of living?

It compares two cities on take-home pay after taxes, then layers in the costs and benefits a normal calculator ignores: childcare (net of government allowances), healthcare, housing, transit, food, and travel home. The headline is the salary you would need in the target city to match your current net cash, not a percentage index.

Does it include taxes, childcare, and healthcare?

Yes. Income tax uses each country's actual progressive brackets plus payroll contributions. Childcare uses city daycare costs minus per-child government benefits. Healthcare separates universal-coverage systems from US-style premium-plus-deductible plans. Those three are usually what flip a comparison.

How current is the data?

Every figure carries a source and a last-updated date, visible on hover in the Breakdown view. We refresh annually because most of the underlying data (tax brackets, median rents, benefit levels) changes on that schedule. Currency rates are live, with a 24-hour cache.

Is cityparity free? Does it track me?

Free, no signup, no premium tier. It does not track you: no analytics cookies, no account, no email capture. The only things stored in your browser are a 24-hour currency-rate cache and your recently viewed cities — never your salary or anything you type.

From the blog

Longer reads on the money math behind the move.