Paycheck Calculator Washington State

Washington State Paycheck Calculator

Estimate your 2024 take-home pay in the Evergreen State

Weekly Bi-weekly (Every 2 weeks) Semi-monthly (Twice a month) Monthly Annual Salary
Single Married Filing Jointly Head of Household
Yes (Standard) No (Exempted)

Calculation Results (Per Pay Period)

Gross Pay: $0.00
Federal Income Tax: $0.00
FICA (Social Security + Medicare): $0.00
WA Paid Family Medical Leave: $0.00
WA Cares Fund: $0.00
Estimated Net Pay: $0.00

How Your Paycheck is Calculated in Washington State

Living and working in Washington state offers a unique financial landscape, primarily because Washington has no state personal income tax. While this means you keep more of your hard-earned money compared to neighbors like Oregon, your paycheck isn't entirely free of deductions. This calculator helps you understand exactly where your money goes.

Mandatory Federal Deductions

Even in a state with no income tax, federal obligations apply to everyone. These include:

  • Federal Income Tax: Calculated based on your filing status and annual income brackets ranging from 10% to 37%.
  • Social Security: Currently set at 6.2% of your gross pay, up to the annual wage limit of $168,600 (for 2024).
  • Medicare: Set at 1.45% of your gross pay with no wage limit.

Specific Washington State Payroll Deductions

Washington has introduced two specific programs that appear on your paystub:

  1. Washington Paid Family and Medical Leave (PFML): This program provides paid time off for family and medical reasons. As of 2024, the total premium rate is 0.74%. Employers and employees share this cost, with the employee portion typically being around 0.528% of gross wages.
  2. WA Cares Fund: This is a long-term care insurance benefit. It is funded by a 0.58% payroll tax. Some employees may be exempt if they purchased private long-term care insurance before late 2021.

Example Calculation

If you earn $5,000 per month in Washington as a single filer:

1. Gross: $5,000.00
2. Federal Tax: ~$450.00 (varies by standard deduction)
3. FICA (SS + Medicare): $382.50
4. WA PFML: ~$26.40
5. WA Cares: $29.00
Total Net Pay: ~$4,112.10

function calculateWAPaycheck() { var gross = parseFloat(document.getElementById('grossPay').value); var frequency = parseFloat(document.getElementById('payFrequency').value); var status = document.getElementById('filingStatus').value; var caresOpt = document.getElementById('waCares').value; if (isNaN(gross) || gross 731200) fedTax += (taxableIncome – 731200) * 0.37 + 186221; else if (taxableIncome > 483900) fedTax += (taxableIncome – 483900) * 0.35 + 99666; else if (taxableIncome > 383900) fedTax += (taxableIncome – 383900) * 0.32 + 67666; else if (taxableIncome > 201050) fedTax += (taxableIncome – 201050) * 0.24 + 32202; else if (taxableIncome > 94300) fedTax += (taxableIncome – 94300) * 0.22 + 8711; else if (taxableIncome > 23200) fedTax += (taxableIncome – 23200) * 0.12 + 2320; else fedTax += taxableIncome * 0.10; } else { // Single or Head (Simplified Single Brackets) if (taxableIncome > 609350) fedTax += (taxableIncome – 609350) * 0.37 + 183647; else if (taxableIncome > 243725) fedTax += (taxableIncome – 243725) * 0.35 + 55478; else if (taxableIncome > 191950) fedTax += (taxableIncome – 191950) * 0.32 + 38910; else if (taxableIncome > 100525) fedTax += (taxableIncome – 100525) * 0.24 + 16988; else if (taxableIncome > 47150) fedTax += (taxableIncome – 47150) * 0.22 + 5205; else if (taxableIncome > 11600) fedTax += (taxableIncome – 11600) * 0.12 + 1160; else fedTax += taxableIncome * 0.10; } // 4. WA Specifics var annualWAPFML = annualGross * 0.00528; // Employee portion approx var annualWACares = (caresOpt === 'yes') ? (annualGross * 0.0058) : 0; // Period Calculations var divFactor = (frequency === 1) ? 12 : 1; // Logic note: If user puts in 120,000 Annual, we show them Monthly breakdown. // If they put 5,000 Monthly, we show them that Monthly period. var pFedTax = fedTax / (frequency === 1 ? 12 : frequency); var pFica = annualFica / (frequency === 1 ? 12 : frequency); var pPFML = annualWAPFML / (frequency === 1 ? 12 : frequency); var pCares = annualWACares / (frequency === 1 ? 12 : frequency); var pGross = (frequency === 1) ? annualGross / 12 : gross; if (frequency === 1) { // Just use annual / 12 for the view if they selected annual pFedTax = fedTax / 12; pFica = annualFica / 12; pPFML = annualWAPFML / 12; pCares = annualWACares / 12; pGross = annualGross / 12; } else { // Use the frequency provided pFedTax = fedTax / frequency; pFica = annualFica / frequency; pPFML = annualWAPFML / frequency; pCares = annualWACares / frequency; pGross = gross; } var pNet = pGross – pFedTax – pFica – pPFML – pCares; // Formatting document.getElementById('resGross').innerText = "$" + pGross.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resFedTax').innerText = "-$" + pFedTax.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resFica').innerText = "-$" + pFica.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resWAPFML').innerText = "-$" + pPFML.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resWACares').innerText = "-$" + pCares.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resNet').innerText = "$" + pNet.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resultsArea').style.display = 'block'; }

Leave a Comment