Calculate your total earnings including time-and-a-half or double-time
Time and a Half (1.5x)
Double Time (2.0x)
Straight Time (1.0x)
Pay Breakdown
Regular Pay:$0.00
Overtime Pay (1.5x):$0.00
Total Gross Pay:$0.00
How to Calculate Overtime Pay
Understanding how overtime is calculated is essential for both employees and employers to ensure fair compensation. Most labor laws, including the Fair Labor Standards Act (FLSA), require that non-exempt employees receive overtime pay for hours worked over 40 in a workweek.
The Standard Formula
To calculate your overtime pay manually, follow these three steps:
Regular Pay: Multiply your regular hourly rate by your regular hours (usually 40).
Overtime Rate: Multiply your hourly rate by the overtime multiplier (typically 1.5).
Overtime Pay: Multiply the overtime rate by the number of overtime hours worked.
Real-World Example
Let's say you earn $20 per hour and worked 45 hours this week at a 1.5x multiplier.
✅ Regular Pay: 40 hours × $20 = $800
✅ Overtime Rate: $20 × 1.5 = $30 per hour
✅ Overtime Pay: 5 hours × $30 = $150
✅ Total Gross Pay: $800 + $150 = $950
Common Overtime Multipliers
While 1.5x (time and a half) is the legal standard for hours over 40 in most jurisdictions, some companies or state laws (like in California) may require "Double Time" (2.0x) for hours worked on holidays or after 12 hours in a single workday.
function calculateOvertime() {
var rate = parseFloat(document.getElementById('hourlyRate').value);
var regHrs = parseFloat(document.getElementById('regHours').value);
var otHrs = parseFloat(document.getElementById('otHours').value);
var mult = parseFloat(document.getElementById('multiplier').value);
if (isNaN(rate) || isNaN(regHrs) || isNaN(otHrs)) {
alert("Please enter valid numbers for all fields.");
return;
}
// Logic
var regularPay = rate * regHrs;
var otRate = rate * mult;
var overtimePay = otHrs * otRate;
var totalPay = regularPay + overtimePay;
// Format results
document.getElementById('resRegPay').innerText = '$' + regularPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resOtPay').innerText = '$' + overtimePay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resTotalPay').innerText = '$' + totalPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Label update
var multLabel = (mult === 1.5) ? "1.5x" : (mult === 2.0) ? "2.0x" : mult + "x";
document.getElementById('resOtLabel').innerText = "Overtime Pay (" + multLabel + "):";
// Show result container
document.getElementById('ot-results').style.display = 'block';
}