Skip to content
InvestmentCalculator
All calculators

Salary sacrifice calculator — methodology

Why a sacrifice is modelled as a smaller salary rather than a pension input, why the cost of sacrificing is not any published rate, and how the same money into a personal pension is priced against it.

Open the salary sacrifice calculator

Almost every calculator on this site takes a figure and taxes it. This one takes a figure, taxes it, taxes a smaller version of it, and reports the gap — because that gap is salary sacrifice. There is no pension arithmetic anywhere in the model and no pension input on any engine, and that is not a shortcut: a sacrifice is a reduction in contractual pay, and a reduction in contractual pay is a smaller number handed to the same functions.

The calculation, in order

  1. Compute income tax, employee National Insurance and employer National Insurance at the salary.
  2. Reduce the salary by the sacrifice. Nothing else changes.
  3. Compute all three again.
  4. Subtract. The fall in take-home pay is the cost; the falls in tax and National Insurance are where it went.
  5. Add the share of the employer’s saving the reader says their employer passes on.
take-home(pay) = pay − incomeTax(region, pay) − employeeNI(pay)

cost            = take-home(salary) − take-home(salary − sacrifice)
effective cost  = cost ÷ sacrifice

employer saving = employerNI(salary) − employerNI(salary − sacrifice)
into pension    = sacrifice + share × employer saving

The only operations this page performs are those subtractions, one multiplication by a percentage the reader typed, and two divisions to express a cost as a rate. Every tax and National Insurance figure is returned by an engine.

Why the sacrifice may not exceed the salary

computeTaxPosition rejects negative income rather than returning a negative answer, so a sacrifice larger than pay would throw. A money field cannot express a constraint between two boxes, so the model caps the sacrifice at the salary and the calculator says on screen that it has done so. The real cap arrives long before that one — see the National Minimum Wage note below — but a page that crashes rather than capping is worse than one that caps and explains.

Why the cost of a sacrifice is not any published rate

The intuition is that sacrificing costs you your marginal rate: give up £100, save 40% of it, cost £60. That is right only for a sacrifice small enough not to cross anything. A sacrifice of any size is charged at every rate the pay passes through on the way down, and pay passes through the National Insurance upper earnings limit, the higher-rate threshold, the personal allowance taper and the personal allowance itself at different points for different salaries.

On £60,000 in England, sacrificing £10,000 costs £5,837.80, or 58.38% of the money. On £110,000 the identical sacrifice costs £3,800.00, or 38.00%. The better-paid employee gives up less. No rate table contains either figure, which is why the page measures rather than looking up.

The personal allowance taper, run backwards

Above £100,000 the personal allowance is withdrawn by £1 for every £2 of income, and the withdrawal continues until the allowance is gone. Inside that stretch a pound of pay carries its own tax and exposes another 50p that the allowance used to cover, so the marginal rate is one and a half times whatever band rate applies — on £110,000 in England, 62.00% with National Insurance included.

A sacrifice runs the taper backwards. Giving up £10,000 of pay restores £5,000.00 of personal allowance, so the income tax saved — £6,000.00 — is over half as much again as the sacrifice multiplied by the band rate. This is the single clearest demonstration of what this site exists to show: the rate that matters is the one on the next pound, not the one on the last, and the two differ most exactly where the stakes are highest.

The figure is not written as “60%” anywhere in the code, because it is not 60% for everybody. It is 1.5 times the band rate, and Scotland has band rates England does not — so it is measured against the engine at the reader’s own pay and region rather than described.

The other route, and why the difference between them is National Insurance

A sacrifice is not the only way to put £10,000 into a pension. The alternative is to pay it in yourself out of taxed income, where relief at source applies: the provider takes the contribution less the basic rate, reclaims that rate from HMRC and adds it to the pot, and any relief above the basic rate is delivered by extending the rate limits — FA 2004 s.192(4), and s.192(4A) for a Scottish taxpayer, whose Scottish limits move instead. That relief is claimed by the member rather than paid to the scheme.

Both sides of the comparison are computed by computePensionRelief, which differences two whole tax positions rather than multiplying anything by a rate. So the relief-at-source column cannot disagree with the sacrifice column: they are the same income tax engine, asked twice.

sacrifice:  take-home(salary − contribution)
personal:   take-home(salary) + relief claimed − (contribution − relief at source)

advantage = take-home(sacrifice) − take-home(personal)

Both routes end with the same amount in the pension, which is what makes the two take-home figures comparable at all. Holding the cost equal instead would let whichever route is cheaper buy more pension and then report that as an advantage.

On £60,000 in England, the sacrifice keeps £216.20 more take-home a year; on £110,000 it keeps £200.00. Each figure equals the employee National Insurance that reader saves, to the penny, because income tax relief comes to the same total either way — and the page measures that equality on the reader’s own figures rather than asserting it, because it fails below the personal allowance. There relief at source still adds the basic rate to a contribution out of income that bore no income tax, a sacrifice saves nothing, and the advantage goes negative.

Two National Insurances, and only one of them is the reader’s

Employee Class 1 runs from £12,570 at 8.00% and falls to 2.00% above £50,270. Employer Class 1 secondary is 15.00% above £5,000 with no upper limit. So a sacrifice out of pay above the upper earnings limit saves the employee very little National Insurance and saves the employer the full rate — the two sides diverge precisely where the sums are largest.

The employer’s saving is reported separately and is not counted as part of what the sacrifice costs the reader, because it is not their money. Whether it reaches their pension is a term of the employer’s scheme, so it is an input with a default of nothing rather than an assumption baked into the arithmetic. A calculator that quietly assumes full pass-through overstates the pension by the employer rate on the sacrifice.

Rates, thresholds and allowances

Read from the rules files this calculator runs on
Figure2025/262026/27
Personal allowance£12,570£12,570
Personal allowance taper starts at£100,000£100,000
Allowance withdrawn£1 per £2 of income£1 per £2 of income
Income tax — England, Wales and Northern IrelandBasic rate 20.00% from £0; Higher rate 40.00% from £37,700; Additional rate 45.00% from £125,140Basic rate 20.00% from £0; Higher rate 40.00% from £37,700; Additional rate 45.00% from £125,140
Income tax — ScotlandStarter rate 19.00% from £0; Basic rate 20.00% from £2,827; Intermediate rate 21.00% from £14,921; Higher rate 42.00% from £31,092; Advanced rate 45.00% from £62,430; Top rate 48.00% from £125,140Starter rate 19.00% from £0; Basic rate 20.00% from £3,967; Intermediate rate 21.00% from £16,956; Higher rate 42.00% from £31,092; Advanced rate 45.00% from £62,430; Top rate 48.00% from £125,140
Employee NI primary threshold£12,570£12,570
Employee NI upper earnings limit£50,270£50,270
Employee NI main / upper rate8.00% / 2.00%8.00% / 2.00%
Employer NI secondary threshold£5,000£5,000
Employer NI rate15.00%15.00%

Every National Insurance figure above is UK-wide and is HMRC’s published annual threshold rather than a weekly figure multiplied by 52. The same gov.uk table publishes both and they disagree by enough to change an answer; packages/tax-core/VERIFICATION.md records the trap.

Sources

The rates, thresholds and allowances used by this calculator were verified against gov.uk on . That covers the published rates, thresholds and allowances this page calculates with. It does not verify any figure the page produces for you: that is arithmetic on verified inputs. Parts of the engine behind it are checked against HMRC’s own published worked examples, which tests the method on a small number of scenarios rather than your answer, and most of the test suite derives its expected values by hand. That check was carried out automatically and no named person has signed it off yet.

The verification log, as recorded in the source repository
Figures coveredVerified onVerified byHuman sign-off
2025-262026-08-12Automated verification (Claude Opus 5)not yet signed off
2026-272026-08-12Automated verification (Claude Opus 5)not yet signed off
2020-21 to 2024-25 — pension annual allowance only2026-08-12Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — share identification window only2026-08-13Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — pension relief at source only2026-08-13Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — inheritance tax only2026-08-13Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — family tax, LISA and pension-access additions2026-08-13Automated verification (Codex)not yet signed off
2025-26 and 2026-27 — student loan deductions only2026-08-18Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — property acquisition tax only2026-08-18Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — automatic enrolment only2026-08-18Automated verification (Claude Opus 5)not yet signed off
2025-26 and 2026-27 — State Pension age and rates only2026-08-18Automated verification (Claude Opus 5)not yet signed off

The log covers the rules directory, not only this calculator. 8 rows are deliberately narrow — 2020-21 to 2024-25 — pension annual allowance only; 2025-26 and 2026-27 — share identification window only; 2025-26 and 2026-27 — pension relief at source only; 2025-26 and 2026-27 — inheritance tax only; 2025-26 and 2026-27 — student loan deductions only; 2025-26 and 2026-27 — property acquisition tax only; 2025-26 and 2026-27 — automatic enrolment only; 2025-26 and 2026-27 — State Pension age and rates only — and they verify the figures named there and nothing else. Those tax years are not modelled by any calculator on this site: the years this page can compute are the ones its tax-year selector offers, and no others.

A verification goes stale the moment one of its sources is updated past the date above. If a source below carries a later date than this stamp, trust the source.

Rates, thresholds and allowances on this page are taken from material published by HM Revenue & Customs and the Scottish Government. Contains public sector information licensed under the Open Government Licence v3.0.

Six things this calculation does not model, stated here rather than buried

  • The April 2029 change, which is a change to the comparison itself. From 6 April 2029 only the first £2,000 a year of employee pension contributions made by salary sacrifice keeps its National Insurance exemption; above that, employer and employee National Insurance apply as though the money had been paid as salary, and income tax relief is unaffected. Every tax year offered here precedes it. It is also the one limitation on this page that cannot be lifted by adding a rules file: from that date the pay National Insurance is charged on and the pay income tax is charged on are two different figures for the same employee, and employeeNI and employerNI each take a single gross pay. The note in packages/tax-core/VERIFICATION.md sets out what would have to change.
  • Whether the relief-at-source relief is ever claimed. The comparison prices the higher-rate relief as claimed in full. Only the basic rate arrives on its own; the rest comes back through Self Assessment or a tax code adjustment, and HMRC has said repeatedly that a great deal of it is never claimed. Nothing here can tell whether a particular reader claims it, so the personal pension column is the best case for that route.
  • The National Minimum Wage floor. gov.uk requires that a sacrifice must not reduce cash earnings below it and that employers cap sacrifice to keep above it. It is an hourly rate; this calculator asks for neither hours nor age, so it cannot apply the test, and a figure it prices may not be one an employer is permitted to operate.
  • What the lower salary costs elsewhere. Statutory maternity and paternity pay are calculated from average weekly earnings; gov.uk states that sacrifice can affect statutory pay and cause some employees to lose entitlement altogether, and may reduce Maternity Allowance and contribution-based benefits including the State Pension. Mortgage affordability and death-in-service cover are usually assessed on the reduced salary too, though those are commercial terms rather than tax rules.
  • The pension annual allowance and its taper for high earners, both of which count employer contributions and sacrifice. A sacrifice that breaches the allowance attracts a charge this page does not compute.
  • Everything else on a payslip. Student loan repayments — which a sacrifice genuinely does reduce, so their omission overstates the cost shown — existing pension contributions, tax codes, benefits in kind, second jobs, self-employed profit, savings interest and dividends. A sacrifice into something other than a pension has the same effect on pay but usually carries a benefit-in-kind charge, which is not modelled.

This site publishes information, not advice. It cannot know your circumstances, it does not recommend any product, provider or course of action, and nothing on it is a personal recommendation. For a decision that matters, check the figures against gov.uk or speak to an accountant or a regulated adviser.

Every calculation runs in your browser. There is no application server and no database, so nothing you type is transmitted or stored. A share link is the exception: it carries your figures in the URL.

Found an error? It belongs on the corrections log, and how to report one is on that page.