Calculate Total Employee Cost from Salary and Overhead
A salary is only one part of what an employee costs an organization each year. This calculator adds common employer overhead categories—benefits, payroll taxes, and equipment—to a positive annual base salary, then returns a clear annual and monthly fully loaded cost.
Run — free
Standard percentages are supplied as practical defaults, while every rate can be replaced with figures that match your company, location, and role. The result keeps each cost visible, making budgets easier to explain and compare.
Start with a consistent annual salary
Enter the employee's positive gross annual base salary before bonuses, benefits, employer taxes, or equipment. The calculator treats every monetary result as using the same currency unit as that salary, so a salary entered in dollars produces dollar-denominated costs and a salary entered in euros produces euro-denominated costs. It does not perform currency conversion. This simple convention makes the calculation useful across regions without silently assuming a symbol or exchange rate. Use the contracted annual salary rather than take-home pay, because take-home pay reflects employee deductions and is not the employer's starting expense. If you are comparing several roles, use the same salary definition for each one. Consistency matters more than false precision: a carefully defined salary paired with reasonable overhead assumptions produces a useful planning figure, while mixing monthly pay, net pay, and annual benefits creates a misleading total. A zero or negative base salary is rejected because it cannot represent a meaningful annual employee-cost calculation.
Choose overhead percentages that fit the organization
The default assumptions are 30 percent for benefits, 7.65 percent for employer payroll taxes, and 5 percent for equipment and workplace costs. They provide a quick baseline, not a universal rule. Benefits may include health coverage, retirement contributions, paid leave, insurance, or other employer-funded programs. The taxes field represents employer-side payroll obligations, which vary by jurisdiction, wage thresholds, and worker classification. Equipment can cover a computer, software, furniture, supplies, and an allocated workplace cost. Replace any default with a nonnegative percentage based on finance records or a documented planning policy. If a category does not apply, set it to zero rather than removing it mentally after calculation. For a fixed annual expense, such as a known laptop budget, convert it to a salary percentage by dividing the expense by base salary and multiplying by 100. Keeping assumptions explicit makes comparisons reproducible and lets reviewers see why two employees with identical salaries may have different loaded costs.
Read the breakdown and use it responsibly
Each overhead amount is calculated independently as base salary multiplied by its percentage. The calculator then adds the three amounts into total overhead, combines that overhead with salary for the fully loaded annual cost, and divides the annual total by twelve for a monthly planning figure. Monetary values are rounded to cents, while the selected percentages remain visible in the output. This breakdown is useful for headcount plans, hiring approvals, project pricing, departmental forecasts, and employee-versus-contractor comparisons. It is still an estimate rather than payroll, tax, or legal advice. Bonuses, commissions, recruiting fees, training, travel, severance, overtime, statutory programs, and shared administrative costs are outside the three-category model unless you deliberately incorporate them into one of the percentages. For scenario planning, run a low, expected, and high set of rates and record the assumptions beside each result. The range often supports a better decision than presenting one total as if every future cost were already known.
What you can do with it
Build a headcount budget
Turn planned salaries into comparable annual and monthly loaded costs before approving new roles.
Price client work
Estimate the employment cost behind a team member before setting a sustainable project or service rate.
Compare hiring scenarios
Change benefits, tax, and equipment assumptions to compare locations, employment packages, or planning ranges.
FAQ
What does the calculation cost?
The API price is $0.002 per calculation, and the calculator can also run free in your browser.
What percentages are used by default?
The defaults are 30% for benefits, 7.65% for employer payroll taxes, and 5% for equipment and workplace overhead.
Can I change the default percentages?
Yes. Supply any nonnegative finite percentage for each category, including zero when a category does not apply.
Does the calculator choose a currency?
No. Every monetary output uses the same currency unit as the base salary, with no conversion.
Are bonuses and recruiting costs included?
Not as separate categories. Include them in a chosen overhead percentage if appropriate, or account for them separately in your budget.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/biz/employee-cost-total \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base_salary":80000}'const res = await fetch("https://api.kit.forhosting.com/biz/employee-cost-total", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base_salary": 80000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/employee-cost-total",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base_salary": 80000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/employee-cost-total", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base_salary":80000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base_salary":80000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/employee-cost-total", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"base_salary": 80000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.employee_cost_total",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |