Nyc Income Calculator

NYC Income & Take-Home Pay Calculator

Calculate your net salary after Federal, New York State, and NYC Local taxes.

Single Married Filing Jointly

Your Estimated Pay Breakdown

Annual Take-Home
Monthly Take-Home
Bi-Weekly Take-Home
Total Tax Paid

Tax Composition

Federal Income Tax:

FICA (Social Security + Medicare):

New York State Tax:

NYC Local Tax:


Effective Tax Rate:

Understanding NYC Income Taxes

Living and working in New York City is unique from a tax perspective. Unlike most cities in the United States, NYC residents are subject to four distinct layers of income tax: Federal, FICA, New York State, and a specific New York City local tax.

The Three Income Taxes in NYC

  1. Federal Income Tax: A progressive tax collected by the IRS. Rates range from 10% to 37% depending on your bracket.
  2. New York State Income Tax: New York State has a progressive tax system. Rates generally range from 4% to 10.9%.
  3. NYC Local Tax: If you are a resident of the five boroughs, you must pay a city-specific tax that ranges from approximately 3.078% to 3.876%.

FICA Taxes

In addition to income taxes, all employees pay FICA (Federal Insurance Contributions Act) taxes. This consists of:

  • Social Security: 6.2% of your gross income (up to a wage base limit of $168,600 for 2024).
  • Medicare: 1.45% of your gross income (with an additional 0.9% for high earners over $200,000).

NYC Income Example

If you earn $100,000 annually as a single filer in NYC:

  • Federal Tax: Roughly $14,200 (after standard deduction).
  • FICA: $7,650.
  • NY State Tax: Roughly $5,100.
  • NYC Local Tax: Roughly $3,500.
  • Take-Home: Your annual net pay would be approximately $69,550, meaning your effective tax rate is nearly 30.5%.

Disclaimer: This calculator provides estimates based on 2024 tax brackets and standard deductions. It does not account for itemized deductions, 401k contributions, health insurance premiums, or specific credits. Consult with a tax professional for exact figures.

function calculateNYCIncome() { var gross = parseFloat(document.getElementById("annualGross").value); var status = document.getElementById("filingStatus").value; if (isNaN(gross) || gross 200k (single) if (status === "single" && gross > 200000) { ficaMedicare += (gross – 200000) * 0.009; } else if (status === "married" && gross > 250000) { ficaMedicare += (gross – 250000) * 0.009; } var totalFica = ficaSS + ficaMedicare; // Federal Tax Calculation (Simplified Brackets) var fedTaxable = Math.max(0, gross – fedStdDeduction); var fedTax = 0; if (status === "single") { if (fedTaxable > 609350) { fedTax += (fedTaxable – 609350) * 0.37; fedTaxable = 609350; } if (fedTaxable > 243725) { fedTax += (fedTaxable – 243725) * 0.35; fedTaxable = 243725; } if (fedTaxable > 191950) { fedTax += (fedTaxable – 191950) * 0.32; fedTaxable = 191950; } if (fedTaxable > 100525) { fedTax += (fedTaxable – 100525) * 0.24; fedTaxable = 100525; } if (fedTaxable > 47150) { fedTax += (fedTaxable – 47150) * 0.22; fedTaxable = 47150; } if (fedTaxable > 11600) { fedTax += (fedTaxable – 11600) * 0.12; fedTaxable = 11600; } fedTax += fedTaxable * 0.10; } else { if (fedTaxable > 731200) { fedTax += (fedTaxable – 731200) * 0.37; fedTaxable = 731200; } if (fedTaxable > 487450) { fedTax += (fedTaxable – 487450) * 0.35; fedTaxable = 487450; } if (fedTaxable > 383900) { fedTax += (fedTaxable – 383900) * 0.32; fedTaxable = 383900; } if (fedTaxable > 201050) { fedTax += (fedTaxable – 201050) * 0.24; fedTaxable = 201050; } if (fedTaxable > 94300) { fedTax += (fedTaxable – 94300) * 0.22; fedTaxable = 94300; } if (fedTaxable > 23200) { fedTax += (fedTaxable – 23200) * 0.12; fedTaxable = 23200; } fedTax += fedTaxable * 0.10; } // NY State Tax Calculation (Simplified) var nyTaxable = Math.max(0, gross – nyStdDeduction); var nyTax = 0; if (nyTaxable > 0) { if (nyTaxable > 1000000) { nyTax += (nyTaxable – 1000000) * 0.0812; nyTaxable = 1000000; } if (nyTaxable > 161550) { nyTax += (nyTaxable – 161550) * 0.0685; nyTaxable = 161550; } if (nyTaxable > 80650) { nyTax += (nyTaxable – 80650) * 0.06; nyTaxable = 80650; } if (nyTaxable > 13900) { nyTax += (nyTaxable – 13900) * 0.055; nyTaxable = 13900; } nyTax += nyTaxable * 0.04; } // NYC Local Tax Calculation (Approx 3.8%) var nycTaxable = Math.max(0, gross – nyStdDeduction); var nycTax = 0; if (nycTaxable > 0) { if (nycTaxable > 50000) { nycTax += (nycTaxable – 50000) * 0.03876; nycTaxable = 50000; } if (nycTaxable > 25000) { nycTax += (nycTaxable – 25000) * 0.03819; nycTaxable = 25000; } if (nycTaxable > 12000) { nycTax += (nycTaxable – 12000) * 0.03762; nycTaxable = 12000; } nycTax += nycTaxable * 0.03078; } var totalTax = fedTax + nyTax + nycTax + totalFica; var netAnnual = gross – totalTax; var netMonthly = netAnnual / 12; var netBiweekly = netAnnual / 26; var effRate = (totalTax / gross) * 100; // Display Results document.getElementById("annualNet").innerText = "$" + netAnnual.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("monthlyNet").innerText = "$" + netMonthly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("biweeklyNet").innerText = "$" + netBiweekly.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("totalTax").innerText = "$" + totalTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById("fedTaxVal").innerText = "$" + fedTax.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0}); document.getElementById("ficaTaxVal").innerText = "$" + totalFica.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0}); document.getElementById("stateTaxVal").innerText = "$" + nyTax.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0}); document.getElementById("cityTaxVal").innerText = "$" + nycTax.toLocaleString(undefined, {minimumFractionDigits: 0, maximumFractionDigits: 0}); document.getElementById("effectiveRate").innerText = effRate.toFixed(2) + "%"; document.getElementById("resultsArea").style.display = "block"; }

Leave a Comment