Skip to main content

Updated for the 2026/27 tax year.

Guide

D0 Tax Code: Meaning and How to Check It

D0 usually means all pay from that employment is taxed at the higher rate.

By IsMyPayRight

Last reviewed

Tax year: 2026/27

Quick answer

If D0 appears on the wrong job, the payslip can look dramatically wrong because there is no personal allowance and no basic-rate band there.

On this page

What D0 means

D0 is a flat-rate tax code that instructs payroll to deduct income tax at the higher rate of 40% on every pound of earnings from that employment. There is no personal allowance, no basic-rate band, and no progressive calculation — it is simply 40% of gross pay, deducted before you receive anything.

The letter D stands for "higher rate" (just as D1 stands for "additional rate"). The zero does not mean zero tax — it is simply the designator HMRC uses to distinguish this code from numbered codes that include a tax-free amount.

Like BR, D0 is a legitimate code with specific uses. The concern is when it appears on the wrong employment. At 40% of all gross earnings, the tax taken can be double or more than what the correct code would produce. An employee earning £30,000 on D0 will lose £12,000 a year in income tax — equivalent to every penny of their personal allowance and basic-rate band being ignored.

Compare D0 with other no-allowance codes

If the payslip is taking much more tax than expected, it helps to compare D0 with BR and the broader wrong-code checks before contacting HMRC.

When D0 is the correct code

D0 is appropriate in the following circumstances:

  • Second job for a higher-rate taxpayer: If your first job already takes your earnings above the higher-rate threshold of £50,270, additional income within the higher-rate band is taxable at 40%; allowance tapering or additional-rate income can change the overall result. If that additional income comes from a second employer, HMRC issues D0 for the second employment to collect tax at the right rate without applying an allowance or basic-rate band that has already been used.
  • Pension income for a higher-rate taxpayer: If you receive a private pension and employment income, and your combined income puts you firmly in the higher-rate band, HMRC may instruct the pension payer to use D0 to collect the appropriate rate on that income.
  • Personal allowance and basic-rate band fully used elsewhere: More broadly, D0 can be correct whenever both the personal allowance and the entire basic-rate band have been used by another income source, leaving income within the higher-rate band to be taxed from this particular employment.

In each of these cases, D0 is not a penalty — it is simply HMRC ensuring the right amount of tax is collected across your total income picture.

When D0 is the wrong code

D0 becomes incorrect and potentially very costly when it appears in circumstances where a lower code should apply:

  • Main or only job: If you have one employer and D0 appears on your payslip, you are paying 40% on all earnings with no personal allowance and no 20% band. This is almost certainly wrong unless your income genuinely exceeds £50,270 and there is another employment absorbing the lower-rate bands — which would be unusual with only one employer listed.
  • After leaving a second job: If you previously had two jobs and left the main one, D0 may remain on the surviving employment from the period when both jobs were active. HMRC should update the code automatically, but it can take a pay period or two.
  • Circumstances changed and HMRC has not yet updated the code: A significant drop in income from another source, a pension ceasing, or a change in employment status can all mean that D0 is no longer appropriate, but HMRC's records have not yet caught up.
  • Administrative error at payroll or HMRC: Occasionally a coding notice is misread, entered incorrectly, or relates to a different employment reference.

The dramatic impact: worked example

The following example shows the difference in monthly and annual tax between code D0 and the correct code 1257L on a £30,000 salary.

Code D0 Code 1257L Difference
Annual gross pay £30,000 £30,000 —
Personal allowance £0 £12,570 £12,570
Taxable pay £30,000 £17,430 £12,570
Tax rate 40% flat 20% on all taxable pay —
Annual income tax £12,000 £3,486 £8,514
Monthly income tax £1,000 £290.50 £709.50

An incorrect D0 code on a £30,000 salary costs the employee £709.50 per month — over £8,500 per year — compared with the correct 1257L code. Even against the BR code (which would produce £500/month), D0 costs an additional £500 per month. This illustrates why D0 on the wrong job is one of the most severe tax-code errors an employee can experience.

D0 vs D1: the additional rate version

Just as D0 applies the higher rate of 40%, D1 applies the additional rate of 45% on all earnings from that employment. D1 is used when a taxpayer's income from all sources is so high that every pound of income from a particular employment is taxable at the additional rate (above £125,140 for 2026–27).

D1 is relatively rare because it only applies when combined income exceeds £125,140. High PAYE income alone no longer creates a Self Assessment requirement from 2024/25 onwards. Other circumstances can still require a return; use HMRC’s eligibility checker. D1 ensures that the PAYE deduction on a secondary income source approximately reflects the rate that will apply on that income at the year-end reconciliation.

The practical difference between D0 and D1 is a further 5 percentage points of tax. On a secondary income of £20,000, D0 deducts £8,000 per year while D1 deducts £9,000 per year — a difference of £1,000 annually or approximately £83.33 per month.

As with D0, D1 on the wrong job is a serious error that should be corrected through HMRC as soon as it is identified.

Scottish equivalents: SD0, SD1, SD2, SD3

Scottish flat-rate codes use different names and rates. Do not read SD0 as the Scottish version of 40% D0.

Scottish flat-rate employment codes, 2026/27
CodeRate on affected pay
SBR20%
SD021%
SD142%
SD245%
SD348%

HMRC chooses the code using the overall income record. See Scottish codes and residency for the progressive bands and residence rules, or BR versus D0 for an unprefixed code comparison.

How to fix a wrong D0 code

Compare the payslip code with HMRC's coding notice, then check all employment, pension and income records in your personal tax account. Ask payroll to correct a transcription or starter-processing error; ask HMRC to review an issued code that does not fit your circumstances.

If a corrected cumulative code and complete pay and tax records reach payroll, it can recalculate the year-to-date tax. A W1/M1 correction does not automatically refund earlier deductions. Ask payroll which pay run will include the notice.

After the year ends, HMRC may send a P800; tax calculation letters are sent between June and March of the following tax year. Self Assessment repayments follow that account instead. An overpayment must be established from the complete record, and there is no guaranteed next-payday refund. See the refund routes.

What to check

  • D0 can be correct for a second job for a higher-rate taxpayer.
  • If it appears unexpectedly on your main job, tax can jump sharply.
  • Scottish equivalents use different codes and rates.

What to do next

  • Use the checker if the deduction looks far too high.
  • Compare with HMRC notices before asking payroll to amend anything.
  • Read the Scottish code guide if your code begins with S.

Try the tool

Check your payslip or model a change.

Use the checker if you already have a payslip. Use the calculator if you want to model take-home pay or salary-sacrifice changes before payday.

About this guide

Published by IsMyPayRight to help you understand pay and deductions. Guides use official reference material and practical examples, with AI assistance in content preparation.

This is general guidance, not a professional review of your circumstances. Read our editorial process and corrections information.

Methodology and sources

See how the calculations work, which sources they use, how results are tested, and which payroll details the estimates cannot verify.

Common questions

What does D0 tax code mean on a payslip?
D0 means PAYE is charging higher-rate income tax on all taxable pay from that employment with no personal allowance used there.
Is D0 tax code always wrong?
No, but it is a specialist code. It can be correct for some second jobs or pension scenarios, though it often looks wrong when applied to a main job by mistake.
How do I fix a D0 tax code if it is wrong?
Confirm whether the employment is meant to be your main or secondary source of income, then update HMRC so it can issue the right code to payroll.

Official sources

Official sources

Use these references to check the rules behind this guide. Check the tax year and your circumstances before applying an example to your own pay.