Compare Inside vs. Outside IR35 net income based on your day rate.
Outside IR35 (LTD)
Operating via your own Limited Company
Annual Revenue:£0
Taxes (Corp/Div):£0
Annual Take-Home:£0
Monthly Take-Home:£0
Inside IR35 (Umbrella)
Operating as a "disguised employee"
Gross Assignment:£0
Employment Taxes*:£0
Annual Take-Home:£0
Monthly Take-Home:£0
*Includes Employer NI, Apprenticeship Levy, Employee NI, and PAYE Income Tax based on standard 2024/25 UK tax bands.
Understanding IR35 and Your Day Rate
The "Off-Payroll Working" rules, commonly known as IR35, are designed to ensure that contractors who work like employees pay similar levels of Income Tax and National Insurance. The difference in take-home pay between being "Outside IR35" and "Inside IR35" can be substantial, often ranging from 15% to 25% of your total income.
Inside IR35 vs. Outside IR35
Outside IR35: You are considered a legitimate business. You can pay yourself a small salary and the rest in dividends, which are not subject to National Insurance. You can also deduct valid business expenses before calculating Corporation Tax.
Inside IR35: You are taxed as an employee. If using an Umbrella company, the "Day Rate" provided by the agency must cover Employer's National Insurance (13.8%) and the Apprenticeship Levy (0.5%) before your gross salary is even calculated.
Example: £500 Day Rate Comparison
At a £500 day rate working 230 days a year, your gross revenue is £115,000.
If Outside IR35, your net take-home might be approximately £82,000 after Corporation Tax and Dividend Tax.
If Inside IR35, your net take-home might drop to approximately £64,000 because you must pay the full weight of PAYE taxes plus the employer's tax contributions typically deducted from the umbrella rate.
Key Factors Influencing Your Net Pay
Pension Contributions: Salary sacrifice into a pension is one of the most effective ways to reduce your tax bill, especially if you are Inside IR35 and hitting the 40% or 45% tax brackets.
Business Expenses: Outside IR35 contractors can claim equipment, travel, and home office costs, whereas Inside IR35 contractors generally cannot claim expenses against their tax bill.
VAT: Most Outside IR35 contractors use the Flat Rate VAT scheme or standard VAT scheme, which can provide a small additional margin for the business.
function calculateIR35() {
var dayRate = parseFloat(document.getElementById('dayRate').value) || 0;
var daysPerYear = parseFloat(document.getElementById('daysPerYear').value) || 0;
var monthlyExpenses = parseFloat(document.getElementById('monthlyExpenses').value) || 0;
var pensionRate = parseFloat(document.getElementById('pensionRate').value) || 0;
var annualRevenue = dayRate * daysPerYear;
var annualExpenses = monthlyExpenses * 12;
var personalAllowance = 12570;
// — OUTSIDE IR35 CALCULATION (Simplified 24/25) —
// 1. Salary (Optimal for LTD usually ~£12,570)
var salaryOutside = 12570;
var corpTaxProfit = annualRevenue – salaryOutside – annualExpenses;
// Corporation Tax (Assumed 19% up to £50k, 25% above £250k – using simplified blended 21% for high earners)
var corpTax = 0;
if (corpTaxProfit 0) {
// Basic rate (up to 50270 total income)
var basicLimit = 50270 – 12570;
var basicDiv = Math.min(remainingDiv, basicLimit);
divTax += basicDiv * 0.0875;
remainingDiv -= basicDiv;
if (remainingDiv > 0) {
// Higher rate
var higherLimit = 125140 – 50270;
var higherDiv = Math.min(remainingDiv, higherLimit);
divTax += higherDiv * 0.3375;
remainingDiv -= higherDiv;
if (remainingDiv > 0) {
// Additional rate
divTax += remainingDiv * 0.3935;
}
}
}
var outsideNet = salaryOutside + profitAfterTax – divTax;
// — INSIDE IR35 CALCULATION (Umbrella) —
// Deduct Employer NI (13.8%) and Apprentice Levy (0.5%) from Assignment Rate
// Gross Salary * 1.143 = Annual Revenue (approx)
var umbrellaFee = 1200; // Average annual umbrella fee
var availableForPayroll = annualRevenue – umbrellaFee;
// Calculate Gross Salary from Assignment Rate
// Assignment = GrossSalary + (GrossSalary – NIThreshold)*0.138 + (GrossSalary * 0.005)
// Threshold is ~£9100
var employerNIThreshold = 9100;
var grossSalaryInside = (availableForPayroll + (employerNIThreshold * 0.138)) / 1.143;
// Pension deduction from gross
var pensionAmount = grossSalaryInside * (pensionRate / 100);
var taxableSalary = grossSalaryInside – pensionAmount;
// PAYE Tax
var payeTax = 0;
var calcTaxable = taxableSalary;
if (calcTaxable > 12570) {
var basicPart = Math.min(calcTaxable – 12570, 37700);
payeTax += basicPart * 0.20;
if (calcTaxable > 50270) {
var higherPart = Math.min(calcTaxable – 50270, 74870);
payeTax += higherPart * 0.40;
if (calcTaxable > 125140) {
payeTax += (calcTaxable – 125140) * 0.45;
}
}
}
// Employee NI (8% for 2024/25)
var employeeNI = 0;
if (taxableSalary > 12570) {
var niPart = Math.min(taxableSalary – 12570, 37700);
employeeNI += niPart * 0.08;
if (taxableSalary > 50270) {
employeeNI += (taxableSalary – 50270) * 0.02;
}
}
var insideNet = taxableSalary – payeTax – employeeNI;
// Update UI
document.getElementById('resultsArea').style.display = 'block';
document.getElementById('outRevenue').innerText = '£' + annualRevenue.toLocaleString();
document.getElementById('outTaxes').innerText = '£' + (corpTax + divTax).toLocaleString(undefined, {maximumFractionDigits: 0});
document.getElementById('outTakeHome').innerText = '£' + outsideNet.toLocaleString(undefined, {maximumFractionDigits: 0});
document.getElementById('outMonthly').innerText = '£' + (outsideNet / 12).toLocaleString(undefined, {maximumFractionDigits: 0});
document.getElementById('inRevenue').innerText = '£' + annualRevenue.toLocaleString();
document.getElementById('inTaxes').innerText = '£' + (annualRevenue – insideNet – pensionAmount).toLocaleString(undefined, {maximumFractionDigits: 0});
document.getElementById('inTakeHome').innerText = '£' + insideNet.toLocaleString(undefined, {maximumFractionDigits: 0});
document.getElementById('inMonthly').innerText = '£' + (insideNet / 12).toLocaleString(undefined, {maximumFractionDigits: 0});
// Scroll to results
document.getElementById('resultsArea').scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}