Check what a tax code means
Every UK tax code explained, with exact tax-free pay for each pay schedule.
This article was written with the help of AI.
For the 2026-27 tax year, the Personal Allowance is £12,570 and the most common PAYE tax code is 1257L, a code that simply drops the last digit of that allowance and adds a letter [1] [2]. When HMRC changes a code, it tells the employee and the employer within 15 working days [3].
Every employment and every pension carries its own tax code, and the employer or pension provider uses it to work out how much income tax to deduct from each payment [4]. The code is not a reference number. It is an instruction: a tax-free amount, a letter that tells payroll how to treat it, and sometimes a prefix or marker that changes the rate schedule or the calculation basis.
Reading a code correctly matters on both sides of the payslip. Employees use it to check whether HMRC holds the right picture of their income and benefits, and employers are required to operate whatever code HMRC issues, even when it looks wrong [5].
This guide explains how a tax code is built, what each letter, prefix and suffix means, how K codes and emergency codes work, what a code does to take-home pay in practice, and how codes reach payroll.
Key takeaways
- The number in a tax code is the tax-free amount divided by 10, so 1257L means £12,570 of tax-free pay for the tax year [2] [1].
- The letter tells payroll how to treat the allowance: L is the standard allowance, M and N signal Marriage Allowance, T means other calculations apply [6] [7].
- An S prefix applies Scottish rates and a C prefix applies Welsh rates [2] [8].
- A K code adds an amount to taxable pay, but tax deducted in any period cannot exceed 50% of gross pay [9].
- W1, M1 and X mark an emergency or non-cumulative code, calculated on the current period's pay only [10].
How a tax code is built
A standard tax code has two parts: a number and a letter. Some codes add a prefix in front (S, C or K) or a basis marker after (W1, M1 or X), and a small group of codes carry no number at all.
The number: the tax-free amount
HMRC starts with the Personal Allowance, takes away any untaxed income and adjustments, and adds any extra allowances or reliefs. The result is divided by 10, and the final digit is replaced with a letter [2]. GOV.UK's own example: an employee with £1,570 of medical benefit set against the £12,570 allowance has £11,000 of tax-free pay, so the code is 1100L [2].
The Personal Allowance is reduced by £1 for every £2 of adjusted net income above £100,000, and is zero at £125,140 or above [1]. For high earners, the number in the code falls accordingly, and can reach 0T or a K code once benefits are added.
What goes into the calculation
The items that move the number are set out on the employee's coding notice, the P2, which HMRC describes as a personalised communication setting out what makes up each code [11]. Since 28 October 2015, a single P2 covers all live employments and pensions [11].
| Adjustment | Effect on the code | Source |
|---|---|---|
| Company benefits (car, medical insurance) | Reduces the tax-free amount | [12] |
| Tax owed from an earlier year | Reduces the tax-free amount | [6] |
| State Pension | Reduces the tax-free amount on the employment code | [6] |
| Job expenses and professional subscriptions | Increases the tax-free amount | [13] |
| Marriage Allowance received | Increases the tax-free amount | [14] |
| Blind Person's Allowance | Increases the tax-free amount | [15] |
HMRC's guidance on employee expenses shows the size of the effect: a claim of £60 by a basic-rate taxpayer is worth £12, and for the current tax year the relief is usually given by adjusting the tax code [13]. Company benefits work the other way, with the employer valuing the benefit and HMRC reducing the code so tax is collected through PAYE [12].
What the letters mean
The suffix letter does not set a rate on its own. It tells payroll, and HMRC's systems, what kind of allowance the code contains and how it should be adjusted when rates change.
Standard suffix letters
L is the letter for employees entitled to the standard Personal Allowance [6]. HMRC's internal manual adds that L is used where the coding allowances include Personal Allowances, and T is used in specific cases such as direct payment cases, personal and domestic employees, or where the individual asks for a T suffix [7].
M and N relate to Marriage Allowance, which transfers £1,260 of Personal Allowance between spouses or civil partners and reduces the recipient's tax by up to £252 a year [14]. M marks the partner who received the transfer and N the partner who gave it [7]. For the 2026-27 tax year, that gives 1383M for the recipient and 1131N for the transferor where no other adjustments apply [14] [1].
| Letter | Meaning | Typical code |
|---|---|---|
| L | Standard tax-free Personal Allowance | 1257L |
| M | Received 10% of a partner's Personal Allowance | 1383M |
| N | Transferred 10% of Personal Allowance to a partner | 1131N |
| T | Other calculations, or the employee asked for a T code | 1257T |
Two older letters have dropped out. Suffix P was used up to 5 April 2015 and suffix Y up to 5 April 2016 for age-related allowances, and HMRC states that both should no longer be used [7]. A payroll still holding a P or Y code is working from stale data.
Codes with no number
Some codes contain no allowance at all and simply tell payroll which rate to apply. 0T means the allowance has been used up or the employer has no P45 details, BR taxes all income at the basic rate, D0 at the higher rate and D1 at the additional rate, and NT means no tax is deducted [2] [6].
| Code | Treatment of pay | Common use |
|---|---|---|
| 0T | No tax-free amount, all pay taxed through the bands | No P45, payment after leaving |
| BR | All pay at the basic rate | Second job or pension |
| D0 | All pay at the higher rate | Second job for a higher-rate taxpayer |
| D1 | All pay at the additional rate | Second job for an additional-rate taxpayer |
| NT | No tax deducted | Specific exemptions |
HMRC restricts NT to the cases listed in its manual, such as statutory exemptions, double taxation agreements and certain professions, and it is applied from the date of a bankruptcy to the following 5 April [16]. The employer guide describes NT as reserved for "very specific cases", giving self-employed musicians as an example [6]. Codes such as BR and D0 are most often seen on a second job, covered in the guide to the tax code for a second job.
Prefixes: Scotland, Wales and K codes
A letter in front of the number changes either the rate schedule or the direction of the allowance.
S and C prefixes
An S prefix tells payroll to apply Scottish income tax rates, and a C prefix applies Welsh rates [2]. The S prefix has been used since 6 April 2016 and the C prefix since 6 April 2019 [17]. Welsh rates apply to an employee who lives in Wales for longer than anywhere else in the UK during the tax year [8].
For the 2026-27 tax year, Welsh bands match those in England and Northern Ireland, while Scotland has six bands on earnings above the Personal Allowance [8] [18]. Scottish rates apply to wages and pensions, but savings and dividend income use the UK rates [18].
| Scottish band | Taxable income | Rate |
|---|---|---|
| Starter | Above £12,570 up to £16,537 | 19% |
| Basic | Up to £29,526 | 20% |
| Intermediate | Up to £43,662 | 21% |
| Higher | Up to £75,000 | 42% |
| Advanced | Up to £125,140 | 45% |
| Top | Over £125,140 | 48% |
Scottish codes have their own flat-rate versions: SBR, SD0 for the intermediate rate, SD1 for higher, SD2 for advanced and SD3 for top [2]. NT is the exception, with no S or C version, because it is used for all UK residents wherever they live [19].
K codes
A K code appears when deductions such as company benefits, State Pension or tax owed from an earlier year are larger than the Personal Allowance [6]. HMRC's system allocates a K code in all cases where deductions exceed allowances [9]. Instead of giving tax-free pay, the number is multiplied by 10 and added to taxable pay [6].
HMRC's manual sets out the arithmetic. Allowances of 12,570 less deductions of 14,120 give minus 1,550; dropping the last digit and the sign gives 155, the last digit is reduced by one to 154, and the K prefix is added to give K154 [9]. A built-in safeguard applies: the tax deducted on any one day cannot exceed 50% of the gross pay for that period [9]. The full mechanics are covered in the guide to the K tax code.
GOV.UK's employer guide gives the example of K475 on a £27,000 salary, producing £31,750 of taxable income [6]. Calculated by a payroll engine on an annual basis, that employee pays £6,351.80 of income tax and £1,154.40 of employee National Insurance under K475, compared with £2,884.20 of income tax under 1257L, a difference of £3,467.60 [6] [1].
Emergency and non-cumulative codes
Most codes run on a cumulative basis: each pay period, the payroll compares total pay and tax so far in the tax year with the allowance due so far, which allows over- or under-deductions to correct themselves. A marker after the code switches that off.
W1, M1 and X
An emergency code ends in W1 for weekly pay, M1 for monthly pay or X for irregular pay dates, and some payroll software shows NONCUM instead [10]. Under these codes, tax is worked out on the pay in that period only, as if it were paid every week or month of the year [10]. For W1 and M1, the employer calculates tax on the current pay period alone [6].
The employer guide notes that 1257L is only an emergency code when it is followed by W1, M1 or X, and that emergency codes are used when a new employee has no P45 [5]. Emergency codes also appear when company benefits or the State Pension start, and they last until the end of the tax year unless HMRC replaces them [10]. The guide to emergency tax codes explains how long they usually last.
Week 1 or month 1 after an in-year change
Non-cumulative operation is also how HMRC applies certain in-year changes. Where a revised code is lower than the last cumulative code, it is issued on a week 1 or month 1 basis [17]. Since 2 July 2017, HMRC has carried out a full calculation for the year when it amends a code, and collects extra tax through an In Year Adjustment rather than a potential underpayment [20].
HMRC's manual works an example of an In Year Adjustment of £583.40 producing a code of K27 on a month 1 basis [20]. The P2 sent to the employee explains the adjustment and points to the personal tax account, where codes and benefits can be checked [21] [22].
What a tax code does to take-home pay
The clearest way to read a tax code is to see its effect on the same salary. The table below uses a gross salary of £3,000 a month for a category A employee in the 2026-27 tax year, with each code calculated by a payroll engine for a single month on a non-cumulative basis [1] [23].
| Tax code | Income tax for the month | Employee NI | Net pay |
|---|---|---|---|
| 1257L | £390.20 | £156.16 | £2,453.64 |
| 1383M | £369.20 | £156.16 | £2,474.64 |
| 1131N | £411.20 | £156.16 | £2,432.64 |
| 1100L | £416.40 | £156.16 | £2,427.44 |
| S1257L | £392.27 | £156.16 | £2,451.57 |
| BR | £600.00 | £156.16 | £2,243.84 |
| D0 | £1,200.00 | £156.16 | £1,643.84 |
| NT | £0.00 | £156.16 | £2,843.84 |
| K475 | £730.06 | £156.16 | £2,113.78 |
Three points stand out. National Insurance is identical across every row, because it is calculated on earnings and the employee's category letter, not the tax code [23]. The gap between 1383M and 1131N is £42.00 a month, which is the Marriage Allowance transfer seen from both sides [14]. And moving from 1257L to BR costs this employee £209.80 in the month, which is why a BR code on a main job is a common reason for an unexpected payslip.
Tax codes and the employer's responsibility
An employer cannot change a code because it looks wrong. The employer enters the code HMRC issues into payroll software and operates it, and HMRC emails the employer when a code changes during the tax year [5]. Employees who think a code is wrong are directed to HMRC, which updates the code and notifies both parties [3].
The timing of the change on the payslip depends on the pay frequency. A monthly-paid employee should see the new code on the next or the following payslip, and a weekly-paid employee on the third payslip [3]. The common reasons behind a change are covered in the guide on why a tax code changes.
How tax codes reach payroll
Codes move between HMRC and the employer electronically, and the employer's starting point depends on whether the employee arrives with a P45.
New starters
An employer must tell HMRC about a new employee on or before the first pay day, by including them on a Full Payment Submission [24]. Where the employee has a P45, the code on it is used; without one, the employer uses HMRC's starter checklist, which replaced the P46, and may need to apply an emergency code [24] [5].
HMRC usually updates a new starter's code within 35 days, and the employee is advised to wait that long for HMRC to receive the new income details before getting in touch [10] [3]. The standard starting point for most employees is covered in the guide to tax code 1257L.
Coding notices and the new tax year
Codes are usually updated at the start of each tax year [5]. HMRC's system issues coding notices to employers until a cut-off of 13 March, after which a late change that increases allowances is not issued on the employer notice, although the employee's P2 still goes out [25]. In HMRC's records, each code also carries a basis of operation, cumulative or week 1 and month 1, alongside the net coding allowances [26].
Running PAYE correctly means reporting pay on or before each payday and applying the latest code to every payment [27]. HMRC-recognised payroll software for SMEs receives code changes from HMRC and applies them to the next pay run without manual re-keying, and the FPS it submits tells HMRC which code was used [27] [5].
For bureaux handling several clients, the volume of notices is the main operational load: every in-year change has to land on the right employee in the right client before the next run. A payroll bureau platform that consolidates HMRC notices across clients shortens that step. Platforms embedding payroll into HR or ERP products can parse and validate codes through a UK payroll engine, so a malformed or outdated code is caught before it reaches a payslip.
Checking a code
Employees can check their current code and Personal Allowance through HMRC's online service for the current tax year, which runs from 6 April 2026 to 5 April 2027 [28]. The same service shows whether a code has changed, and the personal tax account also lets employees update company benefit details such as company car or medical insurance [28] [22].
Check a tax code in seconds
The Moonworkers tax code checker decodes any UK PAYE tax code, including prefixes, suffix letters and emergency markers, and shows what it means for the 2026-27 tax year.
On your payslip, P45 or P60. Suffixes W1, M1 or X welcome.
What you'll get
Enter any UK tax code to see:
- · what each letter and number means
- · which nation's rates apply (S and C prefixes)
- · cumulative vs emergency W1/M1/X basis
- · the exact tax-free pay for every pay schedule, to the penny
Try 1257L, a K code, or an emergency W1 code.
Payroll that applies every tax code correctly
Moonworkers runs the full HMRC exact percentage method on every payslip, including K codes, emergency codes and in-year code changes, and files RTI automatically.
Conclusion
A tax code is a compressed instruction set. The number carries the tax-free amount, the suffix explains its origin, the prefix selects the rate schedule or reverses the allowance, and the basis marker decides whether the payroll looks back over the tax year or only at the current period. Each part can be read on its own, and together they explain almost every unexpected change in take-home pay.
As HMRC moves more coding activity into real-time adjustments and online accounts, codes change more often within the tax year, and more of them arrive on a week 1 or month 1 basis. Employers and bureaux that treat the code as data to validate, rather than a field to copy, will catch the errors that reach payslips before the employee does.
Frequently asked questions
What does the L mean in tax code 1257L?
The L means the employee is entitled to the standard tax-free Personal Allowance [6]. The number 1257 is the £12,570 allowance divided by 10 [2]. The letter itself does not set a tax rate; it tells payroll and HMRC's systems what kind of allowance the code contains.
Why does a tax code have W1 or M1 at the end?
W1 and M1 mean the code is operated on a week 1 or month 1 basis, so tax is worked out on that period's pay alone [10]. It is used for emergency codes and for some in-year changes where the new code is lower than the previous one [17]. Any over- or under-deduction is not corrected until the code returns to a cumulative basis or the year-end reconciliation.
Is a K tax code bad?
A K code is not an error. It means deductions such as company benefits or tax owed from an earlier year exceed the Personal Allowance, so an amount is added to taxable pay [6]. HMRC's rules cap the tax deducted in any period at 50% of gross pay [9].
Can an employer change an employee's tax code?
No. The employer must operate the code HMRC issues and receives an email when HMRC changes it [5]. An employee who believes the code is wrong contacts HMRC, which updates the code and tells both the employee and the employer within 15 working days [3].



