Tax code D0 means every pound is taxed at 40% higher rate with no Personal Allowance and no basic-rate band applied. D = a flat-rate code; 0 = higher rate. Normally used on a second job when the first job has consumed the £12,570 PA and most of the £37,700 basic-rate band. Wrong D0 codes are uncommon but the over-deduction can be significant.
When D0 is the correct code
D0 is the right code when:
- You have two or more employments, and your main job already uses up your full Personal Allowance plus all or most of your basic-rate band.
- Your main job pays £50,000+ — so any second-job income would all be taxed at the 40% higher rate anyway.
- HMRC has explicitly assigned D0 to the second job to ensure correct overall tax is collected without you needing to file Self Assessment.
Example: you earn £60,000 from your main job (which uses code 1257L) and £5,000 from a part-time second job. HMRC assigns D0 to the second job so all £5,000 is taxed at 40% = £2,000. This correctly captures the higher-rate tax due on that income.
Worked example — main job £60k + second job £5k on D0
| Income source | Code | Gross | Tax |
|---|---|---|---|
| Main job | 1257L | £60,000 | £11,432 |
| Second job | D0 | £5,000 | £2,000 |
| NI on main | — | — | £3,211 |
| NI on second (Class 1) | — | — | £100 |
| Combined take-home | £65,000 | £48,257 |
D0 ensures you pay the correct 40% on the £5,000 second-job income without needing to file Self Assessment. Without D0, the second job might use a BR code (20%) — leaving you with a £1,000 underpayment to settle at year-end.
When D0 is wrong
D0 is wrong on your only job. Always. If you have just one employer and your payslip shows D0, the code is incorrect and you’re being massively over-taxed.
D0 might also be wrong if:
- Your main-job earnings dropped below £50,270 — in which case some of your second-job income should be at 20%, not 40%.
- You quit your main job — your second job (now your only job) should switch to 1257L.
- HMRC has miscalculated your combined income — happens occasionally with irregular incomes or bonuses.
What to do if D0 appears unexpectedly
Decode multi-job tax codes
The second-job tax code calculator shows which code each of your jobs should be on given your combined income and tax-band position.
Open the second-job code calculator →Other UK tax codes explained
- What is a UK tax code? — the overview
- Why is my tax code 1257L? (the standard code)
- Why is my tax code BR? (basic rate)
- Why is my tax code 0T?
- Why is my tax code D0? (40% flat)
- Why is my tax code D1? (45% flat)
- K-prefix tax codes — negative allowance
- W1, M1 and X — emergency tax codes
- Why is my tax code NT? (no tax)
- T-suffix tax codes
- M and N — Marriage Allowance codes
- Tax code changed suddenly — what to do
Sources and methodology
D0 / D1 code rules from gov.uk/tax-codes. Multiple-jobs PAYE handling from HMRC PAYE Manual gov.uk/hmrc-internal-manuals/paye-manual.
UK Tax Drag is not authorised by the Financial Conduct Authority and does not provide regulated financial advice — see the content disclaimer for the full position. The methodology page documents how every calculator is built and reviewed.
How UK Tax Drag holds itself to account
Every page is reviewed against the editorial standards, written from primary sources, sourced openly, and corrected publicly. No affiliate revenue. No sponsored content. No paid placements.