"Remote work pays less" is the most repeated salary claim on the internet, and the data behind it is usually a single number that averages over a dozen different markets.
We collect published salary ranges from companies' own job board APIs (Greenhouse, Ashby, Lever, Workable) and normalise them to annual USD. The current snapshot has 8,049 postings that actually state a range, from 197 companies. Only postings with a stated range are included — nothing is imputed — and every figure below carries its sample size, because a median over 88 postings is not a median over 5,795.
Snapshot date: 2026-10-26.
The headline number, and why it misleads
| Postings | Median midpoint | p25 | p75 | |
|---|---|---|---|---|
| Remote | 2,254 | $190,781 | $145,317 | $235,250 |
| On-site | 5,795 | $204,000 | $150,000 | $261,250 |
Remote roles are 6.5% below office roles at the median. That is the number most people quote, and it is a blend of functions where remote workers are paid more and functions where they are paid a lot less.
Split by function, the gap inverts
| Role family | Remote n | Remote median | Office n | Office median | Difference |
|---|---|---|---|---|---|
| Security | 100 | $216,902 | 231 | $197,500 | +9.8% |
| Sales | 340 | $175,000 | 899 | $159,950 | +9.4% |
| Product | 166 | $222,465 | 382 | $225,425 | −1.3% |
| Marketing | 137 | $180,000 | 382 | $193,675 | −7.1% |
| Engineering | 561 | $212,000 | 1,640 | $226,000 | −6.2% |
| Support / ops | 385 | $153,318 | 830 | $168,301 | −8.9% |
| Finance / legal | 183 | $181,022 | 548 | $200,975 | −9.9% |
| Data / ML | 88 | $206,000 | 278 | $250,000 | −17.6% |
Two families pay a remote premium: security (+9.8%) and sales (+9.4%). Both are functions where the candidate pool is thin and geography matters least — an enterprise seller or a security engineer can be sourced anywhere, so companies compete on the number rather than the office.
Data and ML shows the steepest discount (−17.6%). Those postings cluster in a few expensive metros, and the remote-labelled version of the same role is often a level below the on-site one. That is not remote work being punished; it is two different levels carrying one label.
The rest of the dataset says the same thing about labels
Two other results from the same snapshot, both of which look like bugs and are not:
- Postings whose title contains "senior" have a lower median ($185,791) than postings with no level word at all ($193,500). Unlabelled titles are full of "Member of Technical Staff" and "Forward Deployed Engineer" at labs where no adjective means a senior band by default.
- Postings that list several cities have a median of $345,000 against $195,000 for single-location postings. Multi-metro listings are a marker of roles the company has struggled to fill, not a flexibility bonus.
How to use this
If you are negotiating, benchmark against your role family, not the headline. "Remote pays 6.5% less" is true of the dataset average and false for security and sales in this snapshot. And ask which level the band was written for — that explains more variance than the remote flag does.
Method, sample sizes and the raw CSV are public:
- Deep dive with the full tables: https://sjdfi0wjvosdju9.github.io/topics/remote-pay.html
- Dataset (CC BY 4.0, no signup): https://sjdfi0wjvosdju9.github.io/salary-data.html
- What changed and when: https://sjdfi0wjvosdju9.github.io/changes.html
If you want a specific cut — a role family, a city, a company — say so in the comments and I will publish it from the next refresh.
Top comments (0)