UK Tax Code — methodology
Last verified · Next review
Plain-English summary
A UK PAYE tax code is HMRC's instruction to your employer about how much income tax to take off each pay packet. The numbers usually represent your tax-free allowance for the year (so 1257 means £12,570) and the letters describe how that allowance is applied. PayslipIQ decodes both halves and tells you what your code is doing in plain language.
A wrong tax code does not always mean your employer made a mistake — usually it means HMRC sent the employer a code based on incomplete information. The fastest fix is almost always to update your details with HMRC, which then issues a new code (a "P6 notice") to your employer.
We focus on three things: (1) decoding the code into a personal-allowance figure and a band rule; (2) checking that the PAYE deducted matches what the code implies for the pay period; (3) flagging emergency or temporary codes that may be giving you the wrong cumulative treatment.
What this methodology covers
- Decoding all standard suffix codes: L, M, N, T
- K codes (negative allowance / additions to taxable pay)
- Rate-fixed codes: BR, D0, D1, NT, 0T
- Country prefixes: S (Scotland), C (Wales)
- Emergency variants: W1, M1, X
- Multiple-job allocations using BR / D0 secondary codes
What it does not cover
- Self Assessment liabilities outside PAYE
- Marriage allowance dispute resolution (we flag, but do not file)
- P800 reconciliation (HMRC-issued post-year statement)
- Underpayments arising from benefits-in-kind valued mid-year
Data inputs accepted
- Tax code as printed on the payslip
- Pay frequency (weekly, fortnightly, four-weekly, monthly)
- Period number within the tax year (week 1–52 or month 1–12)
- Gross taxable pay for the period
- YTD taxable pay and YTD tax (when present on the slip)
Every prefix and suffix decoded
| Code | Meaning | Effect |
|---|---|---|
| L | Standard personal allowance | Numbers x 10 = annual tax-free amount |
| M | Marriage Allowance recipient | Allowance increased by 10% of partner's allowance |
| N | Marriage Allowance giver | Allowance reduced by 10% |
| T | Other items in calculation | HMRC reviewing components; treat numerals as the figure |
| K | Negative allowance | Numbers x 10 ADDED to taxable pay (capped at 50% of pay) |
| BR | Basic Rate on all income | 20% flat — used for second jobs |
| D0 | Higher Rate on all income | 40% flat (or 41% Scottish higher) |
| D1 | Additional Rate on all income | 45% flat (or 46% Scottish top) |
| NT | No Tax | Zero PAYE — rare, e.g. some non-resident cases |
| 0T | No allowance | Tax bands applied with zero personal allowance |
| S (prefix) | Scottish taxpayer | Apply Scottish bands (starter, basic, intermediate, higher, top) |
| C (prefix) | Welsh taxpayer | Apply Welsh bands (currently mirroring rUK) |
| W1 / M1 / X | Emergency / non-cumulative | Each period taxed in isolation; YTD reconciliation suspended |
Step-by-step check logic
- Parse the code. Strip whitespace, identify country prefix (S/C), suffix letters (L/M/N/T), K-prefix, fixed-rate codes (BR/D0/D1/NT/0T), and any cumulative override (W1/M1/X).
- Derive the personal allowance. Numerals × 10 for L/M/N/T codes; for K codes, the K-numerals × 10 are added to taxable pay rather than subtracted.
- Compute period free pay. Annual allowance ÷ pay periods. For monthly: ÷ 12. For weekly: ÷ 52.
- Determine cumulative or non-cumulative. If W1/M1/X is set, period free pay is used in isolation. Otherwise we apply cumulative free pay (period × free-pay-per-period).
- Apply band rules. Subtract free pay from taxable pay; tax the remainder against the appropriate UK / Scottish / Welsh bands. For BR/D0/D1, apply the flat rate to the entire taxable pay.
- K-code cap. If K-additions would lift the in-period tax above 50% of taxable pay, cap at 50% and roll the excess forward — this is the "regulatory limit" rule.
- Reconcile. Compare the computed PAYE against what the slip shows. Differences within £1 per period are treated as rounding; larger gaps are surfaced.
- Multiple-job inference. If BR or D0 is the only allowance treatment, we inform the user this code is consistent with a second-employment allocation.
Worked example
James lives in Edinburgh. His payslip shows tax code S1257L, monthly pay period 7 (October 2026), gross taxable pay £4,000.
- Annual personal allowance: 1257 × 10 = £12,570
- Cumulative free pay to month 7: £12,570 × (7/12) = £7,332.50
- Cumulative gross to month 7 (assume £4,000 × 7): £28,000
- Cumulative taxable: £28,000 − £7,332.50 = £20,667.50
- Scottish bands applied: starter 19% to £2,306, basic 20% to £13,991, intermediate 21% to £31,092, higher 42% above
- Cumulative tax computed: starter £438.14 + basic £2,337.00 + intermediate £1,338.41 = £4,113.55
- Less PAYE already paid in months 1–6 (per YTD line on slip) → expected period 7 PAYE
We compare the computed in-period PAYE against the figure on the slip. A difference of more than £1 is shown as "needs confirmation" with the worked figures so James can ask payroll to explain.
Edge cases handled
- New starter on 1257L W1/M1 — common after a P45 from a previous job. We treat as non-cumulative and flag for HMRC update.
- K1100 — taxable benefits exceed allowance. We add £11,000/12 per month to taxable pay and apply the 50% cap.
- BR with no other employment recorded — we warn this often produces over-deduction if it is in fact the user's only job.
- 0T after P45 lost — we explain why allowance is zero and how to reclaim via HMRC.
- NT — we confirm zero PAYE is correct and tell the user to check NT was issued by HMRC.
- S vs C — Scottish bands have five tiers; Welsh currently mirrors rest-of-UK. We track the version effective for the tax year.
Limitations and known gaps
- We cannot see the components HMRC used to build a T-code. We can only verify totals.
- K-code mid-year adjustments rely on YTD figures being present on the slip.
- Where two jobs share allowance via a custom split, we may flag the secondary as "needs confirmation".
- Tax bands are applied at the rate effective on the slip's pay date; rate changes mid-year are handled but unusual codes may need manual review.
Sources used
- HMRC, Tax codes — gov.uk/tax-codes
- HMRC, Income Tax rates and Personal Allowances — gov.uk/income-tax-rates
- HMRC, Scottish Income Tax — gov.uk/scottish-income-tax
- HMRC, Welsh rates of Income Tax — gov.uk/welsh-income-tax
- HMRC, P9X: tax codes — gov.uk/government/publications/p9x-tax-codes
- HMRC, PAYE Manual PAYE11000 series
Disclaimer
PayslipIQ provides informational analysis only. We do not provide tax or legal advice. If your tax code looks wrong, contact HMRC (0300 200 3300) or sign in to your Personal Tax Account before contacting your employer — tax codes are issued by HMRC, not by payroll.