cityparity

A $225,000 San Francisco salary needs €176,296 in Berlin

By Skyler Bissell · August 28, 2026 · 10 min read

A software engineer earning $225,000 in San Francisco keeps $92,692 a year once tax, rent, healthcare and everything else is paid. To keep the same amount in Berlin, the offer has to be €176,296. That figure is not a conversion of the salary and it is not the salary adjusted by a price index. It is the answer to a different question, worked in the opposite direction, and the method takes about twenty minutes with your own numbers.

The reason people get this wrong is that they start at the top of the payslip. Your salary is the number your employer manages; what you keep is the number your life runs on, and the two are related by a chain of deductions and bills that changes completely when you cross a border. Start at the bottom instead and the answer falls out.

The salary you need in a new city is the gross pay that leaves you the same net cash you have today, after that city's income and payroll taxes and after the cost lines the move changes: housing, childcare, healthcare, transit and everyday spending. Net cash is what remains once all of those are paid. It is the quantity that carries across a border, because it measures your standard of living rather than your contract.

TL;DR

Step one: find what you keep

Take your gross salary and subtract everything, in this order: income tax, payroll or social contributions, rent or mortgage, healthcare, childcare, transit, food, and the discretionary spending you would not give up. Whatever survives is your net cash.

For the San Francisco engineer used throughout this article, a single filer renting one bedroom and putting 10% into retirement, that chain runs from $225,000 of gross through $68,959 of income and payroll tax to $156,041 of take-home. Then $43,307 of rent, $4,220 of healthcare premiums and out-of-pocket costs, $972 of transit, $10,800 of food and $3,750 of discretionary spending come off, along with $300 for a trip home. What is left is $92,692.

That last figure is the one to write down. It is a little over forty percent of the salary, which surprises people the first time they see it laid out, and it is the entire basis of every step that follows.

Step two: re-price the same life over there

Now price the identical life in the destination. Same size of home, same care arrangement, same healthcare cover, same number of trips home, in the destination's currency at the destination's prices.

Two lines do nearly all the work. Housing is the largest single item in most budgets and varies more between cities than anything else. Childcare is the largest item that a country's policy can move, which is why the answer for a household with young children depends so heavily on which country rather than which city. Healthcare tends to change character more than size: it leaves the household budget in most of Europe and reappears inside the payroll deduction, which is why an effective tax rate in Berlin and one in San Francisco are not measuring the same thing.

Here is the whole bridge for that engineer, San Francisco on the left and Berlin at the salary the move requires. Every line comes from the same engine that solved the last row.

Line San Francisco Berlin
Gross salary$225,000€176,296
Income and payroll tax−$68,959−€71,515
Take-home$156,041€104,781
Rent, one bedroom−$43,307−€15,354
Healthcare paid out of pocket−$4,220−€610
Transit−$972−€756
Food−$10,800−€5,539
Discretionary−$3,750−€1,680
One trip home−$300−€850
Net cash$92,692€79,992

cityparity engine figures, 2026, on the published software-engineer scenario: a single filer aged 25 to 34, renting one bedroom, 10% into retirement, one trip home a year. The two net cash figures are the same money at the exchange rate in the current build, which is what the solve enforces. German tax figures rest on the 2026 income tax tariff at § 32a EStG; the US federal schedule comes from the IRS inflation adjustments for tax year 2026 and the state layer from the California Franchise Tax Board rate schedules.

Read the two tax rows and the argument for doing it this way appears on its own. Berlin takes 40.6% of gross against San Francisco's 30.6%, which is ten points worse, and Berlin still wins the comparison because rent falls from $43,307 to €15,354 and healthcare from $4,220 to €610. The tax rate you would have anchored on is the one line that argues the other way.

Step three: the last step is a solve

The last step looks like it should be division. Take the re-priced budget, add the destination's tax, divide by one minus the rate. It is close enough to be tempting and wrong enough to matter, because tax is progressive: the rate that applies to the salary you are solving for depends on the salary you are solving for.

What the engine does instead is search. It tries a gross, computes the full budget at that gross with that country's real brackets and contribution caps, compares the net cash against the target, and moves. The difference between searching and dividing grows with the size of the move, and it is largest exactly where people most want a shortcut: high salaries in countries with steep upper bands, or salaries sitting inside a threshold effect such as the UK personal allowance taper.

The output is one number per destination. The engineer's is €176,296 for Berlin, which converts to $204,282, about nine percent below the San Francisco salary in dollar terms while buying the identical life.

Step four: check it against the local band

The number you now have describes what the move needs. It says nothing whatever about what the destination market pays, and confusing those two is the single most expensive mistake in this whole exercise.

An equivalent salary is computed from your household, your rent tolerance and your habits. It is authoritative about you and silent about the employer. The Berlin pay band for a senior engineering role was set by the Berlin labour market, which has never heard of your San Francisco lease. If the band tops out below your number, the market is telling you the move does not work at your current standard of living, and finding that out before you resign is most of the value of computing it at all.

What the number does buy you is a walk-away line you can hold without flinching. Negotiating a relocation salary covers how to use it in the room, including why you should never mention the calculator.

Three households, one city, three answers

Here is the part that makes the method worth the twenty minutes. These are three real households, all living in San Francisco, all solving for Berlin.

San Francisco household Earns Keeps Berlin needs
One earner, no children, two bedrooms$150,000$31,183€89,711
One software engineer, one bedroom$225,000$92,692€176,296
Two earners, children aged 3 and 6, three bedrooms$280,000$37,256€122,447

cityparity engine figures, 2026, on three published scenarios: base (a single earner, two-bedroom rental, 6% to retirement), software-engineer (a single filer, one-bedroom rental, 10% to retirement) and family (two earners, two children aged 3 and 6, three-bedroom rental, 6% to retirement). Each row is a separate household living in San Francisco, not one household changing shape.

The household of four earns $280,000 in San Francisco, which is more than the engineer's $225,000, and needs a smaller Berlin salary. The reason is in the middle column. The engineer keeps $92,692. The household of four keeps $37,256, because $41,280 of childcare and $77,115 of rent for three bedrooms land on the same budget. Berlin has to reproduce what each of them keeps, so the household with less to reproduce needs less salary.

The single earner on $150,000 is the third case, and it lands lowest of all at €89,711. Order these three by salary and you get one ranking. Order them by what the move requires and you get a different one. That is the whole argument for working backwards, and it is why a rule of thumb like "expect thirty percent less in Europe" gets people into trouble. It describes salaries, and this question is settled by what a salary leaves behind.

The two family lines are also where a country's policy shows up hardest. A San Francisco childcare bill of $41,280 against Berlin's €1,200 on the same household is one of the largest swings our engine produces, and the cross-country picture is at childcare costs by country.

The same engineer, ten cities

Run the engineer's $92,692 target against ten destinations and the spread is wider than the discussion usually allows for.

City Salary needed In US dollars Tax on it
Austin$167,033$167,03322.5%
Seattle$190,008$190,00824.5%
Berlin€176,296$204,28240.6%
Madrid€179,932$208,49540.2%
StockholmSEK 2,067,402$217,62141.4%
Paris€196,767$228,00340.5%
London£172,618$233,90035.7%
Amsterdam€205,922$238,61241.9%
New York$239,962$239,96231.7%
Lisbon€217,038$251,49349.8%

Same household throughout: the published software-engineer scenario, a single filer renting one bedroom with 10% to retirement, measured from San Francisco. The tax column is income and payroll tax as a share of the gross in that row. Cities in countries carrying an open item in our tax-accuracy worklist are left out, which is why Zurich, Copenhagen, Vienna, Warsaw and Seoul do not appear. Inbound tax regimes are switched off, so the Amsterdam row shows the ordinary Dutch schedule.

Five of the ten sit below the San Francisco salary in dollar terms and five sit above it. Lisbon is the row worth staring at: the cheap-city reputation is real for rent and irrelevant for this question, because Portugal takes 49.8% of gross on a salary this size, the steepest cut in the table, and the required gross climbs to $251,493 to compensate. Austin at the other end needs $167,033 and involves no passport at all.

Amsterdam's row carries a caveat worth naming. It is computed on the ordinary Dutch schedule, and an arriving employee who qualifies for the 30% ruling would need considerably less for the years it runs, then more when it stops. Our explainer on the 30% ruling covers the qualifying conditions and the cliff at the end.

The four inputs that move your answer most

If you only change four things from the defaults before trusting a figure, change these.

Children in paid care. The largest lever on the board, and the one where policy differs most between countries. It is the difference between the engineer's answer and the family's in the table above.

Bedrooms, and whether you rent or own. Housing is the biggest line in almost every budget here, and a household willing to take a smaller home abroad than at home needs materially less. Own-versus-rent changes the shape of the line as well as the size, since property tax and maintenance replace rent.

A partner's income. A second salary changes which tax treatment the household falls under, and several countries assess couples jointly, which can make the second income far more valuable than the first. In an expensive childcare market it can also be consumed almost whole by the care bill it makes necessary.

Equity. If a large share of your pay is stock, most of it does not travel with you to a new employer. Our engine treats equity as income at the source city and zero at the destination for that reason, so a package that is half stock produces a very different answer from one that is all salary. What happens to RSUs when you move abroad covers where the tax on unvested grants lands.

FAQ

Should I use my gross salary or my take-home to work this out?

Neither on its own. Gross is the number two countries define differently, and take-home still contains rent, care and healthcare, which are the lines that change most across a border. The figure that carries is net cash: what remains after tax and after the costs the move alters. Two people with identical take-home in the same city can need salaries tens of thousands apart abroad, because one of them is paying for daycare and the other is not.

What if I would move somewhere cheaper within the same country first?

Run that as its own comparison, because domestic moves often beat international ones on this measure and almost nobody checks. The method does not care about borders: it prices the same life in two places and solves for the gross. Within one country the tax layer is largely constant and rent does most of the work, which tends to make the answer arrive faster and be easier to act on.

How far off can this be if my spending is unusual?

The tax, childcare, healthcare and statutory benefit layers come from official schedules and move very little with personal habit. Housing is where a household's own choices dominate, and it is also the largest line, so a person who would take a smaller home abroad than the one priced here will need less than the figure shown. Change the bedroom count and the housing mode first; those two inputs move the answer more than every discretionary category combined.

Does this account for a partner's income or an expat tax regime?

Both, and both change the answer materially. A second income shifts the household into different tax treatment, and several countries assess couples jointly, which can make the second salary far more or far less valuable than the first. An inbound regime such as the Dutch 30% ruling lowers the required gross sharply for the years it runs and raises it again on the day it expires, so a figure computed with the regime on is a temporary answer with an expiry date attached.

Write your own net cash figure on a piece of paper before you look at any offer. It takes one evening, it survives every conversation you are about to have, and it turns a question that feels unanswerable into arithmetic. The concept behind it is set out in the equivalent salary abroad, the contract the offer arrives on is the subject of expat package against local contract, and San Francisco against Berlin runs this corridor for several household shapes. Put your own numbers in and the answer comes back in both currencies.

Sources. US federal income tax schedule: IRS, tax inflation adjustments for tax year 2026. California state schedule: California Franchise Tax Board, 2025 tax rate schedules. German income tax tariff: § 32a EStG, and the 2026 contribution ceilings from the Bundesregierung's Beitragsbemessungsgrenzen. US childcare prices: US Department of Labor Women's Bureau, National Database of Childcare Prices. Housing, healthcare, transit and food figures are computed by cityparity's per-city engine; per-field provenance is in data/_meta.json.

Equivalent salaries solve for equal net cash after tax, housing, childcare, healthcare and the cash value of statutory benefits, and they are the salary an offer has to clear rather than a salary any employer is obliged to pay. See the methodology.