Skip to main content

Tax codes

D0 and D1 tax codes explained — 40% & 45%

What D0 and D1 tax codes mean, when they're correct (second jobs, pensions), when they're errors costing you money, Scotland's S D0/S D1 variants, and how to fix them free.

Written by RefundCalculator Editorial TeamLast checked

D0 and D1 are the UK's "flat tax" codes: every pound from that income source is taxed at 40% or 45% respectively, with zero Personal Allowance applied. Sometimes they're exactly right. Sometimes they're a payroll accident quietly taking hundreds a month too much. This guide separates the two.

The codes, defined

CodeMeaningWhen HMRC intends it
D0All income from this source taxed at the higher rate — 40%Your allowance and your basic-rate band are already used by a bigger income
D1All income from this source taxed at the additional rate — 45%Your income elsewhere already crosses £125,140

In Scotland the same letters pair with the S prefix — S D0 means 42% on everything (the Scottish higher rate), S D1 means 48% (the Scottish top rate). Flat as the day is long: no allowance, no lower bands, just one rate from pound one.

When D0 and D1 are legitimately correct

Three situations where the codes earn their keep:

  1. A genuine second income sitting on top of a main job that already uses your £12,570 allowance and your £37,700 basic-rate band — the second job's every pound falls in the 40% (or 45%) zone anyway, so taxing it flat is accurate, not punitive
  2. A pension drawn alongside work — same logic: total income is what matters, and the pension source is flat-coded to tax the overlap correctly
  3. Very high earners where HMRC flat-codes secondary sources at 45% because every pound genuinely is additional-rate

The giveaway of correctness: your other income already exceeds £50,270 (for D0) or £125,140 (for D1).

When D0 or D1 is an expensive mistake

The main-job misfire is the classic. You leave one job, the income stops in month four, but the code — or a duplicate employment record — lingers in HMRC's data. Your only remaining job gets D0: "everything else must be using the allowance already." Except nothing else exists. You spend months paying 40% on income your own £12,570 and 20% band should be eating; each £3,000 payslip gives HMRC £1,200 instead of about £486. That's roughly £700 a month in overpayments — usually recovered only when someone notices.

Red flags worth acting on this week:

  • D0 or D1 on your main or only job — almost never correct
  • D0 after leaving a second job — the ghost income never got closed
  • D0 appearing with total income clearly under £50,270 — the higher rate can't even apply
  • D1 for anyone outside the £125,140+ club

Run the code through the tax code checker for a plain-English verdict in seconds; if it flags, the fix below takes longer to read than to do.

Fixing a wrong D0/D1 — the free route

  1. Personal Tax Account (or HMRC app) → Income Tax → your tax code breakdown: you can see, and remove, the phantom employment or wrong estimate sitting behind the flat code
  2. HMRC Income Tax helpline — a five-minute call fixes it where online doesn't; have your NI number and P60
  3. The corrected code reaches your employer automatically within days, and the over-collected tax washes back through payroll on the next payslip or two — you don't claim it, it flows back

Had a wrong flat code in an earlier tax year? The P800 reconciliation recovers it — or claim directly via the free refund route. Years back to 2021-22 are still open in the four-year window.

D0-correct people: one thing to check anyway

If D0 is right for your second income but your combined total will actually clear £125,140 this year, part of that second income is technically 45% money — a small underpayment to expect in your P800. Forecasting it with the income tax calculator on your combined figure turns an autumn surprise into a planned-for line item. The reverse is true too: collapse of the main job mid-year can turn a correct D0 into an overpayment the year-end reconciliation repays.

Either way, the code is a prediction — and predictions are exactly what a good estimate exists to beat.

Do the numbers

Tax code checker calculator

Decode any UK tax code — 1257L, BR, D0, K, S/C prefixes, W1/M1 emergencies — see the allowance it implies and the warning signs of an error.

Open the free calculator

Free, on your device, with the working shown. Not affiliated with HMRC.