A salary number on its own tells you almost nothing. Eighty thousand dollars a year sounds identical whether the job is in San Francisco or in a mid-size metro in the middle of the country - but the life it buys is not remotely the same. The tool that makes those two numbers comparable is a cost-of-living index, and understanding it is the difference between a job offer that looks good and one that actually is.

What a cost-of-living index measures

A cost-of-living index expresses how expensive it is to live in one place relative to a baseline, usually the national average set at 100. A metro with an index of 130 is roughly 30% more expensive than the typical US metro; a metro at 88 is about 12% cheaper. The index bundles together the things households actually spend on - housing above all, then goods, services, and utilities - into a single comparable figure.

Housing is the dominant driver. It is the largest line in most household budgets and it varies far more between cities than groceries or gas do. That is why two metros with similar restaurant prices can still have wildly different overall costs: one has rents and home prices double the other's. When you see a big gap in cost-of-living indices, you are usually looking at a gap in housing.

Why the same salary buys different lives

Here is the practical version. Take that $80,000 salary. In a metro with a cost index of 100, it is worth exactly $80,000 in purchasing power. Move it to a metro with an index of 140, and its real value drops to about $57,000 - the paycheck is the same, but rent, housing, and daily costs eat far more of it. Move it instead to a metro at 85, and it stretches to roughly $94,000 in equivalent buying power.

This is why a raise that comes with a relocation can quietly be a pay cut, and why a lower nominal salary in an affordable metro can leave you better off than a higher one in an expensive city. The headline number moved in the wrong direction relative to the cost of living.

How to compare two salaries fairly

To compare pay across cities, convert each salary into the same terms:

  1. Find each metro's cost-of-living index (US average = 100).
  2. Divide the salary by the index, then multiply by 100. That gives its value in average-cost-of-living dollars.
  3. Compare those adjusted figures, not the raw salaries.

A salary of $95,000 in a metro at 135 works out to about $70,000 in real terms. A salary of $78,000 in a metro at 92 works out to about $85,000. The second offer wins, even though its sticker number is lower - once cost of living is in the picture.

Where the numbers come from

Reliable comparisons need reliable inputs. Salary figures on this site come from the U.S. Bureau of Labor Statistics, which publishes detailed wage data by occupation and metro area. Cost-of- living inputs come from U.S. Census Bureau data on local rents, home values, and incomes. These are official, methodologically consistent sources - which matters, because a comparison is only as trustworthy as the data underneath it. You can read exactly how we combine them on our methodology page.

The takeaway

Never evaluate a salary in isolation. A number is only meaningful next to the cost of the place you would earn it in. Before you accept an offer, take a raise tied to a move, or decide where to relocate, translate the pay into cost-adjusted terms. The "worth after cost of living" figure is the one that tells you whether you are actually coming out ahead.