Ir35 Rate Calculator

.ir35-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 900px; margin: 20px auto; padding: 30px; border: 1px solid #e1e4e8; border-radius: 12px; background-color: #ffffff; box-shadow: 0 4px 20px rgba(0,0,0,0.08); color: #333; } .ir35-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; } .ir35-input-section { background: #f8f9fa; padding: 20px; border-radius: 8px; } .ir35-calc-container h2 { margin-top: 0; color: #1a2b49; font-size: 24px; border-bottom: 2px solid #0056b3; padding-bottom: 10px; margin-bottom: 20px; } .ir35-form-group { margin-bottom: 15px; } .ir35-form-group label { display: block; font-weight: 600; margin-bottom: 5px; font-size: 14px; } .ir35-form-group input { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .ir35-calc-btn { width: 100%; background-color: #0056b3; color: white; padding: 15px; border: none; border-radius: 6px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; margin-top: 10px; } .ir35-calc-btn:hover { background-color: #004494; } .ir35-results-section { display: none; margin-top: 25px; padding: 20px; border-radius: 8px; background: #fff; border: 1px solid #e1e4e8; } .comparison-table { width: 100%; border-collapse: collapse; margin-top: 15px; } .comparison-table th { background: #f1f4f8; text-align: left; padding: 12px; border-bottom: 2px solid #dee2e6; } .comparison-table td { padding: 12px; border-bottom: 1px solid #eee; } .highlight-row { background-color: #f0f7ff; font-weight: bold; } .outside-text { color: #28a745; } .inside-text { color: #dc3545; } .ir35-article { margin-top: 40px; line-height: 1.6; } .ir35-article h3 { color: #1a2b49; margin-top: 25px; } @media (max-width: 600px) { .ir35-calc-grid { grid-template-columns: 1fr; } }

Contractor IR35 Rate Comparison Calculator

Annual Comparison Summary

Metric Outside IR35 Inside IR35
Gross Annual Revenue £0 £0
Business Costs / Deductions £0 £0
Total Tax Paid £0 £0
Net Annual Take-Home £0 £0
Monthly Take-Home £0 £0
Pro Tip: To match your Outside IR35 take-home while working Inside IR35, you would need an estimated day rate of £0.

How to Use the IR35 Rate Calculator

This tool is designed for UK contractors to understand the financial impact of the Off-Payroll Working rules (IR35). By entering your daily rate, the calculator compares the take-home pay between a Limited Company setup (Outside IR35) and an Umbrella Company setup (Inside IR35).

Input Parameters:

  • Daily Rate: The gross amount agreed with the client or agency.
  • Days/Weeks: Used to calculate the annual contract value. 230 days (46 weeks) is a standard conservative estimate allowing for holidays.
  • Expenses: Only applicable Outside IR35 (e.g., equipment, professional insurance, software).
  • Umbrella Margin: The fee charged by the payroll provider for Inside IR35 engagements.

Understanding the Logic

Outside IR35 Logic: We assume a tax-efficient strategy where the director takes a salary up to the Personal Allowance (£12,570) and the remainder as dividends. Calculation accounts for 19-25% Corporation Tax and current Dividend Tax rates.

Inside IR35 Logic: This follows the "deemed employee" model. The "Assignment Rate" must cover Employer National Insurance (13.8%), the Apprenticeship Levy (0.5%), and the Umbrella margin before arriving at the Gross Taxable Pay. Then, standard PAYE and Employee National Insurance are applied.

Example Comparison

If you have a day rate of £500 working 46 weeks a year:

  • Outside IR35: Your annual revenue is £115,000. After accounting for corporation tax and dividend tax, your take-home pay is significantly higher because you are not subject to Employer NI.
  • Inside IR35: Out of that same £115,000, nearly 14% is immediately diverted to Employer NI and the Levy. Your taxable gross is lower, and you pay full PAYE taxes.

Typically, a contractor needs a 25% to 35% higher day rate inside IR35 to achieve the same net take-home pay as an outside IR35 contract.

function calculateIR35() { var dayRate = parseFloat(document.getElementById('dayRate').value) || 0; var daysPerWeek = parseFloat(document.getElementById('daysPerWeek').value) || 0; var weeksPerYear = parseFloat(document.getElementById('weeksPerYear').value) || 0; var annualExpenses = (parseFloat(document.getElementById('expenses').value) || 0) * 12; var umbrellaMargin = (parseFloat(document.getElementById('umbrellaMargin').value) || 0) * weeksPerYear; var totalRevenue = dayRate * daysPerWeek * weeksPerYear; if (totalRevenue 50000 ? 0.25 : 0.19; var corpTax = outsideProfit * corpTaxRate; var postTaxProfit = outsideProfit – corpTax; // Dividend Tax (Basic 8.75%, Higher 33.75%) var divAllowance = 500; var basicRateLimit = 50270 – personalAllowance; var dividendTax = 0; var taxableDividends = postTaxProfit – divAllowance; if (taxableDividends > 0) { if (taxableDividends personalAllowance) { var niUpper = 50270; if (grossInside personalAllowance) { if (grossInside <= 50270) { payeTax = (grossInside – personalAllowance) * 0.20; } else if (grossInside <= 125140) { payeTax = (37700 * 0.20) + ((grossInside – 50270) * 0.40); } else { payeTax = (37700 * 0.20) + (74870 * 0.40) + ((grossInside – 125140) * 0.45); } } var netInside = grossInside – employeeNI – payeTax; // Update UI document.getElementById('resultsArea').style.display = 'block'; document.getElementById('resGrossOutside').innerText = '£' + totalRevenue.toLocaleString(); document.getElementById('resGrossInside').innerText = '£' + totalRevenue.toLocaleString(); document.getElementById('resCostsOutside').innerText = '£' + (annualExpenses + corpTax).toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resCostsInside').innerText = '£' + (employerNI + apprLevy + umbrellaMargin).toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resTaxOutside').innerText = '£' + dividendTax.toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resTaxInside').innerText = '£' + (payeTax + employeeNI).toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resNetOutside').innerText = '£' + netOutside.toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resNetInside').innerText = '£' + netInside.toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resMonthlyOutside').innerText = '£' + (netOutside / 12).toLocaleString(undefined, {maximumFractionDigits:0}); document.getElementById('resMonthlyInside').innerText = '£' + (netInside / 12).toLocaleString(undefined, {maximumFractionDigits:0}); // Required Uplift Calculation (Estimated) var ratio = netOutside / netInside; var upliftedRate = dayRate * ratio; document.getElementById('requiredRate').innerText = '£' + Math.round(upliftedRate).toLocaleString(); window.scrollTo({ top: document.getElementById('resultsArea').offsetTop – 50, behavior: 'smooth' }); }

Leave a Comment