Hours you actually charge for (exclude admin time).
Required Hourly Rate$0.00
Required Daily Rate$0.00
Total Billable Hours / Year0
Total Billable Days / Year0
Total Revenue Needed$0.00
function calculateContractRate() {
// 1. Get input values
var targetIncome = parseFloat(document.getElementById('targetIncome').value);
var annualOverhead = parseFloat(document.getElementById('annualOverhead').value);
var vacationWeeks = parseFloat(document.getElementById('vacationWeeks').value);
var publicHolidays = parseFloat(document.getElementById('publicHolidays').value);
var workDaysPerWeek = parseFloat(document.getElementById('workDaysPerWeek').value);
var billableHours = parseFloat(document.getElementById('billableHours').value);
// 2. Validate inputs
if (isNaN(targetIncome) || targetIncome < 0) {
alert("Please enter a valid Target Annual Income.");
return;
}
if (isNaN(annualOverhead)) annualOverhead = 0;
if (isNaN(vacationWeeks)) vacationWeeks = 0;
if (isNaN(publicHolidays)) publicHolidays = 0;
if (isNaN(workDaysPerWeek) || workDaysPerWeek <= 0) workDaysPerWeek = 5;
if (isNaN(billableHours) || billableHours <= 0) billableHours = 8;
// 3. Logic Implementation
// Total weeks available
var totalWeeks = 52;
// Calculate Working Weeks
var workingWeeks = totalWeeks – vacationWeeks;
// Calculate Gross Working Days (before holidays)
var grossWorkingDays = workingWeeks * workDaysPerWeek;
// Calculate Net Billable Days
var netBillableDays = grossWorkingDays – publicHolidays;
// Safety check to prevent negative days
if (netBillableDays <= 0) {
alert("Your time off exceeds the total available working days.");
return;
}
// Calculate Total Billable Hours
var totalBillableHours = netBillableDays * billableHours;
// Calculate Total Revenue Needed
var totalRevenueNeeded = targetIncome + annualOverhead;
// Calculate Rates
var hourlyRate = totalRevenueNeeded / totalBillableHours;
var dailyRate = hourlyRate * billableHours;
// 4. Display Results
document.getElementById('hourlyRateResult').innerHTML = "$" + hourlyRate.toFixed(2);
document.getElementById('dailyRateResult').innerHTML = "$" + dailyRate.toFixed(2);
document.getElementById('totalHoursResult').innerHTML = Math.round(totalBillableHours).toLocaleString();
document.getElementById('totalDaysResult').innerHTML = Math.round(netBillableDays).toLocaleString();
document.getElementById('totalRevenueResult').innerHTML = "$" + totalRevenueNeeded.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Show the result box
document.getElementById('resultBox').style.display = "block";
}
Understanding How to Calculate Contract Rates
Determining the correct contract rate is one of the most critical challenges for freelancers, consultants, and independent contractors. Unlike a salaried employee, your rate must account for more than just your take-home pay. It needs to cover business overheads, self-employment taxes, health insurance, and critically, non-billable time.
The Formula Behind the Calculation
The Contract Rates Calculator above uses a "reverse engineering" approach to help you set your prices. Here is the logic broken down:
Total Revenue Needed: This is the sum of your desired annual income (what you would earn as a salary) plus your annual business expenses (hardware, software subscriptions, accounting fees, insurance).
Billable Time: We calculate your actual capacity by starting with 52 weeks and subtracting vacation time, sick leave, and public holidays.
Utilization Rate: Simply multiplying working days by 8 hours often leads to burnout or underpricing. Most contractors bill between 5 to 7 hours a day to allow for administrative tasks, marketing, and skill development.
The Final Rate: Your Total Revenue Needed divided by your Total Billable Hours gives you the minimum hourly rate required to sustain your lifestyle and business.
Why Your Rate Should Be Higher Than a Salary
A common mistake is taking a previous annual salary and dividing it by 2,080 (the standard number of work hours in a year: 40 hours x 52 weeks). This typically results in undercharging by 30% to 50%.
As a contractor, you assume risks that an employer usually bears. You are not paid for days you do not work, such as holidays or sick days. You also lack employer-sponsored benefits like 401(k) matching or health coverage. To compensate for this "employment risk" and overhead, a general rule of thumb is that your contract rate should be at least 1.5x to 2x the hourly equivalent of a permanent salary.
Factors Influencing Your Rate
Market Demand: High demand for specialized skills (e.g., legacy code maintenance, specialized engineering) allows for higher premiums.
Project Length: Short-term contracts often command a higher daily rate compared to long-term retainers (6-12 months) where income security is higher.
Expenses: If you work on-site, travel and commuting costs must be factored in. If you work remotely, ensure your rate covers your home office utility and equipment costs.
Hourly vs. Daily vs. Project Rates
While this calculator outputs hourly and daily rates, how you bill depends on your industry. Daily rates are common in IT and management consulting because they discourage clients from micromanaging hours. Hourly rates are standard for legal and creative work where scope creep is common. Project rates are ideal when you can deliver value quickly and don't want to be penalized for efficiency.