Income Calculator New York

New York Take-Home Pay Calculator (2024)

Single Married Filing Jointly
Yes (NYC Local Tax applies) No (NY State Only)

Estimated 2024 Pay Breakdown

Total Federal Tax:
FICA (Social Security + Medicare):
New York State Tax:
NYC Local Tax:
Net Annual Take-Home:
Monthly Pay
Bi-Weekly Pay

Understanding New York Income Taxes

Living and working in New York involves one of the most complex tax structures in the United States. Unlike many states that only charge a flat state income tax, New York uses a progressive system, and those living within New York City limits are subject to an additional municipal income tax.

How This Calculator Works

This tool estimates your 2024 net pay by factoring in four major categories of payroll deductions:

  • Federal Income Tax: Based on the 2024 IRS tax brackets ranging from 10% to 37%.
  • FICA: Includes Social Security (6.2% up to $168,600) and Medicare (1.45%).
  • New York State Income Tax: New York's progressive rates range from 4% to 10.9% for high earners.
  • New York City Tax: Residents of the five boroughs (Brooklyn, Bronx, Manhattan, Queens, Staten Island) pay an additional local tax between 3.078% and 3.876%.

Example Scenario

If you earn a gross annual salary of $100,000 as a single filer living in NYC with no extra deductions:

  • Federal Tax: ~$14,260
  • FICA: ~$7,650
  • NY State Tax: ~$5,370
  • NYC Local Tax: ~$3,530
  • Total Take-Home Pay: ~$69,190 annually (roughly $2,661 every two weeks).

Disclaimer: This calculator provides estimates based on 2024 tax tables and standard deductions ($14,600 for single, $29,200 for married). It does not account for specific credits like the Child Tax Credit or the Earned Income Tax Credit. Always consult a tax professional for official filings.

function calculateNYIncome() { var gross = parseFloat(document.getElementById('grossSalary').value) || 0; var preTaxDeductions = parseFloat(document.getElementById('deductions').value) || 0; var filingStatus = document.getElementById('filingStatus').value; var isNyc = document.getElementById('nycResident').value === 'yes'; var taxableIncome = Math.max(0, gross – preTaxDeductions); // 1. Federal Tax Logic (2024 Estimates) var fedStandardDeduction = (filingStatus === 'single') ? 14600 : 29200; var fedTaxable = Math.max(0, taxableIncome – fedStandardDeduction); var fedTax = 0; if (filingStatus === 'single') { if (fedTaxable > 609350) fedTax = 183647 + (fedTaxable – 609350) * 0.37; else if (fedTaxable > 243725) fedTax = 56079 + (fedTaxable – 243725) * 0.35; else if (fedTaxable > 191950) fedTax = 39491 + (fedTaxable – 191950) * 0.32; else if (fedTaxable > 100525) fedTax = 17569 + (fedTaxable – 100525) * 0.24; else if (fedTaxable > 47150) fedTax = 5454 + (fedTaxable – 47150) * 0.22; else if (fedTaxable > 11600) fedTax = 1160 + (fedTaxable – 11600) * 0.12; else fedTax = fedTaxable * 0.10; } else { if (fedTaxable > 731200) fedTax = 186362 + (fedTaxable – 731200) * 0.37; else if (fedTaxable > 487450) fedTax = 101050 + (fedTaxable – 487450) * 0.35; else if (fedTaxable > 383900) fedTax = 67954 + (fedTaxable – 383900) * 0.32; else if (fedTaxable > 201050) fedTax = 35139 + (fedTaxable – 201050) * 0.24; else if (fedTaxable > 94300) fedTax = 10908 + (fedTaxable – 94300) * 0.22; else if (fedTaxable > 23200) fedTax = 2320 + (fedTaxable – 23200) * 0.12; else fedTax = fedTaxable * 0.10; } // 2. FICA Taxes var ssTax = Math.min(gross, 168600) * 0.062; var medTax = gross * 0.0145; if (gross > 200000 && filingStatus === 'single') medTax += (gross – 200000) * 0.009; if (gross > 250000 && filingStatus === 'married') medTax += (gross – 250000) * 0.009; var fica = ssTax + medTax; // 3. NY State Tax Logic (2024 Estimates) var nyStandardDeduction = (filingStatus === 'single') ? 8000 : 16050; var nyTaxable = Math.max(0, taxableIncome – nyStandardDeduction); var nyTax = 0; if (nyTaxable > 25000000) nyTax = nyTaxable * 0.109; // Simple high-earner flat impact else if (nyTaxable > 1077550) nyTax = 69657 + (nyTaxable – 1077550) * 0.0685; else if (nyTaxable > 161550) nyTax = 8780 + (nyTaxable – 161550) * 0.06; else if (nyTaxable > 80650) nyTax = 4050 + (nyTaxable – 80650) * 0.0585; else if (nyTaxable > 13900) nyTax = 541 + (nyTaxable – 13900) * 0.0525; else if (nyTaxable > 8500) nyTax = 319 + (nyTaxable – 8500) * 0.045; else nyTax = nyTaxable * 0.04; // 4. NYC Tax (if resident) var nycTax = 0; if (isNyc) { if (nyTaxable > 50000) nycTax = 1834 + (nyTaxable – 50000) * 0.03876; else if (nyTaxable > 25000) nycTax = 888 + (nyTaxable – 25000) * 0.03762; else if (nyTaxable > 12000) nycTax = 388 + (nyTaxable – 12000) * 0.03534; else nycTax = nyTaxable * 0.03078; } var totalTax = fedTax + fica + nyTax + nycTax; var netAnnual = Math.max(0, gross – preTaxDeductions – totalTax); var monthly = netAnnual / 12; var biweekly = netAnnual / 26; // Display Results document.getElementById('resFedTax').innerText = '$' + fedTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resFica').innerText = '$' + fica.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resStateTax').innerText = '$' + nyTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resLocalTax').innerText = isNyc ? '$' + nycTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}) : '$0.00'; document.getElementById('resNetAnnual').innerText = '$' + netAnnual.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resMonthly').innerText = '$' + monthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resBiWeekly').innerText = '$' + biweekly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resultArea').style.display = 'block'; }

Leave a Comment