Determine the perfect hourly rate to cover costs and achieve your profit goals.
The pre-tax income you want to take home.
Rent, software, insurance, marketing, etc.
Total weeks minus holidays and sick leave (Max 52).
Hours actually charged to clients (exclude admin time).
Percentage markup for business growth and safety.
Please enter valid numbers greater than zero.
Total Annual Revenue Needed:$0.00
Total Billable Hours / Year:0
Break-Even Hourly Cost:$0.00
Recommended Charge Out Rate:$0.00
How to Calculate Hourly Charge Out Rate
Calculating your hourly charge out rate is one of the most critical exercises for freelancers, consultants, and service-based businesses. If you set your rate too low, you may find yourself working long hours without covering your operational costs. If you set it too high without justification, you risk losing potential clients.
This calculator uses a "bottom-up" approach, ensuring that every hour you bill contributes not just to your salary, but to your business overheads and profit margin.
The Formula Explained
To determine a sustainable hourly rate, you must consider four key factors:
Desired Salary: This is the personal income you need to support your lifestyle. It replaces the salary you would earn as an employee.
Overhead Costs: These are the "hidden" costs of running a business. Examples include office rent, laptop depreciation, software subscriptions, insurance, and accounting fees.
Billable Efficiency: You cannot bill for 40 hours a week, 52 weeks a year. You must account for holidays, sick days, and non-billable administrative tasks (invoicing, marketing, emails). A typical freelancer averages 25-30 billable hours per week.
Profit Margin: This is crucial. Profit is distinct from salary; it is the money reinvested into the business for growth or kept as a safety net.
Step-by-Step Calculation Logic
Our tool performs the following mathematics to derive your rate:
Total Annual Requirement:Desired Salary + Annual Overheads
Total Billable Capacity:Billable Weeks × Billable Hours per Week
Break-Even Rate:Total Annual Requirement ÷ Total Billable Capacity. (This is the minimum you must charge to earn your salary and pay bills).
Final Charge Out Rate:Break-Even Rate + (Break-Even Rate × Profit Margin Percentage).
Why Billable Hours Matter
Many new business owners make the mistake of dividing their desired income by 2,080 hours (a standard 40-hour work week x 52 weeks). This is dangerous because it ignores non-billable time. If you spend 10 hours a week on marketing and admin, you only have 30 hours to generate revenue. Ignoring this reality results in a lower effective hourly rate than anticipated.
function calculateChargeOutRate() {
// Get input values using var
var salaryInput = document.getElementById("desiredSalary").value;
var overheadsInput = document.getElementById("annualOverheads").value;
var weeksInput = document.getElementById("billableWeeks").value;
var hoursInput = document.getElementById("billableHoursPerWeek").value;
var marginInput = document.getElementById("profitMargin").value;
// Convert to floats
var salary = parseFloat(salaryInput);
var overheads = parseFloat(overheadsInput);
var weeks = parseFloat(weeksInput);
var hours = parseFloat(hoursInput);
var margin = parseFloat(marginInput);
// UI Elements
var errorMsg = document.getElementById("errorMsg");
var resultsArea = document.getElementById("resultsArea");
// Validation
if (isNaN(salary) || isNaN(overheads) || isNaN(weeks) || isNaN(hours) || isNaN(margin)) {
errorMsg.style.display = "block";
resultsArea.style.display = "none";
return;
}
if (weeks <= 0 || hours <= 0) {
errorMsg.innerText = "Weeks and Hours must be greater than zero.";
errorMsg.style.display = "block";
resultsArea.style.display = "none";
return;
}
// Reset error message
errorMsg.style.display = "none";
// 1. Calculate Total Annual Revenue Needed (Cost Basis)
var totalAnnualCost = salary + overheads;
// 2. Calculate Total Billable Hours per Year
var totalBillableHours = weeks * hours;
// 3. Calculate Break-Even Hourly Rate
var breakEvenRate = totalAnnualCost / totalBillableHours;
// 4. Calculate Profit Amount
var profitAmount = breakEvenRate * (margin / 100);
// 5. Final Rate
var finalRate = breakEvenRate + profitAmount;
// Update DOM
document.getElementById("totalRevenueResult").innerText = "$" + totalAnnualCost.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("totalHoursResult").innerText = totalBillableHours.toLocaleString();
document.getElementById("breakEvenResult").innerText = "$" + breakEvenRate.toFixed(2);
document.getElementById("finalRateResult").innerText = "$" + finalRate.toFixed(2);
// Show results
resultsArea.style.display = "block";
}