Overtime Hourly Rate Calculator
Calculation Basis:
Base Hourly Rate
Annual Salary
Regular Hourly Rate ($):
Annual Gross Salary ($):
Standard Hours per Week:
Overtime Multiplier (e.g. 1.5 for Time-and-a-Half):
Estimated Overtime Hours Worked:
Calculate Overtime Pay
Calculation Results
Regular Hourly Rate: $0.00
Overtime Hourly Rate: $0.00
Total Overtime Pay: $0.00
*This calculation is based on standard gross pay before taxes.
Understanding How to Calculate the Overtime Hourly Rate
Calculating your overtime hourly rate is essential for ensuring you are being compensated fairly for your extra hard work. In most jurisdictions, including under the Fair Labor Standards Act (FLSA) in the United States, non-exempt employees are entitled to a higher rate of pay for any hours worked beyond the standard 40-hour workweek.
The Standard Overtime Formula
The most common overtime rate is "time-and-a-half." This means you earn your regular hourly rate plus half of that rate again. The mathematical formula is simple:
Overtime Hourly Rate = Regular Hourly Rate × Multiplier
For example, if you earn $20.00 per hour and your multiplier is 1.5 , your overtime rate is $30.00 per hour.
How to Calculate Overtime from an Annual Salary
If you are a salaried employee but are still eligible for overtime (non-exempt), you must first determine your "regular rate of pay." To do this:
Divide your annual salary by 52 (weeks in a year).
Divide that weekly amount by your standard work hours (usually 40).
Multiply that result by your overtime multiplier (usually 1.5).
Real-World Examples
Scenario
Regular Rate
Multiplier
OT Hourly Rate
Standard Employee
$18.00
1.5x
$27.00
Holiday/Double Time
$25.00
2.0x
$50.00
Salaried ($60k/yr)
$28.85
1.5x
$43.28
Common Overtime Multipliers
1.5x (Time-and-a-half): The standard rate for hours over 40 in a week.
2.0x (Double time): Often used for working on holidays or for hours exceeding 12 in a single workday in certain states (like California).
Other: Some union contracts may specify different multipliers for weekends or late-night shifts.
function toggleInputs() {
var basis = document.getElementById("calcBasis").value;
var hourlyGroup = document.getElementById("hourlyInputGroup");
var salaryGroup = document.getElementById("salaryInputGroup");
if (basis === "hourly") {
hourlyGroup.style.display = "block";
salaryGroup.style.display = "none";
} else {
hourlyGroup.style.display = "none";
salaryGroup.style.display = "block";
}
}
function calculateOvertime() {
var basis = document.getElementById("calcBasis").value;
var multiplier = parseFloat(document.getElementById("multiplier").value);
var otHours = parseFloat(document.getElementById("otHours").value) || 0;
var regularRate = 0;
if (basis === "hourly") {
regularRate = parseFloat(document.getElementById("baseRate").value);
} else {
var salary = parseFloat(document.getElementById("annualSalary").value);
var hoursPerWeek = parseFloat(document.getElementById("weeklyHours").value);
if (salary > 0 && hoursPerWeek > 0) {
regularRate = (salary / 52) / hoursPerWeek;
}
}
if (isNaN(regularRate) || regularRate <= 0 || isNaN(multiplier) || multiplier <= 0) {
alert("Please enter valid numbers for the pay rate and multiplier.");
return;
}
var otRate = regularRate * multiplier;
var totalOTPay = otRate * otHours;
document.getElementById("resRegularRate").innerText = "$" + regularRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resOTRate").innerText = "$" + otRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("resTotalOT").innerText = "$" + totalOTPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("otResult").style.display = "block";
}