Calculate your gross earnings based on your hourly rate and schedule.
Weekly
Bi-weekly (Every 2 weeks)
Semi-monthly (2x per month)
Monthly
Results Breakdown
Regular Weekly Pay:
Overtime Weekly Pay:
Period Paycheck:
Estimated Annual Gross:
Understanding Your Hourly Paycheck
Calculating your earnings from an hourly rate involves more than just a simple multiplication. For most employees, the "gross pay" is the amount earned before taxes, benefits, and other deductions are taken out. This calculator helps you determine that gross figure based on your regular hours and any overtime accrued.
How the Calculation Works
The standard formula used in this tool is as follows:
Regular Pay: Hourly Rate × Regular Hours per Week
Overtime Pay: Hourly Rate × 1.5 × Overtime Hours
Gross Pay per Period: (Regular Pay + Overtime Pay) multiplied by the frequency factor.
Hourly to Annual Salary Reference
If you work a standard 40-hour work week (2,080 hours per year), here is a quick reference for how hourly rates translate to annual gross income:
Hourly Rate
Weekly Gross
Annual Gross
$15.00
$600.00
$31,200
$25.00
$1,000.00
$52,000
$50.00
$2,000.00
$104,000
Factors That Affect Your Net Pay
While this calculator provides your gross pay, your take-home (net) pay will be lower due to several factors:
Federal and State Income Tax: Progressive rates based on your total earnings.
FICA Taxes: This includes Social Security (6.2%) and Medicare (1.45%).
Retirement Contributions: Pre-tax 401(k) or 403(b) contributions.
Health Insurance: Premiums deducted directly from your check.
function calculateHourlyPay() {
var hourlyRate = parseFloat(document.getElementById('hourlyRate').value);
var hoursPerWeek = parseFloat(document.getElementById('hoursPerWeek').value);
var overtimeHours = parseFloat(document.getElementById('overtimeHours').value) || 0;
var frequency = document.getElementById('payFrequency').value;
if (isNaN(hourlyRate) || isNaN(hoursPerWeek)) {
alert("Please enter a valid hourly rate and number of hours.");
return;
}
var regWeekly = hourlyRate * hoursPerWeek;
var otWeekly = (hourlyRate * 1.5) * overtimeHours;
var totalWeekly = regWeekly + otWeekly;
var annual = totalWeekly * 52;
var periodPay = 0;
var labelText = "Period Paycheck:";
if (frequency === "weekly") {
periodPay = totalWeekly;
labelText = "Weekly Paycheck (Gross):";
} else if (frequency === "biweekly") {
periodPay = totalWeekly * 2;
labelText = "Bi-weekly Paycheck (Gross):";
} else if (frequency === "semimonthly") {
periodPay = annual / 24;
labelText = "Semi-monthly Paycheck (Gross):";
} else if (frequency === "monthly") {
periodPay = annual / 12;
labelText = "Monthly Paycheck (Gross):";
}
document.getElementById('weeklyReg').innerText = "$" + regWeekly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('weeklyOT').innerText = "$" + otWeekly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('periodLabel').innerText = labelText;
document.getElementById('periodGross').innerText = "$" + periodPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('annualGross').innerText = "$" + annual.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resultsArea').style.display = "block";
}