Estimate your take-home pay based on hourly wages and deductions.
Single
Married Filing Jointly
Head of Household
Regular Gross Pay:$0.00
Overtime Gross Pay:$0.00
Total Gross Pay:$0.00
Estimated FICA (7.65%):$0.00
Estimated Federal Tax:$0.00
Estimated State Tax:$0.00
Estimated Weekly Net Pay:$0.00
Understanding Your Hourly Paycheck
Converting an hourly wage into a net take-home pay figure requires understanding several layers of deductions. While your gross pay is the total amount earned before any subtractions, your net pay is what actually arrives in your bank account.
How Hourly Pay is Calculated
For most hourly employees, the calculation follows a standard structure:
Regular Pay: Calculated as your hourly rate multiplied by hours worked up to 40 hours per week.
Overtime Pay: In the United States, hours worked over 40 in a single workweek are typically paid at 1.5 times the regular hourly rate (Time and a Half).
Gross Pay: The sum of regular and overtime pay.
Common Payroll Deductions
Once your gross pay is determined, several statutory deductions are applied:
FICA Tax: This consists of Social Security (6.2%) and Medicare (1.45%), totaling 7.65%. These are mandatory federal contributions for most workers.
Federal Income Tax: This is a progressive tax based on your filing status (Single, Married, etc.) and your total earnings level. Our calculator uses an estimated effective rate based on your selection.
State Income Tax: Depending on where you live, your state may levy an additional income tax ranging from 0% (in states like Texas or Florida) to over 10% in high-tax states.
Practical Example
Suppose you earn $30 per hour and worked 45 hours this week in a state with a 5% tax rate:
Regular Pay: 40 hours × $30 = $1,200
Overtime Pay: 5 hours × ($30 × 1.5) = $225
Total Gross: $1,425
FICA (7.65%): $109.01
Estimated Federal Tax (12%): $171.00
State Tax (5%): $71.25
Net Take-Home: $1,073.74
function calculateNetPay() {
var hourlyRate = parseFloat(document.getElementById('hourlyRate').value);
var hoursWorked = parseFloat(document.getElementById('hoursWorked').value);
var fedRate = parseFloat(document.getElementById('filingStatus').value);
var stateRateInput = parseFloat(document.getElementById('stateTax').value);
if (isNaN(hourlyRate) || isNaN(hoursWorked)) {
alert("Please enter valid numbers for Hourly Rate and Hours Worked.");
return;
}
var stateRate = isNaN(stateRateInput) ? 0 : stateRateInput / 100;
var regHours = hoursWorked > 40 ? 40 : hoursWorked;
var otHours = hoursWorked > 40 ? hoursWorked – 40 : 0;
var regGross = regHours * hourlyRate;
var otGross = otHours * (hourlyRate * 1.5);
var totalGross = regGross + otGross;
var ficaDeduction = totalGross * 0.0765;
var fedDeduction = totalGross * fedRate;
var stateDeduction = totalGross * stateRate;
var netPay = totalGross – ficaDeduction – fedDeduction – stateDeduction;
document.getElementById('regGrossResult').innerText = '$' + regGross.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('otGrossResult').innerText = '$' + otGross.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('totalGrossResult').innerText = '$' + totalGross.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('ficaResult').innerText = '$' + ficaDeduction.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('fedTaxResult').innerText = '$' + fedDeduction.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('stateTaxResult').innerText = '$' + stateDeduction.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('netPayResult').innerText = '$' + netPay.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('results').style.display = 'block';
}