Enter what your payslip says and see what it should have paid, worked out from your gross pay and tax code, with the reasons a real payslip diverges.
Two payslips, one difference
Both payslips below are £3,000 a month. Neither has been miscalculated. Both are exactly what their own tax code produces, and one of them is costing its reader £2,514 a year.
The first is on 1257L and pays £2,453.30. The tool reports a match and offers no reasons at all. A payslip that is right should be told it is right, and most checkers cannot bring themselves to say it.
The second is on 0T M1 and pays £2,243.80. Compare it against what 0T M1 should pay and the difference is £0.00 — payroll has done exactly what the code told it to. The problem is the code. 0T gives no tax-free allowance at all, so £209.50 a month more tax comes out than on a standard code, and the M1 marker says it is being operated without year-to-date figures — the state a payroll lands in after a job change or a missing P45.
This is the case a checker that only compares two numbers gets wrong. It would find no discrepancy and say everything is fine. This one still raises the code, because a W1, M1, X or 0T marker is evidence in its own right whatever the arithmetic says.
Two payslips, one difference| Line | Correct payslip | Emergency basis |
|---|
| Tax code | 1257L | 0T M1 |
|---|
| Gross pay a month | £3,000 | £3,000 |
|---|
| Take-home it should pay | £2,453.30 | £2,243.80 |
|---|
| Take-home it paid | £2,453.30 | £2,243.80 |
|---|
| Difference from its own code | £0.00 | £0.00 |
|---|
| Cost against a standard code, a year | £0 | £2,514 |
|---|
| Reasons offered | 0 | 2 |
|---|
- Emergency tax code or non-cumulative basis: Check whether the code is temporary after a job change, benefit change or missing P45 details.
- Taxable benefit or tax-code adjustment: Check the HMRC tax-code breakdown and any benefit or adjustment lines.
How it works out what the payslip should have paid
Your gross pay for one period is multiplied up to a year, run through the same tax engine the salary calculator uses, and divided back down. That is where the estimate comes from.
This estimate annualises one pay period, so it assumes your pay is the same every period. If you have had a rise, a bonus, arrears or a refund this year, some or all of this difference may be that rather than an error.
So the estimate is at its weakest exactly when a payslip looks most surprising, and the tool says so beside every result rather than presenting every comparison as equally solid. The one case that runs the other way is a W1, M1 or X code: payroll really does tax each period on its own then, which is what this method does, so those comparisons are directly comparable.
- Gross pay for the period, annualised, through the salary engine, divided back.
- Cumulative PAYE means a rise, a bonus or arrears will move the real figure.
- A W1/M1/X code is taxed period by period, so the comparison holds exactly.
What it compares
Enter what your payslip says and it works out what that gross pay and tax code should have produced, then lists what could account for any difference. It runs in your browser and it does not decide whether a payslip is correct.
- gross pay
- tax code
- pay period
- payslip net pay
- taxable pay
- Income Tax
- National Insurance
- pension
- student loan
- a take-home figure you already have, if you want to use your own instead
What it cannot know
This is not your employer's payroll and it is not your HMRC record. It sees the figures you type and nothing else, so there are things it cannot know however carefully you fill it in.
It cannot see your year-to-date totals, the code HMRC actually issued, a benefit in kind, a second job, a previous underpayment being collected, or a correction landing this month for something that happened last month. Any of those can explain a difference entirely.
It cannot reconstruct HMRC records, year-to-date payroll, P60/P45 refund positions, employer benefits or payroll-specific deductions.
- PayBreakdown can show possible reasons for a payslip difference, but it cannot decide whether HMRC, payroll or an employer is wrong.
- Outputs are estimates.
- Payslips can differ because of tax code, pay period, cumulative or non-cumulative basis, benefits, student loans, pension method, salary sacrifice, bonuses, overtime, refunds, arrears or payroll timing.
- Check HMRC, payroll, employer or payslip details where appropriate.
- This is not tax, payroll, employment, legal, accounting or financial advice.
Privacy and ads
Everything you type stays in your browser. The comparison runs on this page, and no payslip figure, tax code, salary or employer detail is sent anywhere, stored or recorded. You can check that yourself: open your browser's network tab and fill the form in — entering a payslip produces no request at all.
There are no ads on this page. A page that asks for your pay details is not a page to sell advertising against.
- It cannot tell you whether anyone has made a mistake. It can tell you what your pay period should have produced, and which of the usual causes fit the difference.
- No figure you enter is stored, logged, or sent to analytics, advertising or any partner. PayBreakdown counts page visits like any site; it never sees what you typed.
- Close the tab and the figures are gone. There is no account and nothing to delete.
What would change this figure
Change any figure above and the result moves with it. A payslip can differ from any calculator because payroll works pay period by pay period, so a tax-code change, a bonus, arrears or a refund can land in one month and not the next. See how each deduction is worked out.
Last updated 2026-08-28. Checked by Sean Elsmore. Rates last checked against GOV.UK on 2026-08-07. Estimates are for planning and should be checked against official records where the decision matters.