D0 Tax Code: What It Means and What to Do
The D0 tax code is one of the most misunderstood codes HMRC issues to UK taxpayers. It means all income from that source is taxed at 40%. No personal allowance is applied.
That can come as a shock, especially when take-home pay drops without obvious explanation.
The D0 tax code applies to a second job, an additional pension, or a further income stream. HMRC uses it when your personal allowance is already fully absorbed by another source.
In many cases, the D0 tax code is applied correctly. In others, it may be down to outdated records or a missing form.
Understanding what the D0 tax code means can save you from ongoing overpayments. Knowing when it is incorrect is equally important.
This article explains the code, why HMRC issues it, and what to do next.
What the D0 Tax Code Means in Practice
The letter D in a D0 tax code stands for a higher-rate deduction. The zero confirms that no personal allowance is being applied to that income source.
Every pound earned under a D0 tax code is taxed at 40%. For example on £15,000 from a second job in 2025/26, that means £6,000 in income tax.
A standard 1257L code gives you £12,570 of tax-free earnings before deductions begin. The D0 tax code removes that buffer entirely for the income it covers.
Why HMRC Issues a D0 Tax Code
HMRC issues the D0 tax code when it believes your allowance and basic rate band are already absorbed by another income source. Additional income is then placed in the higher-rate band and taxed at 40%.
It may apply where your main job uses your full personal allowance and you take on a second role. It can also arise where combined employment and pension income exceeds the basic rate threshold.
HMRC may also be working from incomplete data when it first issues the code.
Each situation carries different tax implications. A tax adviser or HMRC can help you identify which applies to your circumstances.
Tax Codes and Multiple Employment
The D0 code on a second job is one of the most common scenarios. A new employer needs to know how to tax your pay from day one.
Without a P45, a higher-rate code may be applied while HMRC confirms your position. With a P45 provided, D0 may still apply if your main role takes you above the higher rate tax threshold.
This is not automatically an error. If combined income places all secondary earnings in the higher-rate band, D0 is the correct code. Checking your full tax position across all sources is the only reliable way to know.
Pension Income and Higher Rate Tax
Pension income can attract a higher-rate code, particularly for those with more than one pension in payment.
HMRC typically assigns the personal allowance to whichever income source was registered first. Any remaining income may then be coded at a higher rate.
Coding errors in this area are relatively common, given the number of income streams involved. A Self Assessment return often provides the most reliable route to confirming your correct tax position across all sources.
D0 Tax Code vs BR and D1 — Key Differences
These three codes are frequently confused because all of them remove the personal allowance from a given income source. The distinction lies in the rate applied to each.
The BR code taxes all income at 20%. The D0 tax code taxes all income at 40%. The D1 code taxes all income at 45%.
HMRC selects between these based on where your combined earnings sit. Where primary income exceeds the higher-rate threshold, additional sources are likely to attract D0 rather than BR.
D0-W1 and D0-M1 Tax Codes Explained
You may see your D0 code displayed as D0-W1 or D0-M1. These variants indicate a non-cumulative approach to tax collection.
Under a standard cumulative code, your employer calculates tax based on total earnings and payments to date. This corrects underpayments and overpayments automatically throughout the year.
Under a W1 or M1 code, each pay period is treated in isolation. No reference is made to what has already been paid. HMRC typically applies this when it needs more time to confirm your correct cumulative position.
If you are on D0-W1 or D0-M1, updating your records with HMRC is advisable. The non-cumulative basis can result in more tax than is ultimately due.
Is the D0 Tax Code an Emergency Tax Code?
The D0 tax code is not an emergency tax code. Emergency codes are temporary measures applied when an employer lacks sufficient information about a new employee.
They typically end with W1, M1, or X and are designed to be short-lived.
The D0 tax code is a substantive code that reflects HMRC’s assessment of your tax position. It is not temporary in nature.
If D0 has been applied incorrectly, it should be challenged promptly. Call HMRC on 0300 200 3300, use the HMRC app, or log in to your personal tax account at gov.uk.
Scottish Income Tax and the SD0 Code
Taxpayers in Scotland pay income tax at Scottish rates, which differ from the rest of the UK. The Scottish equivalent of the D0 tax code is SD0.
This code applies the Scottish higher rate to all income from that source, with no personal allowance.
In Scotland, confirm whether your code reads SD0 rather than D0. The wrong prefix can mean tax is calculated at a different rate than intended.
What to Do If Your D0 Tax Code Is Wrong
An incorrect D0 tax code may result in ongoing overpayments. The sooner it is identified and corrected, the less tax you are likely to lose unnecessarily.
Log in to your HMRC personal tax account at gov.uk to check how your current code was calculated. You can also do this through the HMRC app.
Review any P45 or starter checklist from your most recent role to confirm your employer holds accurate information. If the code appears incorrect, contact HMRC and request a review.
Once HMRC issues an updated code, deductions should adjust from the next available pay period.
D0 Tax Code Overpayment and Refunds
If the D0 tax code has been applied incorrectly, you may have overpaid income tax. This may occur when the code is based on estimated income that does not match your actual earnings.
HMRC may identify an overpayment at year end and issue a P800 tax calculation. This document outlines how your position was assessed and whether a refund is owed.
If you suspect an overpayment, a review can be requested through your personal tax account or the phone number on the P800. Any refund due under Self Assessment forms part of the annual return process.
HMRC Codes in Summary
The D0 tax code means every pound of income from one source is taxed at 40%. No personal allowance is applied.
It is most commonly issued where a second job, pension, or additional source sits alongside primary employment.
In many cases, D0 is applied correctly. In others, incomplete records or a missing form may be the cause.
Checking your personal tax account and confirming your documentation are the most practical first steps. Contacting HMRC directly is the next.
For more information on how tax codes affect your income, visit our tax code FAQ section.
D0 Tax Code — Key Takeaways
- The D0 tax code means all income from one source is taxed at 40%, with no personal allowance applied to it.
- HMRC typically issues D0 to a second job, pension, or additional income stream. It applies when primary income has already absorbed the full personal allowance.
- D0 differs from BR (20%) and D1 (45%) in the rate applied. None of the three codes include a personal allowance.
- D0-W1 and D0-M1 are non-cumulative variants. They calculate tax on each pay period independently, not cumulatively across the year.
- The D0 tax code is not an emergency code. It is a substantive PAYE code reflecting HMRC’s assessment of your tax position.
- If your D0 tax code appears incorrect, contact HMRC promptly. This may prevent further overpayments and trigger any refund owed.
D0 Tax Code FAQs
Q1: What does a D0 tax code mean?
A D0 tax code means that all of your income from one particular source is taxed at the higher rate of 40%. No personal allowance is applied to it. This code is typically issued to a second job, an additional pension, or another income stream alongside your main employment. It is most common where your primary income already absorbs your full personal allowance and basic rate band.
Q2: Why have I been given a D0 tax code?
HMRC issues a D0 tax code when it estimates your total income places you in the higher-rate band. This typically means your personal allowance is already allocated elsewhere. Common triggers include starting a second job, receiving pension income alongside employment, or drawing salary from two separate employers. In some cases, the code may also result from incomplete or outdated information held by HMRC.
Q3: Is D0 an emergency tax code?
No. The D0 tax code is not an emergency tax code. Emergency codes are temporary measures used when an employer lacks the information needed to apply the correct code. They typically appear with a W1, M1, or X suffix. The D0 code is a substantive code issued to reflect your estimated tax position. It remains in place until HMRC updates it.
Q4: What is the difference between D0 and BR tax codes?
Both the D0 and BR tax codes remove your personal allowance from the income they cover. The difference is the rate of tax applied. The BR code taxes all income at 20%, which is the basic rate. The D0 tax code taxes all income at 40%, which is the higher rate. A D1 code goes further and applies the 45% additional rate. HMRC selects between these based on your combined income from all sources.
Q5: What should I do if I think my D0 tax code is wrong?
Start by checking your personal tax account at gov.uk or the HMRC app. Both show how your current code has been calculated. Confirm that your employer holds the correct information, including a P45 or starter checklist. If the code appears incorrect, contact HMRC on 0300 200 3300 and request a review. Once HMRC issues a revised code, it should take effect from the next pay period.




