Check what a tax code means
Every UK tax code explained, with exact tax-free pay for each pay schedule.
There's a common misunderstanding about how PAYE (Pay As You Earn) taxes are calculated, with many thinking it's as simple as a yearly personal allowance of £12,570, or £1,048 a month for employees. This oversimplification, often shared by HMRC online, doesn't capture the detailed work involved in payroll tax calculations.
In reality, PAYE tax calculations are more intricate than just applying percentages to salary bands. The exact percentage method recommended by HMRC for calculating PAYE tax aims for more precise tax calculations. The exact percentage method has been used since manual tax tables were introduced.
Our goal is to clarify the PAYE calculation process, focusing on a method that's both precise and recommended by HMRC. This approach leads to fairer tax computations for everyone.
Our free tax code checker works out the exact free pay for any code, in every pay schedule, using the HMRC exact percentage method.
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 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.
This guide focuses on tax calculations for cumulative tax codes like 1257L, while this article covers other tax codes, including week 1/month 1, BR, D, K, or NT.
Step-by-step process to calculate an employee's allowance
We will use a practical example, including the below assumptions throughout this guide to make things easier to understand:
- Suppose Mary is an employee paid £2,500 monthly.
- Let's assume this is the first month of the tax year; therefore, her pay to date is zero.
Step 1 - Calculate the cumulated pay to date
There is no complication at this stage. Add up the current employee's gross pay to their pay to date.
Gross pay for the current period + Gross pay to date excluding the current period = gross pay to date
Example: £2,500 + 0 = £2,500
Mary's gross pay to date equals £2,500.
If we were to calculate her cumulative pay to date for month 2, we would get £2,500 + £2,500 = £5,000.
Step 2 - Calculation of the free pay (personal allowance) for month 1
This is where it starts to become confusing. A misconception is that the monthly personal allowance is the annual allowance divided by 12. That couldn't be more wrong.
The calculation of the personal allowance must match the old-school manual tax table. Manual tax tables involved the conversion of codes split by 500s. That's why you'll calculate the dreadful annual value of remainders and quotients to get an equivalent.
In addition, HMRC requires employers to calculate the monthly allowance differently if the employee's numerical part is less or greater than 500 to confuse things further.
Calculation for a tax code whose numerical part is greater than 500
First, let's clarify what we mean by a tax code with a numerical part greater than 500. The typical 1257L tax code has a numerical part of 1257, which exceeds 500, so it uses this method.
If your employee's tax code follows this rule, then you can apply the steps as follows to compute their allowance :
- Take the numerical part of the employee tax code
- Divide the result by 500
- Note the quotient and remainder
- Calculate the annual value of the remainder: ((remainder*10)+9)
Calculate the monthly value of the remainder: the annual value of the remainder divided by 12, rounded UP to the next penny if it is not already an exact multiple of 1p
Calculate the Free Pay code: quotient x 416.67. The 416.67 is the monthly value of each full block of 500 code units (£5,000 of allowance a year): 5,000 / 12 = 416.6666, rounded up to the next penny BEFORE multiplying. Rounding after multiplying gives the wrong answer.
- Total Free Pay for a monthly period: the monthly value of the remainder + Free Pay code
Example: Mary's tax code is 1257L
- Take the numerical part of the employee tax code: 1257
- Divide the result by 500. Quotient: 2, Remainder: 257
- Calculate the annual value of the remainder: ((257*10)+9) = 2579
Calculate the monthly value of the remainder: 2579 / 12 = 214.9166, rounded up to 214.92
Calculate the Free Pay code: 2 x 416.67 = 833.34
- Total Free Pay for a monthly period: 214.92+833.34 = 1048.26
- What does the annual value of the remainder mean?
This is a very old jargon, coming from when employers had to use manual conversion tables for each tax code to find the employee's personal allowance value. There is little to understand and remember here. Nowadays, this value is held as a constant.
Annual value of the remainder: ((remainder*10)+9)
- What does the Free Pay code mean?
Again, this is a constant coming from when taxes were calculated using manual conversion tables by 10 to 500 increments. This is also a constant.
Free Pay code = quotient x the per-period value of £5,000, rounded up to the next penny: 416.67 for monthly payroll, 96.16 for weekly.
Calculation for a tax code whose numerical part is 500 or less
First, let's clarify what we mean by a tax code with a numerical part of 500 or less. A typical 326L tax code has a numerical part of 326, below 500, so it uses this simpler method. A code of exactly 500 uses it too.
If your employee's tax code follows this rule, then you can apply the steps as follows to compute their allowance :
- Take the numerical part of the employee tax code
- Calculate the annual value: ((numeric part of the tax code*10)+9)
- Calculate the monthly value: annual value/ 12
- If the result is not already an exact multiple of 1p, round up the answer to the nearest multiple of 1p
Example: Mary's tax code is 326L
- Take the numerical part of the employee tax code: 326
- Calculate the annual value: ((326*10)+9) = 3269
- Calculate the monthly value: 3269/ 12 = 272.4166
- Round up to 272.42
Personal allowance for subsequent periods
To find the Free Pay to date (personal allowance) for subsequent periods, multiply the total free pay for the current period by the period number. For example, multiply your total free pay by 3 if you run payroll for month #3.
For weekly payroll, the same method applies with 52 in place of 12. For 1257L: the remainder's annual value 2,579 / 52 = 49.5961 rounds up to 49.60, and each block of 500 is worth 5,000 / 52 = 96.16 a week, so the weekly free pay is 49.60 + (2 x 96.16) = £241.92, which is HMRC's published figure. Fortnightly and four-weekly payrolls use the weekly figure multiplied by 2 or 4.
Step 3 - Calculate the taxable pay to date
This part is straightforward: the cumulative salary minus the cumulative free pay.
Pay to date - Free Pay to date = taxable pay to date
Example for the first month with Mary's earnings of £2,500 per month with tax code 1257L:
2,500 - 1048.26 = 1,451.74
Mary's taxable pay is 1,451.74
Now that you know the correct allowance for your monthly or weekly employees, you can proceed to the next step: calculate their PAYE tax. In our next post, you'll find a tutorial on how to calculate PAYE tax accurately. Read on!


![How to Calculate Pro Rata Salary: A Simple Guide [With Examples]](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fsgximu0h%2Fproduction%2F024e41512c134beced70bf29c5a34bfb6e0e2979-1300x742.webp&w=3840&q=75)
