Shiv Patel · Chartered Accountant (ICAS)

Tax year 2026/27

Published Last reviewed Checked for 2026/27 rates

BR, 0T and K tax codes: why you have one

A BR, 0T, D0 or K code is an instruction to one employer or pension payer about how to tax the money that source pays you. It is not a verdict on your whole year’s tax. Each one says the Personal Allowance is being used elsewhere, or has been outweighed by untaxed income.

That distinction does most of the work. A code that looks alarming on one payslip can be exactly right once the other source is put beside it - and a code that looks ordinary can be wrong. The way to tell them apart is to ask what the code is doing and where the allowance has gone.

Which job or pension is the code attached to?

A tax code is issued for each employment or pension a person has[1], so a second job, a pension in payment and a main salary each carry their own. A payslip shows only its own code, which is why a BR sitting on the smaller payslip says nothing about the larger one.

You can find a code online for the current year, on the HMRC app, on a payslip, or on a Tax Code Notice letter from HMRC[1]. HMRC also runs a “check what your tax code means” tool, which returns what the numbers and letters mean, how much tax is due and what may need to be done next[2].

One question resolves most of this cluster: where is the standard Personal Allowance of £12,570[3] sitting? It is a single annual amount. If a main job’s code is giving it, no second code can give it again, and BR, D0, D1 and 0T are four different ways of saying “not here”. For the standard code itself, what tax code 1257L means covers the numbers and the ordinary letters.

Two prefixes change the rates rather than the allowance. S means income or pension is taxed using the rates in Scotland, where SD0 is the intermediate rate rather than the higher rate[4]. C means the rates in Wales apply[4].

What do BR, D0 and D1 - what are they and what do they do to a second income?

BR means all income from that job or pension is taxed at the basic rate, and it is usually used where there is more than one job or pension[4]. In practice that is a flat 20%[3] from the first pound of that source - no tax-free slice, no progression up the bands.

D0 and D1 are the same instruction at higher rates. D0 taxes all income from that source at the higher rate and D1 at the additional rate[4] - a flat 40% and a flat 45% respectively[3] - and they appear when the main income has already filled the basic or higher band.

A flat-rate code is a reasonable approximation, not a guess. Where the main job already uses the allowance and sits comfortably inside one band, taxing the second source at that band’s rate produces close to the right answer for the year.

Why is a 0T code not simply a flat 20%?

This is the distinction that catches people out. 0T means the Personal Allowance has been used up, or a new job has started and the employer does not have the details needed to give a tax code[4]; tax is deducted from all income because there is no Personal Allowance[5].

Removing the allowance is not the same as fixing the rate. Under 0T the normal ladder still runs on that source, applied as though it were the only income but with no tax-free slice at the bottom: the basic-rate band is £37,700 wide (£12,571 to £50,270 for someone with the allowance)[6], so 0T charges 20% on the first £37,700 that source pays, then 40%[3], then 45% once pay is high enough[3]. On modest pay 0T and BR therefore land in the same place. On a large payment they diverge sharply, because 0T climbs into 40% and BR never does.

Two routes lead here. Either the P45 was still in transit or the starter checklist was not completed, so payroll had nothing to work from - the checklist is what supplies those details where there is no P45 or the employer needs more, and after the first pay has landed the Check your Income Tax online service takes over instead[7]. Or the allowance genuinely is used up elsewhere.

What does a K code add to my pay?

A K code reverses the usual arithmetic. Tax codes with a K mean income or deductions are higher than the tax-free Personal Allowance and are not already being taxed[8]. Instead of subtracting free pay, payroll adds a notional amount to taxable pay, so the tax on that other income is collected through this source.

The listed reasons are recognisable: paying tax owed from a previous year through wages or pension, State Pension or taxable state benefits, company benefits such as a company car, and savings interest above the Personal Savings Allowance[8]. A company car or medical insurance starting mid-year is the usual trigger.

There is a limit. Employers and pension providers cannot take more than half of pre-tax wages or pension when using a K tax code[8]. That caps what any single pay period can deduct; it does not cancel the underlying liability, which settles through later pay periods or the year-end position.

A worked example: two jobs and a K code

Figures below are illustrative synthetic data for 2026/27, with National Insurance and pension left out so the code is the only variable.

A second job on BR. Take someone with a main job paying £30,000 on code 1257L and a second job paying £6,000 on BR.

SourceCodeTaxable payIncome Tax
Main job1257L£30,000 - £12,570 = £17,430£3,486.00
Second jobBR£6,000 (all of it)£1,200.00
Combined-£36,000 - £12,570 = £23,430£4,686.00

The second job is taxed at 20% on every pound: £1,200 a year, £100 a month. That is not a penalty. Check it against the combined position - £36,000 less the £12,570 allowance leaves £23,430 taxable, all inside the basic band, giving £4,686 - which is exactly £3,486 plus £1,200. The allowance was already used, so nothing is left to set against the second job.

The same £6,000 on 0T. The tax also comes to £1,200, because £500 a month sits well inside the monthly slice of the basic-rate band. The codes only part company higher up: if that source paid £60,000, 0T would tax everything above the first £37,700 at 40%, while BR would hold the whole £60,000 at 20%.

A K code on the main job. Suppose a company car pushes the main job’s code to K475. That adds £4,750 to taxable pay across the year - £395.83 a month on £2,500 of gross pay.

Month on £2,500 gross1257LK475
Free pay given£1,047.50none
Added to taxable paynone£395.83
Taxable pay£1,452.50£2,895.83
Income Tax at 20%£290.50£579.17

The monthly difference is £288.67, which is the £3,464 of extra annual tax spread over twelve pay periods. The 50% limit is nowhere near binding here: half of £2,500 is £1,250, well above £579.17.

It binds on small payments. A pension of £500 a month carrying K1450 would add £1,208.33 to that month’s taxable pay, making £1,708.33 taxable and £341.67 of tax at 20%. Half of the £500 pre-tax pension is £250, so £250 is the most that pay period can take.

When is the code correct and nothing needs doing?

Often. A BR code on a genuine second job where the main job holds the allowance; a D0 on a second income where the main salary already fills the basic band; a K code that matches a company car or medical insurance that really did start - all of these are the system working. The test is whether the code’s story matches your own: one allowance, given once, and untaxed income accounted for somewhere.

A 0T that appeared during a job change is different. It is a placeholder for missing information, and it resolves once the information arrives.

What do I check, and how does a wrong code get fixed?

A wrong code is usually caused by HMRC holding incorrect or missing information, and it is corrected by checking and updating those details in the Check your Income Tax online service[9]. Employment records, estimated taxable income and company benefits are the fields worth reading closely.

Where a code needs to change, HMRC tells the taxpayer and the employer the new code within 15 working days[9], and it should then appear on the next or the following payslip for monthly pay, or the third payslip for weekly pay[9].

Money already overpaid comes back through payroll rather than as a separate cheque: HMRC asks the employer or pension provider to refund the difference in pay, usually when the new code is used[10]. That cannot happen until HMRC has the income details from the employer, pension provider or benefits office - giving a previous job’s P45 to the new employer supplies them[10]. Where too little was paid instead, HMRC estimates the amount owed when the code is updated and adjusts the code to collect it over one or more tax years where possible[10].

How do people normally work this out?

Three approaches dominate. Some search the code itself, land on a definition, and still cannot tell whether the definition describes a problem or a normal arrangement - the definition is source-level, the worry is year-level. Some open a take-home calculator built around a single salary, which has no way to represent two PAYE sources sharing one allowance. Some ask payroll, who can confirm the code they were sent but not the reasoning behind it, because HMRC issues it.

The honest gap is the same in all three: nothing puts the codes side by side against what actually landed in the bank. Reconstructing that by hand means holding two or three payslips, a coding notice and a calculator at once, and most people do it after the fact, if at all. For the related question of a single month moving without a code change, why take-home pay drops works through the payslip lines.

How you’d do this in Surplus

The payslip analyser models deductions for each pay cycle from the code the payslip itself reports, then compares the model with the figures on the slip. A BR or K code stops being a mystery and becomes a specific expected change in take-home: the model shows what that code produces on that gross pay, so the difference between expectation and reality is a measured number rather than a feeling. Tracking runs cycle to cycle, so a code that appeared in August is anchored to August.

Surplus cannot see HMRC’s reasoning and cannot change a code - only HMRC issues one. And the bank side is read-only Open Banking through Yapily, so the take-home figure it works from is the amount that actually arrived, not a projection.

Every figure above is cited to its source where it appears and re-verified against that source whenever UK rates move.

Sources

Every figure above is checked against these primary sources - and re-checked whenever the rates move.

Source Accessed
Tax codes - GOV.UK www.gov.uk/tax-codes
Tax codes: what your tax code means - GOV.UK www.gov.uk/tax-codes/what-your-tax-code-means
Tax codes: if you have a K in your tax code - GOV.UK www.gov.uk/tax-codes/k-in-your-tax-code
Tax codes: if you think your tax code is wrong - GOV.UK www.gov.uk/tax-codes/if-you-think-your-tax-code-is-wrong
Tax codes: if you've paid too much or too little tax - GOV.UK www.gov.uk/tax-codes/overpayments-and-underpayments
Understanding your employees' tax codes: what the letters mean - GOV.UK www.gov.uk/employee-tax-codes/letters
Check what your tax code means - GOV.UK www.gov.uk/guidance/check-what-your-tax-code-means
Starter checklist for PAYE - GOV.UK www.gov.uk/guidance/starter-checklist-for-paye
Rates and thresholds for employers 2026 to 2027 - GOV.UK www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027
Income Tax rates and Personal Allowances - GOV.UK www.gov.uk/income-tax-rates

Common questions

Is a BR code on a second job the same as paying tax twice? +

No. Each source is taxed once. BR simply withholds at the basic rate on that source because the tax-free allowance is already being given against the main job, so the two deductions add up to roughly the tax due on the combined income rather than doubling it.

Why did my pension arrive with a BR or 0T code when my job is on a normal code? +

A pension is a separate PAYE source and gets its own code. Where the allowance is already set against employment, the pension provider is told to tax its payments without it. HMRC can move the allowance between sources, which changes both codes rather than removing tax overall.

Can a 0T code take more tax than a BR code on the same pay? +

Yes, once that source pays enough. BR holds everything at 20%, while 0T applies the normal 20%, 40% and 45% bands with no allowance, so a large payment under 0T reaches 40% where the same payment under BR would not. On modest pay the two produce the same figure.

Does a K code mean my employer is taking money owed to HMRC out of my wages? +

Not as a separate debt. A K code adds a notional amount to taxable pay so the tax on untaxed income or benefits is collected through the normal payroll calculation. It shows as extra Income Tax on the payslip rather than as a distinct deduction line.

What happens to the tax a K code could not collect because of the 50% limit? +

The limit caps what payroll can deduct in that pay period, not the underlying liability. The amount not taken stays part of the year's tax position and is picked up through later pay periods or HMRC's reconciliation after the tax year ends.

Researched and written by Shiv Patel, chartered accountant (ICAS), with AI drafting assistance. Every figure is checked against the cited source. Guidance, not personal advice.

Every deduction, decoded.

Surplus models Income Tax, National Insurance, pension and student loan from real UK rules and checks the result against the pay that reaches your bank. When a month comes in short, it flags the gap the day the money lands.

The iPhone beta is full. Join the waitlist to hear first when places open.

Read-only Open Banking via Yapily. Bank-grade encryption. We can’t move your money.