Calculate your premium pay and total earnings for extra hours worked.
Overtime Hourly Rate:$0.00
Regular Pay Subtotal:$0.00
Overtime Pay Subtotal:$0.00
Total Gross Pay:$0.00
Understanding Your Overtime Rate of Pay
Knowing how to calculate your overtime pay is essential for ensuring you are compensated fairly for your labor. Under many labor laws, including the Fair Labor Standards Act (FLSA) in the United States, non-exempt employees are entitled to premium pay for hours worked beyond the standard workweek (usually 40 hours).
What is the Overtime Multiplier?
The overtime multiplier determines how much more you earn during overtime hours compared to your base rate. The most common multipliers include:
Time and a Half (1.5x): The standard rate for overtime in most industries.
Double Time (2.0x): Often applied for holidays, Sundays, or after exceeding a specific amount of daily overtime (common in California).
Triple Time (3.0x): Rare, but sometimes offered during critical peak seasons or specific union contracts.
How the Calculation Works
To calculate your total earnings, we use the following formulas:
Regular Pay: Regular Rate × Regular Hours (up to 40)
Overtime Pay: Overtime Rate × Overtime Hours
Total Gross Pay: Regular Pay + Overtime Pay
Real-World Example
Let's say you earn $20.00 per hour and worked 48 hours this week with a 1.5x multiplier.
Regular Pay: 40 hours × $20 = $800
Overtime Rate: $20 × 1.5 = $30 per hour
Overtime Pay: 8 hours × $30 = $240
Total Pay: $1,040
Why Accurately Tracking Hours Matters
Small discrepancies in overtime calculations can lead to significant losses over a year. By using this calculator, you can verify your pay stub against your actual hours worked. Remember that "gross pay" is the amount earned before taxes and other deductions like insurance or retirement contributions.
function calculateOvertime() {
var regRate = parseFloat(document.getElementById('regRate').value);
var otMultiplier = parseFloat(document.getElementById('otMultiplier').value);
var regHours = parseFloat(document.getElementById('regHours').value);
var otHours = parseFloat(document.getElementById('otHours').value);
// Validation
if (isNaN(regRate) || regRate <= 0) {
alert("Please enter a valid regular hourly rate.");
return;
}
if (isNaN(otMultiplier) || otMultiplier < 1) {
alert("Please enter a valid multiplier (usually 1.5).");
return;
}
if (isNaN(regHours) || regHours < 0) {
regHours = 0;
}
if (isNaN(otHours) || otHours < 0) {
otHours = 0;
}
// Calculations
var otRate = regRate * otMultiplier;
var regPayTotal = regRate * regHours;
var otPayTotal = otRate * otHours;
var totalGrossPay = regPayTotal + otPayTotal;
// Display Results
document.getElementById('resOtRate').innerText = '$' + otRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resRegPay').innerText = '$' + regPayTotal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resOtSubtotal').innerText = '$' + otPayTotal.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTotalGross').innerText = '$' + totalGrossPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Show result box
document.getElementById('otResults').style.display = 'block';
}