Simple Mortgage Rate Calculator

Freelance Hourly Rate Calculator .fhc-wrapper { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 20px; background: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; } .fhc-calculator-card { background: #ffffff; padding: 25px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); margin-bottom: 30px; } .fhc-title { text-align: center; color: #2c3e50; margin-bottom: 25px; font-size: 24px; font-weight: 700; } .fhc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } @media (max-width: 600px) { .fhc-grid { grid-template-columns: 1fr; } } .fhc-input-group { margin-bottom: 15px; } .fhc-label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; font-size: 14px; } .fhc-input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px; box-sizing: border-box; transition: border-color 0.3s; } .fhc-input:focus { border-color: #3498db; outline: none; } .fhc-button { width: 100%; padding: 15px; background-color: #2ecc71; color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } .fhc-button:hover { background-color: #27ae60; } .fhc-result { margin-top: 25px; padding: 20px; background-color: #f1f8e9; border: 1px solid #c5e1a5; border-radius: 6px; display: none; text-align: center; } .fhc-result-value { font-size: 36px; color: #2e7d32; font-weight: 800; margin: 10px 0; } .fhc-result-label { font-size: 16px; color: #558b2f; } .fhc-breakdown { margin-top: 15px; text-align: left; font-size: 14px; color: #666; border-top: 1px solid #dcedc8; padding-top: 10px; } .fhc-content { line-height: 1.6; color: #333; } .fhc-content h2 { color: #2c3e50; margin-top: 30px; } .fhc-content h3 { color: #34495e; } .fhc-content ul { margin-left: 20px; } .fhc-content li { margin-bottom: 8px; }
Freelance Hourly Rate Calculator
Minimum Hourly Rate Needed:
$0.00
Annual Breakdown:
Total Revenue Needed:
Total Billable Hours:

How to Calculate Your Freelance Hourly Rate

Determining the right hourly rate is one of the biggest challenges for freelancers, consultants, and independent contractors. Unlike a salaried employee, your hourly rate must cover not just your take-home pay, but also your taxes, business expenses, and time off.

Understanding the Formula

This calculator uses a comprehensive approach to ensure you don't underprice your services. Here is the logic behind the numbers:

  • Target Net Income: This is the "salary" you want to take home after all expenses and taxes are paid.
  • Overhead & Expenses: Software subscriptions, internet, hardware, and marketing costs must be added to your revenue goals, not subtracted from your salary.
  • Taxes: As a freelancer, you are responsible for the full tax burden (self-employment tax). A common rule of thumb is to set aside 25-30% of your profit.
  • Billable Hours: You cannot bill for 40 hours a week. You need time for admin, sales, and professional development. Most successful freelancers bill between 20 and 30 hours per week.

The "Billable Efficiency" Trap

Many new freelancers make the mistake of dividing their desired salary by 2,080 (a standard 40-hour work year). This results in a rate that is far too low. You must account for unbillable time. If you spend 10 hours a week on emails and invoicing, you only have 30 hours left to earn revenue. Your rate must be higher to compensate for those non-billable hours.

Example Calculation

If you want to take home $60,000, have $5,000 in annual expenses, pay 25% in taxes, and take 4 weeks off per year working 25 billable hours a week:

  • Total Revenue Needed: Approx $85,000 (to cover the net, taxes, and expenses).
  • Total Billable Hours: 1,200 hours per year (48 weeks × 25 hours).
  • Required Rate: ~$70.83 per hour.

Use the calculator above to adjust these variables to your specific situation and find your perfect rate.

function calculateHourlyRate() { // 1. Get Input Values var targetIncome = parseFloat(document.getElementById('fhcTargetIncome').value); var monthlyExpenses = parseFloat(document.getElementById('fhcExpenses').value); var taxRate = parseFloat(document.getElementById('fhcTaxRate').value); var weeksOff = parseFloat(document.getElementById('fhcWeeksOff').value); var billableHours = parseFloat(document.getElementById('fhcBillableHours').value); // 2. Input Validation if (isNaN(targetIncome) || isNaN(monthlyExpenses) || isNaN(taxRate) || isNaN(weeksOff) || isNaN(billableHours)) { alert("Please enter valid numbers in all fields."); return; } if (billableHours = 1) { taxDecimal = 0.99; } var profitNeeded = targetIncome / (1 – taxDecimal); // E. Calculate Total Revenue Needed (Profit + Expenses) // Note: Expenses are usually deducted before tax calculation in accounting, // but for a pricing model, we need Revenue that covers Expenses AND the Taxed Profit. // Revenue – Expenses = Profit. // Profit – Taxes = Net Income. var totalRevenueNeeded = profitNeeded + annualExpenses; // F. Calculate Hourly Rate var hourlyRate = totalRevenueNeeded / totalAnnualHours; // 4. Update UI var resultDiv = document.getElementById('fhcResult'); var rateDisplay = document.getElementById('fhcRateDisplay'); var revenueDisplay = document.getElementById('fhcTotalRevenue'); var hoursDisplay = document.getElementById('fhcTotalHours'); // Format currency var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }); rateDisplay.innerHTML = formatter.format(hourlyRate); revenueDisplay.innerHTML = formatter.format(totalRevenueNeeded); hoursDisplay.innerHTML = totalAnnualHours.toLocaleString(); // Show result resultDiv.style.display = 'block'; }

Leave a Comment