Job Offer Comparison Calculator

Compare up to three offers on total compensation, not just base salary. Every component gets its own row and its own difference, so you can see exactly which line decides it — and equity that might be worth nothing is kept out of the headline.

Offer 1
$
%
days
$
yrs
Only public-company RSUs count toward the headline total. Everything else is shown separately, because it may be worth nothing.
$
$
$
$
Offer 2
$
%
days
$
yrs
Only public-company RSUs count toward the headline total. Everything else is shown separately, because it may be worth nothing.
$
$
$
$
Offer 3
$
%
days
$
yrs
Only public-company RSUs count toward the headline total. Everything else is shown separately, because it may be worth nothing.
$
$
$
$

Results refresh when you leave a field, or press Compare offers at any time.

Everything runs in your browser. Your offers are saved only in this browser’s local storage so you can come back to them, and nothing is uploaded or shared.
What this is: a gross, pre-tax comparison of what each offer pays you in a year. What it is not: take-home pay, financial advice, or a prediction of what equity will be worth. It does not model income tax, payroll tax, cost of living, relocation, vesting cliffs, or the chance that a bonus is not paid.

Assumptions. All figures are gross annual dollars, before any tax or withholding. Paid time off is priced at base salary ÷ 260 per day — 260 is a 52-week year at five weekdays a week. That is an arithmetic convention, not a legal figure; employers using 261 days or 2,080 hours ÷ 8 land within about half a percent. Target bonus is treated as if it pays out in full, which is the best case. Signing bonus is divided evenly across the number of years you choose. Public-company RSUs are valued at the grant value you enter; options are valued at intrinsic value only, meaning (share price − strike) × options, floored at zero.

How the total is calculated

Every figure is annual, gross, and in dollars. Nothing here is taxed. The whole comparison is one sum:

base salary + (target bonus % × base) + (signing bonus ÷ years you spread it over) + annual equity + employer 401(k) match + employer health contribution + other stipends − your insurance premiums

Annual equity is the grant value divided by the vesting period for RSUs, and (share price − strike) × options ÷ vesting period for stock options, floored at zero. The floor matters: an option whose strike is above the current share price is not worth a negative amount, it is worth nothing.

Three of those lines are the ones people skip. The employer 401(k) match is cash the employer pays into your retirement account; a match worth 3% of a $150,000 base is $4,500 a year that simply does not exist at an employer with no match. The employer health contribution is what the company pays toward your premium — find it on the benefits summary as the difference between the total premium and your payroll deduction, because a generous plan and a thin one are real money that never appears in the salary line. And your own premiums come straight back off, since that money never reaches you.

A day of PTO is priced at base salary ÷ 260, but it is not added to the total: for a salaried employee those days are already paid out of base salary, so adding them counts the same money twice. The tool shows the value in a clearly excluded part of the table, so you can weigh five extra days against a few thousand dollars.

A worked example where the bigger salary loses

Press Load the worked example above and you get these two offers. Acme is the current job: $150,000 base, a 10% target bonus ($15,000), $80,000 of public-company RSUs vesting over four years ($20,000 a year), a 401(k) match worth $4,500, $9,600 of employer health contribution, $600 of stipends, and $2,400 of premiums you pay. That totals $197,300 a year.

Northwind is the new offer, and it looks better: $170,000 base — $20,000 more — plus a $20,000 signing bonus, $14,400 of employer health contribution, no premiums, and $1,200 of stipends. But there is no bonus, no 401(k) match, and no public RSUs. Spread the signing bonus over two years and Northwind totals $195,600. It pays $1,700 a year less despite the higher salary, and in year three, when the signing bonus runs out, it pays $185,600 — $11,700 behind.

Northwind also offers 40,000 options at a $1.10 strike against a $3.60 409A price, which looks like $25,000 a year. That sits in its own band, because exercising all 40,000 options costs $44,000 of your own cash, the shares cannot be sold, and the whole amount can go to zero. If it pays out in full, Northwind wins by $23,300 a year. If it does not, Acme wins by $1,700. That single unknowable is the entire decision — and it is exactly what a calculator that folds options into one big number hides.

Where offer comparisons go wrong

Comparing base to base. Base salary is one line out of eight; the other seven are where two offers usually differ.

Treating a signing bonus as recurring. Some calculators add the whole signing bonus to year-one compensation and leave it there. It is one payment, usually repayable in full if you leave inside twelve months, and it is not part of your run rate.

Valuing private equity at face value. A 409A appraisal is not a bid. Liquidation preferences can pay investors before common shareholders see anything, later funding rounds dilute you, and a four-year grant with a one-year cliff is worth exactly zero if you leave in month eleven.

Adding PTO to the total. Double-counting money already inside base salary.

Applying an average tax rate. A calculator that shows “estimated take-home” from a single national rate is inventing a number. Two offers in different states, with different bonus structures and different pre-tax deductions, do not share a tax rate.

Letting a blank field silently mean zero. If you look up one employer’s health contribution and not the other’s, the gap on that line is not real. This tool says so out loud when it spots it.

Edge cases it handles

  • Underwater options. If the strike is at or above the share price, the value is zero, not a negative number, and the tool says why.
  • Pasted formatting. “$150,000” pastes cleanly. A plain browser number field discards it and reports an empty value, which is how a pasted salary quietly becomes zero elsewhere. Anything genuinely unreadable produces a message here, not a zero.
  • Typos and impossible values. Negative salaries, a bonus entered as dollars in the percent box, a vesting period of zero, 4,000 days of PTO — each is caught, capped or rejected, and explained. There is no path that displays NaN or an infinite total.
  • Life after the signing bonus. A separate row shows what each offer pays once the one-time money stops, which is the number you live on.

What this deliberately does not model

No tax of any kind and no take-home estimate. No cost of living, relocation, or commute. No vesting cliffs, and no vesting schedule on the 401(k) match. No equity refreshers, ESPP discount, or pension. No probability that a target bonus pays — it is assumed to pay in full, the best case. And nothing about job security, the manager, or what the role does for your career, which is usually the part that matters most.

One number worth knowing that this tool does not apply: a signing bonus is supplemental wages, and employers commonly withhold federal tax on it at a flat 22% for supplemental payments up to $1 million rather than at your normal rate — see IRS Publication 15 (Circular E) , checked against the 2026 edition. That is withholding, not your final tax, and it is why the deposit looks smaller than the headline. Every figure in the calculator is gross, before any withholding.

Next: the 401(k) match calculator shows how much of a match you give up by under-contributing, the salary to hourly calculator converts the winner into a per-hour figure, and the pay raise calculator puts a counter in dollars and percent.

Job offer comparison FAQ

Why does this compare gross pay instead of take-home pay?
Because a take-home number would have to guess your filing status, state and city, other income, deductions, pre-tax contributions, and how much of a bonus is withheld at a flat supplemental rate. A calculator that applies one “average” tax rate to two offers produces a confident-looking number that is wrong for almost everyone. Gross to gross is the comparison the tool can actually get right. If two offers are in different states, price the tax difference separately before you decide.
Why is my paid time off not added to the total?
For a salaried role, paid time off is already paid out of your base salary — you are paid the same whether you take the day or work it. Adding a dollar value for PTO on top of base salary counts the same money twice, and it is the most common way an offer comparison inflates one side. The tool still prices the days at base salary divided by 260 so you can see what an extra week of leave is worth, but it keeps that figure out of the total.
Why are stock options and private-company shares shown separately?
Because they may be worth nothing. A 409A valuation is a tax appraisal of a private company’s common stock, not a price anyone has offered to pay you, and there is usually no way to sell before an acquisition or IPO. Options add a second layer: they are only worth the gap between the share price and your strike, exercising them costs real cash, and most plans give you about 90 days to exercise after you leave. Public-company RSUs are different — anyone can look up the share price — so those count in the headline total.
What should I put for the employer 401(k) match?
The dollars the employer actually puts in over a year, assuming you contribute enough to earn the full match. If the offer says “50% of the first 6% of pay,” that is 3% of your base salary: on a $150,000 base, $4,500. If it says “100% up to 4%,” that is 4% of base. Ask whether the match vests immediately or over several years — an unvested match can be clawed back if you leave early, and the calculator does not model that.
Does a higher total compensation number mean I should take that offer?
No. This tool answers one question honestly: which offer pays more in a year, and which line drives the gap. It has nothing to say about the manager, the team, layoff risk, commute, remote policy, what you will learn, or how the role sets up your next move. Those routinely matter more than a few thousand dollars, and no calculator can price them for you.
How should I handle a signing bonus?
A signing bonus is one-time money, so spreading it across one year is the honest default — that is what the tool does unless you change it. Spread it over the number of years you genuinely expect to stay if you want a smoother comparison, and watch the “ongoing total once the signing bonus stops” row, which shows what each offer pays after it runs out. Also check the clawback: most signing bonuses must be repaid in full if you leave inside twelve months.
Is my data uploaded anywhere?
No. Every calculation runs in your browser, and your offers are saved only in this browser’s local storage so you can come back to them. Nothing is sent to a server, there is no account, and clearing your browser data removes them. Use the “Copy as text” button if you want a copy you can keep or send to someone.
Can I compare a contract or freelance rate here?
Not directly, and you should not try. A 1099 or contract rate has to cover self-employment tax, unpaid time off, health insurance you buy yourself, and no employer retirement match — so an hourly rate is not comparable to a salary line for line. Use the contract vs permanent calculator for that, then bring the break-even salary it produces back here.

Offer accepted? Get the paperwork right.

Every tool here is free, runs in your browser, and never asks for an account.