Determine exactly what you need to charge to meet your financial goals.
Your desired yearly salary (before tax).
Hours you actually charge clients (exclude admin time).
Vacation, sick days, and holidays.
Software, internet, insurance, coworking space.
Your Minimum Hourly Rate
$0.00 / hr
Total Annual Revenue Needed
$0.00
Total Billable Hours / Year
0
Weekly Revenue Target
$0.00
Daily Rate (8h day)
$0.00
How to Calculate Your Rate Per Hour Effectively
Whether you are transitioning from a full-time job to freelancing, or simply trying to understand the hourly value of your current salary, calculating your rate per hour is a fundamental step in financial planning. Unlike a standard paycheck, your hourly rate as a contractor or business owner must cover not just your salary, but also your overhead, taxes, and non-billable time.
The Basic Hourly Rate Formula
At its core, the formula for calculating your hourly rate involves determining your total financial requirement and dividing it by the actual time you spend earning money. The formula typically looks like this:
Billable vs. Actual Hours: If you work 40 hours a week, you likely cannot bill clients for all 40 hours. Administrative tasks, marketing, and accounting take up time. A realistic billable load for freelancers is often 25–30 hours per week.
Time Off: Full-time employees get paid vacation. Freelancers do not. You must calculate how many weeks you plan to take off (vacation + holidays + potential sick days) and subtract this from 52 weeks.
Overhead Costs: Do not forget to add your business expenses (software subscriptions, equipment, internet) to your target income. Your rate must cover these costs to maintain your profit margin.
Why You Shouldn't Just Convert Salary to Hourly
A common mistake is taking an annual salary (e.g., $50,000) and dividing it by 2,080 hours (40 hours × 52 weeks). This results in roughly $24/hour. However, this number is misleading for freelancers because it assumes you work every single week of the year and have zero expenses. To maintain a $50,000 lifestyle as a freelancer, you often need to charge double the standard salary-based hourly rate to account for self-employment taxes, insurance, and unpaid downtime.
Using the Calculator
The tool above simplifies this process. By inputting your desired net income goal and estimating your monthly overhead, it calculates the gross revenue you need to generate. It then distributes that amount over your actual billable hours, ensuring that when you quote a client, you are covering both your salary and your business costs.
function calculateHourlyRate() {
// 1. Get input values by ID
var incomeInput = document.getElementById('targetAnnualIncome');
var hoursInput = document.getElementById('billableHoursPerWeek');
var weeksOffInput = document.getElementById('weeksOff');
var expensesInput = document.getElementById('monthlyOverhead');
var resultBox = document.getElementById('rateResult');
var errorBox = document.getElementById('errorDisplay');
// 2. Parse values or default to 0
var targetIncome = parseFloat(incomeInput.value);
var weeklyHours = parseFloat(hoursInput.value);
var weeksOff = parseFloat(weeksOffInput.value);
var monthlyExpenses = parseFloat(expensesInput.value);
// 3. Validation
if (isNaN(targetIncome) || isNaN(weeklyHours)) {
errorBox.style.display = 'block';
errorBox.innerHTML = "Please enter at least your Target Income and Billable Hours.";
resultBox.style.display = 'none';
return;
}
// Handle empty optional fields
if (isNaN(weeksOff)) weeksOff = 0;
if (isNaN(monthlyExpenses)) monthlyExpenses = 0;
// Logical validation
if (weeksOff >= 52) {
errorBox.style.display = 'block';
errorBox.innerHTML = "Weeks off cannot equal or exceed 52 weeks.";
resultBox.style.display = 'none';
return;
}
if (weeklyHours <= 0) {
errorBox.style.display = 'block';
errorBox.innerHTML = "Billable hours must be greater than zero.";
resultBox.style.display = 'none';
return;
}
errorBox.style.display = 'none';
// 4. Perform Calculation
var annualExpenses = monthlyExpenses * 12;
var totalRevenueRequired = targetIncome + annualExpenses;
var workingWeeks = 52 – weeksOff;
var totalBillableHours = weeklyHours * workingWeeks;
// Avoid division by zero
if (totalBillableHours <= 0) {
errorBox.style.display = 'block';
errorBox.innerHTML = "Total billable hours result in zero. Check your weeks off and hours.";
resultBox.style.display = 'none';
return;
}
var hourlyRate = totalRevenueRequired / totalBillableHours;
// Derived metrics
var weeklyRevenue = hourlyRate * weeklyHours; // Revenue generated in a working week
var dailyRate = hourlyRate * 8; // Assuming a standard 8 hour day equivalent
// 5. Update HTML Output
document.getElementById('finalHourlyRate').innerHTML = '$' + hourlyRate.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2}) + ' / hr';
document.getElementById('totalRevenueNeeded').innerText = '$' + totalRevenueRequired.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('totalBillableHours').innerText = totalBillableHours.toLocaleString('en-US', {maximumFractionDigits: 0});
document.getElementById('weeklyRevenue').innerText = '$' + weeklyRevenue.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('dailyRate').innerText = '$' + dailyRate.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Show result container
resultBox.style.display = 'block';
}