Overtime Pay Calculator

Overtime Pay Calculator

Calculate your total earnings including time-and-a-half or double-time pay.

1.5x (Time and a Half) 2.0x (Double Time) 1.0x (Straight Time) 2.5x (Premium Pay)

Pay Summary

Regular Pay: $0.00
Overtime Pay: $0.00
Overtime Hours: 0
Gross Total Pay: $0.00

Understanding Overtime Pay Calculations

Overtime pay is the additional compensation paid to employees for hours worked beyond their standard workweek. In most jurisdictions, the standard workweek is 40 hours, and any time worked above that limit is compensated at a higher rate.

How the Calculation Works

To calculate your total earnings for a pay period where you worked overtime, follow these steps:

  1. Determine Regular Pay: Multiply your regular hourly rate by the number of standard hours worked (usually up to 40).
  2. Identify Overtime Hours: Subtract your standard hours from your total hours worked.
  3. Calculate Overtime Rate: Multiply your regular hourly rate by the multiplier (e.g., 1.5 for time and a half).
  4. Calculate Overtime Pay: Multiply the overtime hours by the overtime rate.
  5. Total Gross Pay: Add your regular pay and your overtime pay together.

Common Overtime Multipliers

  • Time and a Half (1.5x): The most common rate for hours worked over 40 in a single week.
  • Double Time (2.0x): Often used for working on holidays, Sundays, or when exceeding a specific daily limit (like 12 hours in a shift in some regions).
  • Triple Time (3.0x): Rare, but sometimes applied during emergency call-outs or highly specialized labor union contracts.

Practical Example

If you earn $20.00 per hour and worked 48 hours in a week with a 1.5x overtime multiplier:

  • Regular Pay: 40 hours × $20.00 = $800.00
  • Overtime Hours: 48 – 40 = 8 hours
  • Overtime Rate: $20.00 × 1.5 = $30.00/hr
  • Overtime Pay: 8 hours × $30.00 = $240.00
  • Total Gross Pay: $1,040.00
function calculateOvertimePay() { var hourlyRate = parseFloat(document.getElementById('hourlyRate').value); var totalHours = parseFloat(document.getElementById('totalHours').value); var standardLimit = parseFloat(document.getElementById('standardHours').value); var multiplier = parseFloat(document.getElementById('otMultiplier').value); if (isNaN(hourlyRate) || isNaN(totalHours) || isNaN(standardLimit)) { alert("Please enter valid numeric values for rate and hours."); return; } var regularHours = 0; var overtimeHours = 0; if (totalHours > standardLimit) { regularHours = standardLimit; overtimeHours = totalHours – standardLimit; } else { regularHours = totalHours; overtimeHours = 0; } var regularPay = regularHours * hourlyRate; var overtimePay = overtimeHours * (hourlyRate * multiplier); var totalPay = regularPay + overtimePay; document.getElementById('regPayResult').innerText = '$' + regularPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('otPayResult').innerText = '$' + overtimePay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('otHoursResult').innerText = overtimeHours.toFixed(2); document.getElementById('totalPayResult').innerText = '$' + totalPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resultsArea').style.display = 'block'; }

Leave a Comment