Skip to main content
UK tax code · 2026/27

Why is my tax code D0?

Tax code D0 charges 40% on every penny you earn under it — no Personal Allowance, no basic rate. This is almost always a second-job code for someone whose main job already uses up their PA and basic-rate band. If you're seeing D0 on your only job, something is wrong.

4-minute read

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:

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 sourceCodeGrossTax
Main job1257L£60,000£11,432
Second jobD0£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:

If D0 is wrongYou’re paying 40% on income that should be taxed at 20% or even 0%. On £5,000 of pay, that’s £1,000-£2,000 of overpaid tax per year. Phone HMRC immediately on 0300 200 3300.

What to do if D0 appears unexpectedly

Action 1: Confirm you actually have a second job in HMRC’s recordsLog into your Personal Tax Account. Under PAYE you’ll see all jobs HMRC has recorded for you. If there’s only one — the D0 is wrong.
Action 2: Check the main-job codeThe main job should be on 1257L (or whatever code uses your PA). If your main job is on BR or D0 instead, your codes are mixed up — both need fixing.
Action 3: Phone HMRC on 0300 200 3300Explain you have only one job (if true) or that your main-job income has changed. HMRC reassigns codes within 1-2 working days. Overpaid tax refunds automatically through PAYE in the next pay period.
Action 4: Consider the second-job tax code calculatorThe second-job tax code calculator shows exactly what code should be assigned to each job given your combined income.

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

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.

Editorial accountability
Open Trust Centre →

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.

Editorial standards Editorial process Corrections policy How we make money Editorial team Methodology