Determine exactly what you need to charge to meet your income goals while covering taxes and overhead.
Your "take-home" pay goal after taxes.
Software, hardware, insurance, coworking, etc.
Hours actually charged to clients (exclude admin time).
Vacation, sick days, and holidays.
Combined income and self-employment tax estimate.
Buffer for savings or business growth.
Minimum Hourly Rate$0.00
Gross Annual Revenue Needed$0.00
Total Billable Hours / Year0
Estimated Tax Liability$0.00
Why You Need a Freelance Rate Calculator
One of the most common mistakes new freelancers make is underpricing their services. When moving from a salaried job to freelancing, it is tempting to simply divide your old annual salary by 2,080 (the standard number of work hours in a year). However, this calculation ignores the massive overhead that comes with self-employment.
As a freelancer, you are responsible for:
Self-Employment Taxes: You pay both the employer and employee portion of Social Security and Medicare.
Unbillable Time: You cannot bill for marketing, accounting, replying to emails, or taking sick days. Most freelancers only bill 50-70% of their working hours.
Business Expenses: Health insurance, software subscriptions, hardware, and office space come directly out of your pocket.
Pro Tip: Always aim for a "billable hours" target that is realistic. Consistently billing 40 hours a week is extremely difficult because it requires another 10-15 hours of administrative work. A target of 20-30 billable hours is sustainable for most solopreneurs.
How the Calculation Works
This calculator uses a "bottom-up" approach to determine your rate. Here is the logic we use to ensure your rate covers your lifestyle:
1. Determine Total Cash Needs
First, we add your desired net income (what you want to keep) to your business expenses. Then, we adjust this figure based on your tax rate to find the Gross Revenue required. The formula looks like this:
We calculate your total working capacity by subtracting your vacation weeks from the 52 weeks in a year. Then, we multiply the remaining weeks by your weekly billable hours goal.
Finally, we divide the Gross Revenue by the Annual Billable Hours. We also apply your desired profit margin on top of this base rate to ensure you are building savings for your business.
Factors That Influence Your Rate
Experience and Niche
While this calculator gives you a mathematical floor (the minimum you must charge), your market value might be higher. Specialized niches like AI development or technical writing often command higher rates than general administrative tasks.
Value-Based Pricing vs. Hourly
This calculator is perfect for determining an hourly baseline. However, as you grow, consider moving to project-based or value-based pricing. This allows you to earn more by working faster and delivering specific outcomes rather than just selling your time.
function calculateFreelanceRate() {
// 1. Get input values
var salaryInput = document.getElementById("annualSalary").value;
var expensesInput = document.getElementById("annualExpenses").value;
var hoursInput = document.getElementById("billableHours").value;
var weeksOffInput = document.getElementById("weeksOff").value;
var taxInput = document.getElementById("taxRate").value;
var marginInput = document.getElementById("profitMargin").value;
// 2. Parse values and handle defaults/empties
var netIncome = parseFloat(salaryInput) || 0;
var expenses = parseFloat(expensesInput) || 0;
var weeklyHours = parseFloat(hoursInput) || 0;
var weeksOff = parseFloat(weeksOffInput) || 0;
var taxRate = parseFloat(taxInput) || 0;
var profitMargin = parseFloat(marginInput) || 0;
// 3. Validation
if (weeklyHours = 52) {
alert("Weeks off must be less than 52.");
return;
}
// 4. Calculation Logic
// A. Calculate working weeks
var workingWeeks = 52 – weeksOff;
// B. Total billable hours per year
var totalBillableHours = workingWeeks * weeklyHours;
// C. Calculate gross revenue needed to cover taxes
// Formula: (Net + Expenses) = Gross * (1 – TaxRate)
// Therefore: Gross = (Net + Expenses) / (1 – TaxRate)
var taxDecimal = taxRate / 100;
var baseNeed = netIncome + expenses;
// Prevent division by zero or negative if tax is 100% (unlikely but safe coding)
if (taxDecimal >= 1) {
alert("Tax rate cannot be 100% or more.");
return;
}
var grossRevenueNeeded = baseNeed / (1 – taxDecimal);
// D. Add Profit Margin
// If profit margin is 10%, we want the final revenue to include that.
// We treat profit margin as a markup on the gross revenue needed.
var revenueWithMargin = grossRevenueNeeded * (1 + (profitMargin / 100));
// E. Calculate Hourly Rate
var hourlyRate = revenueWithMargin / totalBillableHours;
// F. Calculate Tax Liability amount for display
var estimatedTaxes = grossRevenueNeeded – baseNeed; // Tax on the base need portion
// Note: The margin is also taxable, but for simplicity in this specific projection
// we show the tax on the core need or just Recalculate tax on the final total revenue.
// Let's reflect tax on the final total revenue for accuracy:
var finalTaxLiability = revenueWithMargin * taxDecimal;
// 5. Update UI
// Formatter for currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
});
document.getElementById("finalHourlyRate").innerHTML = formatter.format(hourlyRate);
document.getElementById("grossRevenue").innerHTML = formatter.format(revenueWithMargin);
document.getElementById("totalBillableHours").innerHTML = Math.round(totalBillableHours);
document.getElementById("taxLiability").innerHTML = formatter.format(finalTaxLiability);
// Show results container
document.getElementById("resultContainer").style.display = "block";
}