Calculate your total gross earnings when working hours at different hourly rates (e.g., regular time, overtime, or different job roles).
Role / Rate 1 (e.g., Regular Hours)
Role / Rate 2 (e.g., Overtime or Second Role)
Role / Rate 3 (e.g., Holiday Pay or Shift Differential)
Role / Rate 4
Total Hours Worked:0.00
Weighted Average Hourly Rate:$0.00
Total Gross Pay:$0.00
function calculateMultiPay() {
// Helper function to safely parse floats
function getVal(id) {
var val = document.getElementById(id).value;
var parsed = parseFloat(val);
if (isNaN(parsed)) {
return 0;
}
return parsed;
}
// Get inputs for Row 1
var r1 = getVal('mpcRate1');
var h1 = getVal('mpcHours1');
// Get inputs for Row 2
var r2 = getVal('mpcRate2');
var h2 = getVal('mpcHours2');
// Get inputs for Row 3
var r3 = getVal('mpcRate3');
var h3 = getVal('mpcHours3');
// Get inputs for Row 4
var r4 = getVal('mpcRate4');
var h4 = getVal('mpcHours4');
// Calculate Subtotals
var pay1 = r1 * h1;
var pay2 = r2 * h2;
var pay3 = r3 * h3;
var pay4 = r4 * h4;
// Calculate Totals
var totalPay = pay1 + pay2 + pay3 + pay4;
var totalHours = h1 + h2 + h3 + h4;
var avgRate = 0;
if (totalHours > 0) {
avgRate = totalPay / totalHours;
}
// Update UI
document.getElementById('resTotalHours').innerHTML = totalHours.toFixed(2);
document.getElementById('resAvgRate').innerHTML = "$" + avgRate.toFixed(2);
document.getElementById('resTotalPay').innerHTML = "$" + totalPay.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
// Show result box
document.getElementById('mpcResult').style.display = 'block';
}
Understanding Multiple Pay Rates
In the modern workforce, it is increasingly common for employees to have multiple pay rates within a single pay period. This often occurs when an employee works in different departments, performs different job roles, or earns blended overtime. Calculating your expected gross pay in these scenarios requires more than just multiplying a single rate by your total hours.
Why Use a Multiple Pay Rate Calculator?
Manual calculations for multiple rates can be prone to errors, especially when dealing with decimals and different hour blocks. This tool helps you accurate forecast your earnings if:
You work dual roles: For example, you might work 20 hours as a server at $15/hr and 10 hours as a shift lead at $22/hr.
You have shift differentials: You may earn a base rate during the day, but receive a higher rate for night shifts or weekends.
You are a freelancer: If you charge different hourly rates to different clients, this tool aggregates your total weekly or monthly revenue.
You are calculating "Blended Overtime": Under FLSA regulations in the US, if you work two different jobs at different rates for the same employer, your overtime rate is often based on the weighted average of your regular rates, not just the rate of the job you were doing when you crossed the 40-hour mark.
How to Calculate Weighted Average Pay Rate
One of the most useful metrics provided by this calculator is the Weighted Average Hourly Rate. This figure represents your "real" hourly value across all tasks performed. The formula used is:
((Rate A × Hours A) + (Rate B × Hours B)) ÷ Total Hours = Weighted Average Rate
For example, if you work 30 hours at $20/hr and 10 hours at $40/hr:
Pay A: 30 × $20 = $600
Pay B: 10 × $40 = $400
Total Pay: $1,000
Total Hours: 40
Average Rate: $1,000 ÷ 40 = $25.00/hr
Tips for Accurate Calculations
When using the calculator above, ensure you separate your hours distinctly by their specific pay codes. If you receive "time and a half" for overtime, you must manually calculate what that rate is (e.g., if your base is $20, input $30 for the overtime rate) unless your payroll system uses a specific blended coefficient. Always double-check your pay stub against these calculations to ensure your employer is compensating you correctly for all hours worked across different roles.