Calculate total earnings and effective hourly rates including overtime.
$
1.5x (Time and a Half)
2.0x (Double Time)
1.0x (Straight Time)
2.5x (Double Time and a Half)
Regular Pay:$0.00
Overtime Rate:$0.00 /hr
Overtime Pay:$0.00
Total Hours:0.0
Blended (Effective) Hourly Rate:$0.00 /hr
Total Gross Pay:$0.00
How to Calculate Hourly Rate with Overtime
Calculating your paycheck accurately requires understanding how overtime rules affect your base hourly rate. For most employees in the United States, the Fair Labor Standards Act (FLSA) dictates that any hours worked over 40 in a standard workweek must be paid at a rate of at least one and one-half times the regular rate of pay.
The Golden Rule: Standard Overtime = Regular Rate × 1.5 × Overtime Hours.
The Step-by-Step Formula
To calculate your gross pay when overtime is involved, follow this logic:
Determine Regular Earnings: Multiply your base hourly rate by the number of regular hours worked (usually capped at 40).
Calculate Overtime Rate: Multiply your base rate by the overtime multiplier.
Time and a half: Base Rate × 1.5
Double time: Base Rate × 2.0
Determine Overtime Earnings: Multiply your new Overtime Rate by the number of extra hours worked.
Sum It Up: Add Regular Earnings + Overtime Earnings to get Total Gross Pay.
Example Calculation
Let's say you earn $20.00 per hour. Last week, you worked 45 hours.
Regular Hours: 40 hours
Overtime Hours: 5 hours (45 – 40)
Regular Pay: 40 × $20.00 = $800.00
Overtime Rate: $20.00 × 1.5 = $30.00 per hour
Overtime Pay: 5 × $30.00 = $150.00
Total Pay: $800.00 + $150.00 = $950.00
What is the "Blended" or "Effective" Hourly Rate?
Sometimes it is useful to know what you effectively earned per hour when you combine your regular and overtime pay. This is called the blended rate.
Formula: Total Gross Pay ÷ Total Hours Worked
Using the example above: $950.00 ÷ 45 hours = $21.11 per hour. Even though your base rate is $20, the overtime hours boosted your average earnings for that week.
Common Overtime Multipliers
1.5x (Time and a Half): The standard legal requirement for hours over 40 in a week.
2.0x (Double Time): Often offered by employers for working holidays or excessive consecutive hours.
2.5x (Double Time and a Half): Rare, but sometimes applicable for working overtime on major holidays.
function calculateOvertime() {
// 1. Get input values
var baseRateStr = document.getElementById("baseRate").value;
var regHoursStr = document.getElementById("regularHours").value;
var otHoursStr = document.getElementById("otHours").value;
var multiplierStr = document.getElementById("multiplier").value;
// 2. Validate and Parse Inputs
var baseRate = parseFloat(baseRateStr);
var regHours = parseFloat(regHoursStr);
var otHours = parseFloat(otHoursStr);
var multiplier = parseFloat(multiplierStr);
// Default to 0 if empty or NaN
if (isNaN(baseRate)) baseRate = 0;
if (isNaN(regHours)) regHours = 0;
if (isNaN(otHours)) otHours = 0;
// Multiplier shouldn't be NaN because it's a select, but safe to check
if (isNaN(multiplier)) multiplier = 1.5;
// 3. Perform Calculations
var regularPay = baseRate * regHours;
var otRate = baseRate * multiplier;
var otPay = otRate * otHours;
var totalPay = regularPay + otPay;
var totalHours = regHours + otHours;
var effectiveRate = 0;
if (totalHours > 0) {
effectiveRate = totalPay / totalHours;
}
// 4. Update the DOM with Results
document.getElementById("displayRegularPay").innerHTML = "$" + formatMoney(regularPay);
document.getElementById("displayOtRate").innerHTML = "$" + formatMoney(otRate) + " /hr";
document.getElementById("displayOtPay").innerHTML = "$" + formatMoney(otPay);
document.getElementById("displayTotalHours").innerHTML = totalHours.toFixed(2);
document.getElementById("displayEffectiveRate").innerHTML = "$" + formatMoney(effectiveRate) + " /hr";
document.getElementById("displayTotalPay").innerHTML = "$" + formatMoney(totalPay);
// 5. Show Results Area
var resultArea = document.getElementById("resultArea");
resultArea.className = "results-area visible";
}
function formatMoney(num) {
return num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}