What’s My Hourly Rate Calculator

.whr-calculator-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; border: 1px solid #e0e0e0; border-radius: 8px; background-color: #f9f9f9; } .whr-input-group { margin-bottom: 20px; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .whr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } @media (max-width: 600px) { .whr-grid { grid-template-columns: 1fr; } } .whr-field { display: flex; flex-direction: column; } .whr-field label { font-weight: 600; margin-bottom: 8px; color: #333; font-size: 14px; } .whr-field input { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; } .whr-btn { background-color: #2c3e50; color: white; border: none; padding: 15px 30px; font-size: 18px; border-radius: 4px; cursor: pointer; width: 100%; margin-top: 10px; transition: background 0.3s; } .whr-btn:hover { background-color: #34495e; } .whr-results { margin-top: 30px; padding: 20px; background-color: #e8f4f8; border-radius: 8px; display: none; border-left: 5px solid #3498db; } .whr-results h3 { margin-top: 0; color: #2980b9; } .whr-result-item { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 16px; padding-bottom: 5px; border-bottom: 1px solid #d6eaf3; } .whr-result-item.highlight { font-weight: bold; font-size: 20px; color: #2c3e50; border-bottom: none; margin-top: 15px; } .whr-article { margin-top: 50px; font-family: inherit; line-height: 1.6; color: #444; } .whr-article h2 { color: #2c3e50; border-bottom: 2px solid #eee; padding-bottom: 10px; } .whr-article h3 { color: #34495e; margin-top: 25px; } .whr-article ul { margin-bottom: 20px; } .whr-article li { margin-bottom: 10px; } .whr-help-text { font-size: 12px; color: #666; margin-top: 4px; }

Freelance Hourly Rate Calculator

Calculate the rate you need to charge to meet your lifestyle and business goals.

The "take-home" pay you want after taxes.
Software, hardware, insurance, coworking, etc.
Hours actually spent working for clients.
Vacation, holidays, and sick days.
Percentage set aside for taxes (Self-Employment).
Buffer for business growth/savings.

Calculation Results

Total Billable Hours / Year: 0
Gross Revenue Needed: $0.00
Tax Estimate: $0.00
Minimum Hourly Rate: $0.00
Daily Rate (based on billable hours): $0.00

How to Calculate Your Freelance Hourly Rate

Transitioning from a salaried employee to a freelancer or consultant requires a fundamental shift in how you view your income. You cannot simply take your old hourly wage (Salary / 2080 hours) and use that as your freelance rate. Doing so often leads to undercharging, as it ignores the additional costs and risks associated with self-employment.

The Freelance Rate Formula

This calculator uses a reverse-engineering approach to determine your rate based on your financial needs. The logic follows these steps:

  1. Determine Net Income: How much money do you need in your pocket to pay personal bills and maintain your lifestyle?
  2. Add Business Overhead: Freelancers must pay for their own equipment, software, insurance, marketing, and office space.
  3. Factor in Taxes: Unlike employees, freelancers pay both the employer and employee portion of certain taxes (often called Self-Employment Tax), plus income tax.
  4. Calculate Billable Capacity: You cannot bill 40 hours a week, 52 weeks a year. You need time for admin work, sales, and vacation.

Key Inputs Explained

  • Billable Hours: This is the most critical variable. The average freelancer might work 40 hours a week, but only 20-30 of those are "billable" (client-facing). The rest is administration, accounting, and business development.
  • Weeks Off: Paid Time Off (PTO) does not exist for freelancers. If you want 2 weeks of vacation, 1 week for holidays, and 1 week for sick days, you must factor 4 weeks of zero revenue into your pricing model.
  • Tax Rate: This varies by location, but a safe rule of thumb for US-based freelancers is to set aside 25-30% of gross revenue for taxes.
  • Profit Margin: A business should do more than just pay its owner's salary. A profit margin allows you to save for dry spells or invest in upgrades.

Example Calculation

Let's say you want to take home $80,000 annually.

  • Expenses: $5,000/year (Laptop, software, internet).
  • Taxes: 25%.
  • Billable Time: 30 hours/week.
  • Time Off: 4 weeks/year (Working 48 weeks).

Your total working hours are 30 hours * 48 weeks = 1,440 hours.

To Net $80,000 with $5,000 expenses, assuming a 25% tax rate, you generally need a Gross Revenue of roughly $113,333 ($85,000 / 0.75).

Hourly Rate = $113,333 / 1,440 hours = ~$78.70/hr.

If you charged $40/hr thinking it was a "good salary", you would only gross $57,600, leaving you with far less than your target after taxes and expenses.

function calculateHourlyRate() { // 1. Get Input Values var desiredNet = parseFloat(document.getElementById('desired_salary').value); var expenses = parseFloat(document.getElementById('annual_expenses').value); var weeklyHours = parseFloat(document.getElementById('billable_hours').value); var weeksOff = parseFloat(document.getElementById('weeks_off').value); var taxRate = parseFloat(document.getElementById('tax_rate').value); var profitMargin = parseFloat(document.getElementById('profit_margin').value); // 2. Validate Inputs if (isNaN(desiredNet) || desiredNet < 0) desiredNet = 0; if (isNaN(expenses) || expenses < 0) expenses = 0; if (isNaN(weeklyHours) || weeklyHours <= 0) { alert("Please enter valid billable hours per week."); return; } if (isNaN(weeksOff) || weeksOff < 0) weeksOff = 0; if (isNaN(taxRate) || taxRate < 0) taxRate = 0; if (isNaN(profitMargin) || profitMargin < 0) profitMargin = 0; // 3. Calculate Working Time var totalWeeksInYear = 52; var workingWeeks = totalWeeksInYear – weeksOff; if (workingWeeks = 1) { alert("Tax rate cannot be 100% or more."); return; } var baseFinancialNeed = desiredNet + expenses; var revenueNeededPreProfit = baseFinancialNeed / (1 – taxDecimal); // Add profit margin (markup on the gross cost) var totalGrossRevenue = revenueNeededPreProfit * (1 + profitDecimal); var taxAmount = totalGrossRevenue – baseFinancialNeed – (revenueNeededPreProfit * profitDecimal); // Simplified Tax view: Tax = Revenue – (Net+Expenses). // Actually, Tax = Revenue * TaxRate. // Let's recalculate Tax strictly based on Revenue for display accuracy. var displayTaxAmount = totalGrossRevenue * taxDecimal; var hourlyRate = totalGrossRevenue / annualBillableHours; var dailyRate = hourlyRate * (weeklyHours / 5); // Average daily rate based on 5 day week // 5. Display Results document.getElementById('res_total_hours').innerText = Math.round(annualBillableHours).toLocaleString(); document.getElementById('res_gross_revenue').innerText = formatCurrency(totalGrossRevenue); document.getElementById('res_tax_amount').innerText = formatCurrency(displayTaxAmount); document.getElementById('res_hourly_rate').innerText = formatCurrency(hourlyRate); document.getElementById('res_daily_rate').innerText = formatCurrency(dailyRate); // Show result section document.getElementById('whr_result_section').style.display = "block"; } function formatCurrency(num) { return '$' + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'); }

Leave a Comment