Calculate your hourly rate and overtime pay based on your annual salary.
Regular Hourly Rate:$0.00
Overtime Hourly Rate:$0.00
Total Overtime Pay:$0.00
Weekly Gross Total:$0.00
How to Calculate Overtime for Salaried Employees
While many people assume salaried employees don't qualify for overtime, that isn't always the case. Under the Fair Labor Standards Act (FLSA), "non-exempt" salaried employees are entitled to overtime pay for hours worked over 40 per week. Understanding your overtime rate is critical for ensuring you are compensated fairly for extra work.
The Step-by-Step Calculation Formula
To find your overtime rate when you receive an annual salary, follow these mathematical steps:
Determine Weekly Salary: Divide your annual gross salary by 52 (the weeks in a year).
Find Regular Hourly Rate: Divide that weekly salary by your standard contracted hours (usually 40).
Apply the Multiplier: Multiply the regular hourly rate by the overtime multiplier (typically 1.5 for time-and-a-half).
Calculate Overtime Pay: Multiply the overtime hourly rate by the number of overtime hours worked.
Example Calculation
Let's say an employee earns $65,000 per year and works 45 hours in a single week. The standard workweek is 40 hours.
Weekly Salary: $65,000 / 52 = $1,250.00
Hourly Rate: $1,250 / 40 = $31.25 per hour
Overtime Rate: $31.25 × 1.5 = $46.88 per hour
Overtime Hours: 5 hours
Overtime Pay: 5 × $46.88 = $234.40
Total Gross Weekly Pay: $1,250.00 + $234.40 = $1,484.40
Exempt vs. Non-Exempt Status
The key to knowing if you deserve overtime pay lies in your classification. Exempt employees are usually paid a set salary regardless of hours worked and perform specific "white-collar" duties (executive, administrative, or professional). Non-exempt employees must be paid overtime for any hours exceeding 40 per week. Always check your employment contract and local labor laws to confirm your status.
function calculateSalaryOvertime() {
var annualSalary = parseFloat(document.getElementById('annualSalary').value);
var standardHours = parseFloat(document.getElementById('standardHours').value);
var overtimeHours = parseFloat(document.getElementById('overtimeHours').value);
var multiplier = parseFloat(document.getElementById('multiplier').value);
// Validation
if (isNaN(annualSalary) || annualSalary <= 0) {
alert("Please enter a valid annual salary.");
return;
}
if (isNaN(standardHours) || standardHours <= 0) {
alert("Please enter valid standard weekly hours.");
return;
}
if (isNaN(overtimeHours) || overtimeHours < 0) {
overtimeHours = 0;
}
if (isNaN(multiplier) || multiplier < 0) {
multiplier = 1.5;
}
// Calculations
var weeklySalary = annualSalary / 52;
var hourlyRate = weeklySalary / standardHours;
var otRate = hourlyRate * multiplier;
var otTotalPay = otRate * overtimeHours;
var totalWeeklyPay = weeklySalary + otTotalPay;
// Update DOM
document.getElementById('res-hourly-rate').innerText = "$" + hourlyRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-ot-rate').innerText = "$" + otRate.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-ot-total').innerText = "$" + otTotalPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('res-weekly-total').innerText = "$" + totalWeeklyPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Show result box
document.getElementById('ot-result-box').style.display = 'block';
}