Calculating My Hourly Rate

Hourly Rate Calculator

Determine what you should charge based on your financial goals.

Recommended Hourly Rate:


How to Calculate Your Hourly Rate as a Freelancer

Moving from a traditional salary to a freelance or contract-based model requires a shift in how you view your time. You aren't just getting paid for the work; you are a business owner responsible for your own taxes, insurance, equipment, and downtime.

The Components of the Calculation

To find a sustainable rate, you must account for three primary factors:

  • Desired Net Income: This is the take-home pay you want to earn after business expenses but before personal income taxes.
  • Overhead and Expenses: Includes software subscriptions, hardware, health insurance, office space, and marketing costs.
  • Billable vs. Non-Billable Hours: Most freelancers spend 20-30% of their time on administration, sales, and learning. You cannot bill for 40 hours if you only have 25 hours of actual client work.

The Formula

Our calculator uses the following mathematical logic:

Annual Target = (Desired Salary + Annual Expenses)
Working Weeks = (52 – Vacation Weeks)
Annual Billable Hours = (Working Weeks × Billable Hours Per Week)
Hourly Rate = Annual Target / Annual Billable Hours

Real-World Example

Imagine you want to earn $80,000 per year. Your business expenses (laptop, coffee, software, insurance) total $10,000. You want 4 weeks of vacation. You estimate you can realistically bill for 25 hours per week after accounting for meetings and admin.

  • Total Target: $90,000
  • Working Weeks: 48
  • Total Yearly Hours: 1,200 (48 weeks * 25 hours)
  • Required Rate: $75.00/hour

Don't Forget Taxes

Remember that as a self-employed professional, you are responsible for both the employer and employee portions of social security and medicare (in the US, this is Self-Employment Tax). It is often recommended to add an additional 25-30% to your calculated rate to ensure you have enough set aside for the tax man.

function calculateHourlyRate() { var salary = parseFloat(document.getElementById('desiredSalary').value); var expenses = parseFloat(document.getElementById('annualExpenses').value); var weeklyHours = parseFloat(document.getElementById('billableHours').value); var vacation = parseFloat(document.getElementById('vacationWeeks').value); // Validation if (isNaN(salary) || isNaN(expenses) || isNaN(weeklyHours) || isNaN(vacation)) { alert("Please enter valid numbers in all fields."); return; } if (vacation >= 52) { alert("Vacation weeks cannot be 52 or more."); return; } if (weeklyHours <= 0) { alert("Billable hours must be greater than zero."); return; } // Calculations var totalTarget = salary + expenses; var workingWeeks = 52 – vacation; var annualHours = workingWeeks * weeklyHours; var hourlyRate = totalTarget / annualHours; // Display var resultArea = document.getElementById('resultArea'); var finalRateDisplay = document.getElementById('finalRate'); var breakdownText = document.getElementById('breakdownText'); finalRateDisplay.innerHTML = "$" + hourlyRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); breakdownText.innerHTML = "Based on " + annualHours + " billable hours per year (" + workingWeeks + " weeks at " + weeklyHours + " hrs/week) to cover a total need of $" + totalTarget.toLocaleString() + "."; resultArea.style.display = "block"; resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment