New York Pay Stub Calculator
Use this calculator to estimate your net pay after federal, New York State, and New York City (if applicable) taxes, as well as common deductions. This tool provides an estimate and should not be considered official tax advice.
Understanding Your New York Pay Stub
A pay stub is a document that details an employee's earnings and deductions for a specific pay period. Understanding each component is crucial for managing your finances and ensuring accuracy.
Gross Pay
This is your total earnings before any deductions are taken out. It can be calculated based on an hourly wage multiplied by hours worked, or it can be a fixed salary amount for the pay period.
Deductions Explained
Deductions reduce your gross pay to arrive at your net pay. They typically fall into two main categories: mandatory and voluntary.
Mandatory Deductions: Taxes
- Federal Income Tax: This is withheld based on your W-4 form, filing status, and number of dependents. The amount depends on your taxable income and the federal tax brackets.
- Social Security Tax (FICA): A flat rate of 6.2% on earnings up to an annual wage base limit (e.g., $168,600 for 2024). This funds retirement, disability, and survivor benefits.
- Medicare Tax (FICA): A flat rate of 1.45% on all earnings. An additional 0.9% Medicare tax applies to earnings above certain thresholds ($200,000 for single filers, $250,000 for married filing jointly).
- New York State Income Tax: Similar to federal income tax, this is withheld based on your NY IT-2104 form, filing status, and dependents, and depends on NY's specific tax brackets.
- New York City Income Tax: If you are a resident of New York City, you will also have NYC income tax withheld. This is calculated based on NYC's own tax rates and brackets.
Voluntary Deductions
These are deductions you authorize, often for benefits or savings. They can be either pre-tax or post-tax:
- Pre-Tax Deductions: These are taken out of your gross pay before taxes are calculated, reducing your taxable income. Common examples include contributions to a 401(k) or 403(b) retirement plan, health insurance premiums, and Flexible Spending Account (FSA) contributions.
- Post-Tax Deductions: These are taken out after taxes have been calculated. Examples include Roth 401(k) contributions, union dues, or certain charitable contributions.
Net Pay
This is the amount of money you actually receive after all deductions have been subtracted from your gross pay. It's your take-home pay.
This calculator provides an estimate based on current (2024) tax laws and common withholding assumptions. Actual amounts on your pay stub may vary due to specific employer benefits, additional withholding elections, or other unique circumstances.
.calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 25px;
background-color: #f9f9f9;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
color: #333;
}
.calculator-container h2, .calculator-container h3, .calculator-container h4 {
color: #2c3e50;
text-align: center;
margin-bottom: 20px;
}
.calculator-container p {
line-height: 1.6;
margin-bottom: 15px;
}
.calc-form .form-group {
margin-bottom: 15px;
display: flex;
flex-direction: column;
}
.calc-form label {
margin-bottom: 5px;
font-weight: bold;
color: #555;
}
.calc-form input[type="number"],
.calc-form select {
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
width: 100%;
box-sizing: border-box;
}
.calc-form input[type="checkbox"] {
margin-right: 10px;
transform: scale(1.2);
}
.calc-form .checkbox-group {
flex-direction: row;
align-items: center;
}
.calc-form button {
background-color: #28a745;
color: white;
padding: 12px 20px;
border: none;
border-radius: 5px;
font-size: 18px;
cursor: pointer;
transition: background-color 0.3s ease;
width: 100%;
box-sizing: border-box;
margin-top: 20px;
}
.calc-form button:hover {
background-color: #218838;
}
.calc-result {
margin-top: 30px;
padding: 20px;
background-color: #e9f7ef;
border: 1px solid #d4edda;
border-radius: 8px;
font-size: 17px;
line-height: 1.8;
color: #155724;
}
.calc-result h4 {
color: #155724;
margin-top: 0;
text-align: left;
}
.calc-result p {
margin-bottom: 8px;
}
.calc-result strong {
color: #0a3d15;
}
.calc-result .net-pay {
font-size: 20px;
font-weight: bold;
color: #0056b3;
margin-top: 15px;
padding-top: 10px;
border-top: 1px solid #b8daff;
}
.calculator-container ul {
list-style-type: disc;
margin-left: 20px;
margin-bottom: 15px;
}
.calculator-container li {
margin-bottom: 5px;
}
function calculatePayStub() {
var grossPayInput = parseFloat(document.getElementById('grossPayInput').value);
var hourlyWage = parseFloat(document.getElementById('hourlyWage').value);
var hoursWorked = parseFloat(document.getElementById('hoursWorked').value);
var payFrequency = document.getElementById('payFrequency').value;
var filingStatus = document.getElementById('filingStatus').value;
var dependents = parseInt(document.getElementById('dependents').value);
var preTaxDeductions = parseFloat(document.getElementById('preTaxDeductions').value);
var postTaxDeductions = parseFloat(document.getElementById('postTaxDeductions').value);
var nycResident = document.getElementById('nycResident').checked;
// Input validation
if (isNaN(grossPayInput) && (isNaN(hourlyWage) || isNaN(hoursWorked))) {
document.getElementById('result').innerHTML = 'Please enter a valid Gross Pay or both Hourly Wage and Hours Worked.';
return;
}
if (isNaN(dependents) || dependents < 0) dependents = 0;
if (isNaN(preTaxDeductions) || preTaxDeductions < 0) preTaxDeductions = 0;
if (isNaN(postTaxDeductions) || postTaxDeductions 0 && hoursWorked > 0) {
grossPayPerPeriod = hourlyWage * hoursWorked;
} else if (!isNaN(grossPayInput) && grossPayInput > 0) {
grossPayPerPeriod = grossPayInput;
} else {
document.getElementById('result').innerHTML = 'Please enter valid positive numbers for your earnings.';
return;
}
var payPeriodsPerYear;
switch (payFrequency) {
case 'weekly': payPeriodsPerYear = 52; break;
case 'bi-weekly': payPeriodsPerYear = 26; break;
case 'semi-monthly': payPeriodsPerYear = 24; break;
case 'monthly': payPeriodsPerYear = 12; break;
default: payPeriodsPerYear = 26; // Default to bi-weekly
}
var annualGrossPay = grossPayPerPeriod * payPeriodsPerYear;
// — Federal Tax Calculations —
var annualTaxableIncomeFed = annualGrossPay – preTaxDeductions * payPeriodsPerYear;
if (annualTaxableIncomeFed < 0) annualTaxableIncomeFed = 0;
// 2024 Standard Deductions
var federalStandardDeduction;
switch (filingStatus) {
case 'single': federalStandardDeduction = 14600; break;
case 'marriedJoint': federalStandardDeduction = 29200; break;
case 'marriedSeparate': federalStandardDeduction = 14600; break;
case 'headOfHousehold': federalStandardDeduction = 21900; break;
case 'qualifyingWidow': federalStandardDeduction = 29200; break;
default: federalStandardDeduction = 14600;
}
var federalTaxableIncome = annualTaxableIncomeFed – federalStandardDeduction;
if (federalTaxableIncome < 0) federalTaxableIncome = 0;
// 2024 Federal Income Tax Brackets (simplified for calculator)
var federalTax = 0;
var fedBrackets;
switch (filingStatus) {
case 'single':
fedBrackets = [
{ rate: 0.10, limit: 11600 },
{ rate: 0.12, limit: 47150 },
{ rate: 0.22, limit: 100525 },
{ rate: 0.24, limit: 191950 },
{ rate: 0.32, limit: 243725 },
{ rate: 0.35, limit: 609350 },
{ rate: 0.37, limit: Infinity }
];
break;
case 'marriedJoint':
fedBrackets = [
{ rate: 0.10, limit: 23200 },
{ rate: 0.12, limit: 94300 },
{ rate: 0.22, limit: 201050 },
{ rate: 0.24, limit: 383900 },
{ rate: 0.32, limit: 487450 },
{ rate: 0.35, limit: 731200 },
{ rate: 0.37, limit: Infinity }
];
break;
case 'marriedSeparate':
fedBrackets = [
{ rate: 0.10, limit: 11600 },
{ rate: 0.12, limit: 47150 },
{ rate: 0.22, limit: 100525 },
{ rate: 0.24, limit: 191950 },
{ rate: 0.32, limit: 243725 },
{ rate: 0.35, limit: 365600 },
{ rate: 0.37, limit: Infinity }
];
break;
case 'headOfHousehold':
fedBrackets = [
{ rate: 0.10, limit: 16550 },
{ rate: 0.12, limit: 63100 },
{ rate: 0.22, limit: 100500 },
{ rate: 0.24, limit: 191950 },
{ rate: 0.32, limit: 243700 },
{ rate: 0.35, limit: 609350 },
{ rate: 0.37, limit: Infinity }
];
break;
case 'qualifyingWidow': // Same as MFJ
fedBrackets = [
{ rate: 0.10, limit: 23200 },
{ rate: 0.12, limit: 94300 },
{ rate: 0.22, limit: 201050 },
{ rate: 0.24, limit: 383900 },
{ rate: 0.32, limit: 487450 },
{ rate: 0.35, limit: 731200 },
{ rate: 0.37, limit: Infinity }
];
break;
default:
fedBrackets = []; // Should not happen
}
var prevLimit = 0;
for (var i = 0; i prevLimit) {
var taxableInBracket = Math.min(federalTaxableIncome, bracket.limit) – prevLimit;
federalTax += taxableInBracket * bracket.rate;
}
prevLimit = bracket.limit;
if (federalTaxableIncome additionalMedicareThreshold) {
annualMedicareTax += (annualGrossPay – additionalMedicareThreshold) * additionalMedicareRate;
}
var socialSecurityTaxPerPeriod = annualSocialSecurityTax / payPeriodsPerYear;
var medicareTaxPerPeriod = annualMedicareTax / payPeriodsPerYear;
// — NY State Tax Calculations —
var annualTaxableIncomeNY = annualGrossPay – preTaxDeductions * payPeriodsPerYear;
if (annualTaxableIncomeNY < 0) annualTaxableIncomeNY = 0;
// 2024 NY Standard Deductions
var nyStandardDeduction;
switch (filingStatus) {
case 'single': nyStandardDeduction = 8500; break;
case 'marriedJoint': nyStandardDeduction = 17000; break;
case 'marriedSeparate': nyStandardDeduction = 8500; break;
case 'headOfHousehold': nyStandardDeduction = 12000; break;
case 'qualifyingWidow': nyStandardDeduction = 17000; break; // NY treats QW as MFJ for standard deduction
default: nyStandardDeduction = 8500;
}
// NY Dependent Exemption (reduces taxable income)
var nyDependentExemption = dependents * 1000;
var nyTaxableIncome = annualTaxableIncomeNY – nyStandardDeduction – nyDependentExemption;
if (nyTaxableIncome < 0) nyTaxableIncome = 0;
// 2024 NY State Income Tax Brackets (simplified)
var nyStateTax = 0;
var nyBrackets;
switch (filingStatus) {
case 'single':
case 'marriedSeparate':
nyBrackets = [
{ rate: 0.04, limit: 8500 },
{ rate: 0.045, limit: 11900 },
{ rate: 0.0525, limit: 13900 },
{ rate: 0.059, limit: 21300 },
{ rate: 0.0685, limit: 80650 },
{ rate: 0.0965, limit: 215400 },
{ rate: 0.103, limit: 1077550 },
{ rate: 0.109, limit: 5000000 },
{ rate: 0.1096, limit: 25000000 },
{ rate: 0.1096, limit: Infinity } // Top bracket
];
break;
case 'marriedJoint':
case 'qualifyingWidow':
nyBrackets = [
{ rate: 0.04, limit: 17000 },
{ rate: 0.045, limit: 23900 },
{ rate: 0.0525, limit: 27900 },
{ rate: 0.059, limit: 42700 },
{ rate: 0.0685, limit: 161550 },
{ rate: 0.0965, limit: 323200 },
{ rate: 0.103, limit: 2155350 },
{ rate: 0.109, limit: 5000000 },
{ rate: 0.1096, limit: 25000000 },
{ rate: 0.1096, limit: Infinity }
];
break;
case 'headOfHousehold':
nyBrackets = [
{ rate: 0.04, limit: 12000 },
{ rate: 0.045, limit: 16900 },
{ rate: 0.0525, limit: 19700 },
{ rate: 0.059, limit: 30200 },
{ rate: 0.0685, limit: 114450 },
{ rate: 0.0965, limit: 269250 },
{ rate: 0.103, limit: 1616550 },
{ rate: 0.109, limit: 5000000 },
{ rate: 0.1096, limit: 25000000 },
{ rate: 0.1096, limit: Infinity }
];
break;
default:
nyBrackets = [];
}
prevLimit = 0;
for (var i = 0; i prevLimit) {
var taxableInBracket = Math.min(nyTaxableIncome, bracket.limit) – prevLimit;
nyStateTax += taxableInBracket * bracket.rate;
}
prevLimit = bracket.limit;
if (nyTaxableIncome <= bracket.limit) break;
}
var nyStateTaxPerPeriod = nyStateTax / payPeriodsPerYear;
// — NY City Tax Calculations —
var nyCityTaxPerPeriod = 0;
if (nycResident) {
var nyCityTaxableIncome = annualTaxableIncomeNY; // NYC uses NY AGI, which is close to our annualTaxableIncomeNY
if (nyCityTaxableIncome < 0) nyCityTaxableIncome = 0;
var nycTax = 0;
var nycBrackets;
switch (filingStatus) {
case 'single':
case 'marriedSeparate':
case 'headOfHousehold':
nycBrackets = [
{ rate: 0.03078, limit: 12000 },
{ rate: 0.03762, limit: 25000 },
{ rate: 0.03819, limit: 50000 },
{ rate: 0.03876, limit: Infinity }
];
break;
case 'marriedJoint':
case 'qualifyingWidow':
nycBrackets = [
{ rate: 0.03078, limit: 21600 },
{ rate: 0.03762, limit: 45000 },
{ rate: 0.03819, limit: 90000 },
{ rate: 0.03876, limit: Infinity }
];
break;
default:
nycBrackets = [];
}
prevLimit = 0;
for (var i = 0; i prevLimit) {
var taxableInBracket = Math.min(nyCityTaxableIncome, bracket.limit) – prevLimit;
nycTax += taxableInBracket * bracket.rate;
}
prevLimit = bracket.limit;
if (nyCityTaxableIncome <= bracket.limit) break;
}
nyCityTaxPerPeriod = nycTax / payPeriodsPerYear;
}
// — Total Deductions and Net Pay —
var totalPreTaxDeductionsPerPeriod = preTaxDeductions;
var totalPostTaxDeductionsPerPeriod = postTaxDeductions;
var totalTaxDeductionsPerPeriod = federalIncomeTaxPerPeriod + socialSecurityTaxPerPeriod + medicareTaxPerPeriod + nyStateTaxPerPeriod + nyCityTaxPerPeriod;
var totalDeductionsPerPeriod = totalTaxDeductionsPerPeriod + totalPreTaxDeductionsPerPeriod + totalPostTaxDeductionsPerPeriod;
var netPayPerPeriod = grossPayPerPeriod – totalDeductionsPerPeriod;
// — Display Results —
var resultHtml = '
Estimated Pay Stub Details per Pay Period
';
resultHtml += '
Gross Pay: $' + grossPayPerPeriod.toFixed(2) + ";
resultHtml += '
Deductions:
';
resultHtml += 'Federal Income Tax: $' + federalIncomeTaxPerPeriod.toFixed(2) + ";
resultHtml += 'Social Security Tax: $' + socialSecurityTaxPerPeriod.toFixed(2) + ";
resultHtml += 'Medicare Tax: $' + medicareTaxPerPeriod.toFixed(2) + ";
resultHtml += 'NY State Income Tax: $' + nyStateTaxPerPeriod.toFixed(2) + ";
if (nycResident) {
resultHtml += 'NY City Income Tax: $' + nyCityTaxPerPeriod.toFixed(2) + ";
}
resultHtml += 'Pre-Tax Deductions: $' + totalPreTaxDeductionsPerPeriod.toFixed(2) + ";
resultHtml += 'Post-Tax Deductions: $' + totalPostTaxDeductionsPerPeriod.toFixed(2) + ";
resultHtml += '
Total Deductions: $' + totalDeductionsPerPeriod.toFixed(2) + ";
resultHtml += '
Net Pay: $' + netPayPerPeriod.toFixed(2) + ";
document.getElementById('result').innerHTML = resultHtml;
}
// Run calculation on page load with default values
document.addEventListener('DOMContentLoaded', calculatePayStub);