> What a contractor takes home inside IR35 through an umbrella against outside IR35 through a limited company in 2026/27, with the rates and a worked £500 a day example.

Web version: https://checktakehomepay.co.uk/guides/ir35 · Last updated: 2026-10-09

# Inside or outside IR35: what you take home

The same day rate leaves a contractor with different pay inside and outside IR35. Here is why, with the 2026/27 rates and a worked example.

## The short answer

On £500 a day (£130,000 a year) in England in 2026-27, a contractor outside IR35 through their own limited company takes home **£77,960.34**; inside IR35 through an umbrella, **£73,151.25**. Outside is £4,809.09 a year more.

## Inside and outside IR35

-   **Inside IR35** the work is taxed like employment. Through an umbrella company, the day rate pays the umbrella’s margin, the employer’s NI and the Apprenticeship Levy first; what is left is a salary, taxed through PAYE with the employee’s NI.
-   **Outside IR35**, through your own limited company, the company pays corporation tax on its profit (19% up to £50,000, 25% above £250,000, with marginal relief between), and pays you a small salary and the rest as dividends, taxed at 10.75%, 35.75% and 39.35% after the £500 allowance.

## A worked example: £500 a day

|  | Inside (umbrella) | Outside (limited company) |
| --- | --- | --- |
| Income | £130,000 | £130,000 |
| Salary | £112,078.45 | £12,570 |
| Dividends |  | £87,021.59 |
| Corporation tax |  | £26,272.91 |
| **Take-home** | **£73,151.25** | **£77,960.34** |

With an umbrella margin of £25 a week and £3,000 a year of company expenses. What the comparison assumes:

-   Inside IR35 is through an umbrella company; outside IR35 is through your own limited company with no other employees (so no Employment Allowance), a salary from the usual choices and the rest of the profit as dividends.
-   Only what applies to both routes is asked for, so the difference is for the same income. Inside IR35 through your own company (the deemed payment) is not modelled.
-   Corporation tax is for a 12-month accounting period with no associated companies, with marginal relief between the limits.
-   Employment Allowance (employment\_allowance) is not available to a company whose only employee paid above the secondary threshold is a director: the caller checks it applies.
-   The director's NI is on the annual earnings period, category A. Income tax is on the year's salary and dividends together, as Self Assessment settles it.

## Working it out with the API

One call compares the two routes for any rate and region; [umbrella pay](https://checktakehomepay.co.uk/docs/api/umbrella-pay) and [director pay](https://checktakehomepay.co.uk/docs/api/director-pay) give each route on its own. The [IR35 comparison reference](https://checktakehomepay.co.uk/docs/api/ir35-compare) has every field.

`POST /v1/ir35-compare`

cURL

```
curl https://api.checktakehomepay.co.uk/v1/ir35-compare \
  -H "Authorization: Bearer $CHECKTAKEHOMEPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "region": "england",
  "income": {
    "amount": 500,
    "per": "day"
  },
  "margin": {
    "amount": 25,
    "per": "week"
  },
  "expenses": {
    "amount": 3000,
    "per": "year"
  }
}'
```

Node.js

```
const response = await fetch('https://api.checktakehomepay.co.uk/v1/ir35-compare', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.CHECKTAKEHOMEPAY_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "region": "england",
    "income": {
      "amount": 500,
      "per": "day"
    },
    "margin": {
      "amount": 25,
      "per": "week"
    },
    "expenses": {
      "amount": 3000,
      "per": "year"
    }
  }),
});
const result = await response.json();
```

Python

```
import os
import requests

response = requests.post(
    "https://api.checktakehomepay.co.uk/v1/ir35-compare",
    headers={"Authorization": f"Bearer {os.environ['CHECKTAKEHOMEPAY_API_KEY']}"},
    json={
        "region": "england",
        "income": {"amount": 500, "per": "day"},
        "margin": {"amount": 25, "per": "week"},
        "expenses": {"amount": 3000, "per": "year"},
    },
)
result = response.json()
```

## Get an API key

Free for 100 calculations a month, with every endpoint.

[Get an API key](https://checktakehomepay.co.uk/login)[Read the quickstart](https://checktakehomepay.co.uk/docs/quickstart)
