The net amount you want to earn per year before taxes.
Software, hardware, insurance, marketing, and office space.
Hours you actually charge clients (not including admin or sales).
Weeks you will not be working at all.
Self-employment tax plus income tax.
Recommended Hourly Rate:
Understanding Your Freelance Hourly Rate
Calculating the correct freelance rate is the most critical step toward building a sustainable business. Many new freelancers make the mistake of simply dividing their previous corporate salary by 2,080 hours (the standard work year), failing to account for overhead, taxes, and non-billable time.
The "Hidden" Costs of Freelancing
When you are self-employed, you are both the employer and the employee. This means you are responsible for costs that companies usually cover:
Self-Employment Tax: You must pay both the employer and employee portions of Social Security and Medicare.
Software & Tools: Subscriptions like Adobe Creative Cloud, Zoom, or specialized CRM tools.
Health Insurance: Often the largest out-of-pocket expense for independent contractors.
Non-Billable Time: You cannot bill for time spent invoicing, sending cold emails, or updating your portfolio. Most full-time freelancers only average 20–30 billable hours per week.
How to Use This Calculator
To get an accurate result, be realistic about your Billable Hours. If you spend 40 hours a week at your desk, you are likely only "billable" for 25 of those hours. The rest is business administration.
Realistic Example
Suppose you want to take home $75,000 a year. You have $500 in monthly expenses ($6,000/year). You plan to take 4 weeks off and can bill 25 hours per week. Assuming a 25% tax rate, your total gross revenue target is approximately $106,000. To hit this, your hourly rate needs to be roughly $88.00 per hour.
function calculateFreelanceRate() {
var desiredSalary = parseFloat(document.getElementById("desiredSalary").value);
var monthlyExpenses = parseFloat(document.getElementById("monthlyExpenses").value);
var billableHours = parseFloat(document.getElementById("billableHours").value);
var vacationWeeks = parseFloat(document.getElementById("vacationWeeks").value);
var taxRate = parseFloat(document.getElementById("taxRate").value);
if (isNaN(desiredSalary) || isNaN(monthlyExpenses) || isNaN(billableHours) || isNaN(vacationWeeks) || isNaN(taxRate)) {
alert("Please fill in all fields with valid numbers.");
return;
}
// 1. Calculate Total Annual Expenses
var annualExpenses = monthlyExpenses * 12;
// 2. Adjust for Taxes
// Formula: Gross Income = Desired Net / (1 – taxRatePercentage)
var grossSalaryNeeded = desiredSalary / (1 – (taxRate / 100));
// 3. Total Revenue Needed
var totalRevenueNeeded = grossSalaryNeeded + annualExpenses;
// 4. Total Work Weeks
var workWeeks = 52 – vacationWeeks;
if (workWeeks <= 0) {
alert("Vacation weeks cannot be greater than or equal to 52.");
return;
}
// 5. Total Annual Billable Hours
var totalBillableHours = workWeeks * billableHours;
// 6. Calculate Rate
var hourlyRate = totalRevenueNeeded / totalBillableHours;
// Display Results
var resultDiv = document.getElementById("freelanceResult");
var hourlyOutput = document.getElementById("hourlyOutput");
var breakdownOutput = document.getElementById("breakdownOutput");
resultDiv.style.display = "block";
hourlyOutput.innerText = "$" + hourlyRate.toFixed(2);
breakdownOutput.innerHTML = "To take home $" + desiredSalary.toLocaleString() + " after taxes, you need a gross annual revenue of $" + Math.round(totalRevenueNeeded).toLocaleString() + ". This covers your expenses and an estimated tax bill of $" + Math.round(grossSalaryNeeded – desiredSalary).toLocaleString() + ".";
window.scrollTo({
top: resultDiv.offsetTop – 100,
behavior: 'smooth'
});
}