Nys Paycheck Calculator

New York State Paycheck Calculator

Estimate your net take-home pay after NYS, NYC, and Federal taxes.

Weekly Bi-weekly Semi-monthly Monthly
Single Married Filing Jointly
No (NYS only) Yes (NYC + NYS)

Your Estimated Take-Home Pay

Net Pay (Per Period): $0.00
Gross Pay (Per Period):
Federal Income Tax:
FICA (SocSec + Medicare):
New York State Tax:
New York City Tax:

How Your NYS Paycheck is Calculated

Living and working in New York State involves a complex multi-tier taxation system. Unlike states with no income tax, New York employees are subject to Federal, State, and potentially local (NYC or Yonkers) income taxes, along with mandatory FICA contributions.

1. Federal Income Tax

This is calculated based on the 2024 IRS tax brackets. Depending on whether you file as Single or Married, your income is taxed at rates ranging from 10% to 37% after the standard deduction is applied.

2. FICA (Federal Insurance Contributions Act)

This consists of two parts:

  • Social Security: 6.2% of your gross pay (up to the annual wage limit of $168,600).
  • Medicare: 1.45% of your gross pay with no upper limit.

3. New York State Tax (NYS)

NYS uses graduated tax brackets. For the 2024 tax year, these rates generally range from 4.0% to 10.9%. This calculator applies the estimated brackets based on your selected filing status.

4. New York City Resident Tax

If you live in one of the five boroughs of NYC, you are subject to an additional municipal income tax. This typically adds between 3.078% and 3.876% to your total tax liability.

Example Calculation:

If you earn $80,000 annually as a Single filer in Buffalo, NY (No NYC tax):

  • Gross Bi-weekly: $3,076.92
  • Estimated Federal Tax: ~$350
  • FICA: ~$235
  • NYS Tax: ~$165
  • Estimated Take-Home: ~$2,326.92
function calculateNYSPaycheck() { var grossSalary = parseFloat(document.getElementById('grossSalary').value); var payPeriod = parseFloat(document.getElementById('payPeriod').value); var filingStatus = document.getElementById('filingStatus').value; var nycResident = document.getElementById('nycResident').value; if (isNaN(grossSalary) || grossSalary 609350) fedTax += (taxableFed – 609350) * 0.37 + 168934; else if (taxableFed > 243725) fedTax += (taxableFed – 243725) * 0.35 + 40840; else if (taxableFed > 191950) fedTax += (taxableFed – 191950) * 0.32 + 24222; else if (taxableFed > 100525) fedTax += (taxableFed – 100525) * 0.24 + 16290; else if (taxableFed > 47150) fedTax += (taxableFed – 47150) * 0.22 + 5147; else if (taxableFed > 11600) fedTax += (taxableFed – 11600) * 0.12 + 1160; else fedTax += taxableFed * 0.10; } else { // Married Joint simplified if (taxableFed > 731200) fedTax += (taxableFed – 731200) * 0.37 + 186000; else if (taxableFed > 487450) fedTax += (taxableFed – 487450) * 0.35 + 100000; else fedTax += taxableFed * 0.20; // Simplified mid-bracket for example } // FICA var socSec = Math.min(grossSalary, 168600) * 0.062; var medicare = grossSalary * 0.0145; var totalFica = socSec + medicare; // NYS Tax Calculation (Simplified Graduated) var taxableNys = Math.max(0, grossSalary – nysDeduction); var nysTax = 0; if (taxableNys > 161550) nysTax = taxableNys * 0.0685; else if (taxableNys > 80650) nysTax = taxableNys * 0.06; else if (taxableNys > 13900) nysTax = taxableNys * 0.055; else nysTax = taxableNys * 0.04; // NYC Tax var nycTax = 0; if (nycResident === 'yes') { nycTax = taxableNys * 0.035; // Average approximation document.getElementById('nycRow').style.display = 'flex'; } else { document.getElementById('nycRow').style.display = 'none'; } // Period Calculations var annualNet = grossSalary – fedTax – totalFica – nysTax – nycTax; var periodNet = annualNet / payPeriod; var periodGross = grossSalary / payPeriod; var periodFed = fedTax / payPeriod; var periodFica = totalFica / payPeriod; var periodNys = nysTax / payPeriod; var periodNyc = nycTax / payPeriod; // Display Results document.getElementById('netPayDisplay').innerText = '$' + periodNet.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('grossPeriodDisplay').innerText = '$' + periodGross.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('fedTaxDisplay').innerText = '-$' + periodFed.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('ficaDisplay').innerText = '-$' + periodFica.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('nysTaxDisplay').innerText = '-$' + periodNys.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('nycTaxDisplay').innerText = '-$' + periodNyc.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('calcResults').style.display = 'block'; }

Leave a Comment