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% and no tax free 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 affects three things: the rate applied to your income, the allowance you receive against it, and the amount you can reclaim if HMRC has applied it in error.
- 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
The D0 tax code raises specific questions around emergency codes, how it compares to BR and D1, and the process for correcting it.
Does a D0 tax code affect National Insurance?
National Insurance is calculated separately from your tax code. Contributions are worked out on your earnings in each pay period, using your NI category letter rather than the code applied to your income. Moving from D0 to a different code changes your income tax deduction only. Your National Insurance figure on the payslip stays the same.
Does a D0 tax code change student loan repayments?
Student loan deductions are triggered by earnings above your plan threshold, not by your tax code. Each employment assesses this independently, so a second job on a D0 code may fall below the threshold and attract no repayment at all. The 40% tax deduction has no bearing on the calculation. Your payslip shows the two figures separately.
How far back can a D0 tax code refund be claimed?
Overpaid tax can be reclaimed for up to four tax years after the end of the year in question. A D0 code applied in error across several years may therefore produce a refund covering more than one period. Once a year falls outside the four-year window, the overpayment can no longer be recovered. Checking earlier years alongside the current one is worthwhile where the code has been in place for some time.
What happens to a D0 tax code when the other income stops?
The reason for the code disappears once the second job or pension ends. Until HMRC updates it, the 40% deduction continues on income that should receive your personal allowance and basic rate band. HMRC does not always identify the change automatically. Reporting the end of that income prevents months of unnecessary overpayment.
Does a D0 tax code carry into the new tax year?
HMRC issues codes for the coming year based on the information it holds at the time. A D0 code can roll forward unchanged where your circumstances have not been updated on record. Updating HMRC before the start of the tax year means the correct code applies from April. Otherwise the correction takes effect part way through, with the overpayment recovered later.
Does a D0 tax code mean you are a higher rate taxpayer?
A D0 code reflects HMRC’s estimate of your position rather than a confirmed liability. Your actual tax for the year depends on total income across every source once the year has ended. Where the estimate proves too high, the code produces an overpayment that can be reclaimed. Where it proves too low, further tax becomes due.
Written by:
Tax Rebate Services Editorial Team
Reviewed by:
Tony Shanks, qualified Taxation Technician (ATT)
This page provides general information, not personalised tax advice. Tax rules and allowances change — for help with your own circumstances, speak to a qualified adviser or HMRC.

