Why your tax code changed
A code that changed is usually HMRC reacting to something it has just learned. These are the things that move it, roughly in order of how often they are the answer, and what each one looks like on the payslip.
This site is an independent UK tax-code explainer. We outline the mechanics of the system, but we do not hold your personal data.
Who changes it, and under which rule
When your tax code changes unexpectedly, it is because HMRC has received new information. The system automatically recalculates your instruction based on a specific set of statutory factors. HMRC must determine the code under reg 13, and they do not alter it arbitrarily.
The factors are listed in reg 14(1). HMRC must have regard to: reliefs the employee is entitled to; other PAYE income; tax overpaid in earlier years not yet repaid; tax remaining unpaid from earlier years; over-repaid tax; other non-PAYE income unless the employee objects; and “such other adjustments as may be necessary”. If any of these elements change on your file, the code updates to reflect your new reality.
What moves a code, roughly in order of how often it is the answer
A benefit in kind starting or stopping
A benefit in kind starting or stopping is a common trigger. If you receive a company medical plan, this benefit consumes a portion of your tax-free allowance. HMRC reduces your free pay to account for the tax due on the benefit. On the payslip, the allowance portion of the code will drop. If the benefit stops, the allowance rises again.
A second job, or drawing a pension
Taking on an additional job or drawing a pension changes the code. You possess a single personal allowance. If it is already allocated to your main employment, an additional income source will receive a code that grants no further free pay. This might be a basic rate code, which reg 7(3)(a) creates, or a nil tax code under reg 33(1). On the nil tax code, the employer “must not deduct or repay any tax”. Note that a nil code is NOT the same as a zero per cent rate; it simply means no deduction is applied via that specific payroll.
A pensioner drawing a second pension is in exactly this position, and the rule does not change for being a pension rather than a job: one Personal Allowance, already allocated somewhere, and a code on the other source that grants no more of it. Every code page on this site is worded “this job or pension” for that reason.
Tax owed from an earlier year
Tax owed from an earlier year being collected through the code is another common factor. HMRC will reduce your allowance to collect the historical debt gradually over the year. Your free pay drops to reflect this collection mechanism, allowing the debt to be settled without a separate payment.
Moving across a UK border
A change of main home across a UK border changes the prefix. If you relocate to a different tax jurisdiction within the UK, HMRC updates the code to include an S or C prefix, applying the respective regional rules for Scotland or Wales.
An allowance starting or ending
Allowances starting or ending will alter the code. If you successfully claim for work expenses or marriage allowance, your free pay increases, and the letters on your code may change to reflect the new relief.
When the change reaches your payslip
When HMRC processes the new data, they generate a completely fresh reg 14(1) instruction and issue the amended code to your employer. Reg 20(3) then settles when you actually see it: on making any subsequent relevant payment, the employer must deduct or repay tax by reference to the amended code. So the change lands on the next payment after the amended code is issued — and a payment already made is not reworked by it, because the regulation reaches the payments that come after.
Source: Reg 20(3): “On making any subsequent relevant payment to the employee, the employer must deduct or repay tax by reference to the amended code.” Reg 20(2) treats a code contained in a document HMRC sends to the employer as received by them “for the purposes of these Regulations”.
How your employer gets hold of the code is not one fixed channel, and it is worth saying so because the difference is often blamed for a delay. HMRC alerts the employer, and the new code can be read in PAYE Online under “tax code notices”, in the PAYE Desktop Viewer application, or in payroll software — HMRC’s own wording is “if it has this feature”. The notice itself is the form usually called a P6. What HMRC asks of the employer is timing, not tooling: update the payroll record “as soon as possible, and before you next pay your employee”. And a code that arrives too late to use in the tax year should, on HMRC’s instruction, be used in the new one instead.
Source: HMRC / GOV.UK, “Understanding your employees’ tax codes: Changes during the tax year” (administrative publication, not statute): “Access the new tax code in PAYE Online (in ‘tax code notices’), the PAYE Desktop Viewer application, or in your payroll software (if it has this feature). … As soon as possible, and before you next pay your employee, update their payroll record with their new tax code. … A tax code notice is sometimes called a P6 form. … If you receive an employee’s new tax code too late to use in the tax year, you should use it in the new tax year.”
What each change looks like on the payslip varies widely. The letters might change, prefixes might appear, or the numerical portion might rise or fall. The tax deducted on the payslip will adjust automatically on the next payday based on the new instruction.
It is important to remember that the payroll software operates automatically based on these instructions. The software does not know your personal circumstances; it only knows the data HMRC has transmitted. If the data transmitted is outdated, the deduction will be mathematically accurate according to the instruction, but factually wrong for your life. This is why maintaining accurate records with the authorities is the only way to ensure the system operates as intended.
Because the recalculation relies entirely on the reg 14(1) factors held on your file, the only place a person’s actual code can be viewed is HMRC’s authenticated Personal Tax Account. This site cannot know it, and does not try to. You must check your account directly.
“PAYE code” and “tax code” are the same instruction
A payslip, a coding notice or a payroll system may call this a PAYE code rather than a tax code. They are two names for one thing: the instruction HMRC determines under reg 13 and sends to your employer, which reg 14(1) tells HMRC how to work out. Nothing on this site distinguishes them, and a change to your PAYE code is the change this page describes.
If the new code is one you do not recognise, the code pages decode it individually — the two a change most often lands on are BR, the basic rate code, and K, the one that adds notional income instead of giving an allowance. If you think the new code does not fit your circumstances at all, if your tax code is wrong sets out the route to changing it.
Common questions
Why has my tax code changed?
Because HMRC has received information that moves one of the reg 14(1) factors: a relief, other PAYE income, tax overpaid or still unpaid from an earlier year, non-PAYE income, or an adjustment HMRC judges necessary. The code is recalculated from those factors, not altered arbitrarily.
Is a PAYE code the same thing as a tax code?
Yes — they are two names for one instruction. The Regulations call it a code and reg 13 makes HMRC responsible for determining it; “PAYE code” is the everyday name for the same instruction sent to the same payroll.
Why is my tax code different on my payslip from the one I was told?
Reg 20(3) applies an amended code to “any subsequent relevant payment”, so a code that has just changed takes effect from your next payment rather than on one already made. HMRC tells employers to update the payroll record “as soon as possible, and before you next pay your employee”.
Why did my tax code change when I started a second job or a pension?
You have one Personal Allowance. If it is already allocated to your main employment, an additional source gets a code that grants no further free pay — a basic rate code, which reg 7(3)(a) creates, or a nil tax code under reg 33(1), on which the employer must not deduct or repay any tax.
Why did my tax code change after I moved?
Your taxpayer status follows your main home. Moving across a UK border makes HMRC reissue the code with — or without — an S or C prefix, and the prefix decides which scale of rates the whole calculation runs on.
Independent tool not affiliated with HMRC. For your official code, log in to your Personal Tax Account. Check your tax code on GOV.UK.
Tax codes are not the same across the UK. A code starting with S uses the Scottish rates, which have more bands than the rest of the UK; a code starting with C uses the Welsh rates, which are built by a different rule even in a year when they come to the same figures. Check the first letter of your code before you read any rate on this site.
Letters and law are not the same thing. The PAYE Regulations create these codes by describing what they DO — “the basic rate code”, “the nil tax code” — and, with one exception, never write down the letters HMRC prints on your payslip. The letters are HMRC’s naming for those functions. This site labels which is which on every page, and the sources page shows the search behind that statement.
The figures and rules on this site are taken from the Income Tax (Pay As You Earn) Regulations 2003, the Income Tax Act 2007 and HMRC’s published guidance, and are shown as they were found. They have not been signed off by a reviewer. Where the law and HMRC’s naming differ, the page says which is which rather than blending them. For anything that affects a decision, the cited document governs and this site does not.