Computes employee-side FICA tax (Social Security, Medicare, and Additional Medicare Tax) on a given amount of annual wages, using a stated, cited FICA table.
Published for review. The Founder is checking every card himself; anything he strikes comes down the same hour.
Disclaimer: General payroll tax formula only, using a stated, cited FICA table. Not tax advice. Employer-side matching and self-employment tax rules differ. Consult a licensed tax professional or the IRS/SSA for your actual situation.
Try it
Inputs
annual_wages (number, currency units, required) min 0 : Total annual wages subject to FICA
filing_status (string, required) one of: single, married_filing_jointly, head_of_household : Filing status, used only for the Additional Medicare Tax threshold
social_security_wage_base (number, currency units, required) min 0 : The Social Security (OASDI) taxable wage base for the year being computed; indexed annually by the SSA.
social_security_rate_percent (number, %, required) min 0 : Employee-side Social Security tax rate.
medicare_rate_percent (number, %, required) min 0 : Employee-side Medicare tax rate, applied to all wages with no cap.
additional_medicare_rate_percent (number, %, required) min 0 : Additional Medicare Tax rate on wages above the filing-status threshold.
additional_medicare_threshold_mfj (number, currency units, required) min 0 : Additional Medicare Tax threshold for married filing jointly.
additional_medicare_threshold_other (number, currency units, required) min 0 : Additional Medicare Tax threshold for single or head of household.
fica_table_source (string, required) : Citation for the wage base, rates, and thresholds above; change it together with all six values when using a newer year's table.
fica_table_date (string, ISO date, required) : The date the cited FICA table was retrieved or published.
Outputs
social_security_tax (currency units): social_security_rate_percent of wages up to social_security_wage_base
medicare_tax (currency units): medicare_rate_percent of all wages
additional_medicare_tax (currency units): additional_medicare_rate_percent of wages above the filing-status threshold
total_fica_tax (currency units): Sum of the three components
Steps
The visitor supplies social_security_wage_base, social_security_rate_percent, medicare_rate_percent, additional_medicare_rate_percent, both Additional Medicare Tax thresholds, plus fica_table_source and fica_table_date; this method never looks up a table itself. Replace all eight together to use a newer official table.
medicare_tax = medicare_rate_percent / 100 * annual_wages (no wage base cap).
additional_medicare_tax = additional_medicare_rate_percent / 100 * max(0, annual_wages - threshold), where threshold is additional_medicare_threshold_mfj for married filing jointly, otherwise additional_medicare_threshold_other.
Topic no. 560, Additional Medicare Tax (Internal Revenue Service, 2026-09-30T19:31:29Z) - Medicare tax rate 1.45% with no wage cap; Additional Medicare Tax of 0.9% above statutory (not inflation-adjusted) thresholds of $250,000 MFJ / $200,000 single or head of household; documented source of the rate and threshold default values.
Worked example and test vectors
Name
Inputs
Answer
worked example
{"annual_wages":150000,"filing_status":"single","social_security_wage_base":184500,"social_security_rate_percent":6.2,"medicare_rate_percent":1.45,"additional_medicare_rate_percent":0.9,"additional_medicare_threshold_mfj":250000,"additional_medicare_threshold_other":200000,"fica_table_source":"SSA Contribution and Benefit Base (2026) and IRS Topic 560","fica_table_date":"2026-09-30"}
$11,475.00
test vector: wages above both the wage base and the Additional Medicare threshold
{"annual_wages":300000,"filing_status":"married_filing_jointly","social_security_wage_base":184500,"social_security_rate_percent":6.2,"medicare_rate_percent":1.45,"additional_medicare_rate_percent":0.9,"additional_medicare_threshold_mfj":250000,"additional_medicare_threshold_other":200000,"fica_table_source":"SSA Contribution and Benefit Base (2026) and IRS Topic 560","fica_table_date":"2026-09-30"}