The planner models federal taxes year by year using simplified-but-realistic IRS rules. The goal isn't to replicate every line on Form 1040 - it's to capture the choices and thresholds that actually move retirement outcomes by meaningful amounts over a 30-year plan.
Ordinary income brackets
The 2026 brackets are 10%, 12%, 22%, 24%, 32%, 35%, and 37%, with separate threshold sets for Single and Married Filing Jointly. The engine inflates the bracket thresholds forward each year using the plan's general inflation rate, so a 22% bracket that starts at $50,400 in 2026 (Single) sits at a higher dollar threshold in 2046. This matches how the IRS publishes brackets each year.
Filing status follows the spouse setting on your Profile - Single by default, Married Filing Jointly when "Include spouse" is enabled. In a couple plan, the year after the first death the filing status flips to Single, which compresses brackets and raises tax on the same income; the planner surfaces that transition explicitly. See Profile for the spouse mechanics.
Standard deduction
Three layers stack into the standard deduction the planner applies each year:
- The base standard deduction for your filing status, indexed forward annually.
- The age 65+ additional deduction under IRC §63(f) - applied once for each spouse age 65 or older. This is permanent in the tax code.
- The OBBB senior bonus ($6,000 per qualifying person age 65+, phased out at higher MAGI). This is a 2025-2028 provision and sunsets after the 2028 tax year unless extended; the engine applies it only in eligible years.
Blind taxpayer additions are also supported when the appropriate flag is set.
Social Security taxability
The 1983 thresholds determine how much of your Social Security benefit is taxable as ordinary income:
- Single: provisional income under $25,000 means no SS is taxable. Between $25,000 and $34,000, up to 50% of SS becomes taxable. Above $34,000, up to 85% is taxable.
- MFJ: $32,000 and $44,000 are the corresponding thresholds.
Provisional income is AGI (excluding SS) plus half your Social Security benefit. These thresholds are not indexed for inflation - that's the federal rule, and the engine matches it. The practical consequence is that more retirees pay tax on a larger share of SS every year as wages and benefits rise but the thresholds don't, which is why this section often pushes up taxes in retirement.
Long-term capital gains and qualified dividends
LTCG and qualified dividends use a separate bracket schedule - 0%, 15%, and 20% - and stack on top of ordinary taxable income. Ordinary income fills the bottom of the income stack first; LTCG then occupies whatever space remains.
- If your ordinary taxable income is already above the 0% LTCG cap (roughly $49,450 single / $98,900 MFJ in 2026, indexed forward), every realized LTCG dollar is taxed at 15% or 20%.
- Below that cap, gains realized inside the remaining room are taxed at 0% federally. The Dashboard surfaces how much room a plan has this year when it holds taxable investments, because that window is easy to miss and it closes as other income rises.
- If your ordinary taxable income is well below the cap, you can realize meaningful LTCG inside the 0% bracket - a key reason retirees with low ordinary income can liquidate taxable accounts cheaply.
See Portfolio withdrawals for how the engine handles cost basis when computing the realized-gain portion of a Taxable account withdrawal.
FICA on earned income
While you're earning a wage:
- Social Security tax: 6.2% on wages up to the annual Social Security wage base ($168,600 in 2024-era values, indexed forward).
- Medicare tax: 1.45% on all wages (no cap).
For self-employment income, both halves are owed - effectively 15.3% total on 92.35% of net self-employment earnings (the engine applies the standard half-SE-tax deduction).
Additional Medicare Tax
An extra 0.9% Medicare tax applies to wages and self-employment income above:
- $200,000 (Single)
- $250,000 (MFJ)
Like the SS-taxability thresholds, these are not indexed for inflation, so more households cross them each year. The engine surfaces this in the per-year tax breakdown when it fires.
Net Investment Income Tax (NIIT)
A 3.8% surtax on investment income (capital gains, interest, dividends, rental income) when MAGI exceeds:
- $200,000 (Single)
- $250,000 (MFJ)
Rental income counts toward the surtax, and it is the amount left after expenses that counts. Set Expenses on the passive income row to the share deductible on Schedule E so the surtax is charged on your net rental income rather than the gross rent. See Income.
Income from a business you materially participate in is outside the surtax. Tick I materially participate in this business on the passive income row to keep it out of the base. The income is still taxed at ordinary rates; only the 3.8% goes away.
Also not indexed. Roth conversions can quietly trip this by lifting MAGI past the threshold - the conversion is not itself investment income, but it can drag your dividends, interest and gains into the surtax. The Roth Conversion Optimizer has an Avoid the 3.8% investment surtax (NIIT) option that stops each year's conversion short of the threshold, and it only appears when the plan holds taxable investments or passive income, since with no investment income there is nothing for the surtax to bill. See Roth Conversion Optimizer, and IRMAA-aware option for the same idea applied to Medicare premiums.
RMDs and Roth conversions
Both add to ordinary income for the year and run through the same bracket walk as wages. RMDs cannot be avoided by tagging an account "Legacy" - they're a legal requirement. See Required minimum distributions and How Roth conversion taxes are paid.
Early withdrawal penalty
10% IRS additional tax on Tax-deferred withdrawals before the eligible age (age 60 in the engine's simplified model; the IRS rule is 59½). SEPP / Rule 72(t) withdrawals and Rule of 55 distributions are exempt when properly flagged - the engine respects the eligibility logic.
What the engine does not model
- Alternative Minimum Tax (AMT) - rarely binding for most retirees after the 2017 reforms and computationally expensive to model.
- Itemized deductions - the engine assumes you take the standard deduction. If you itemize meaningfully (large mortgage interest, big charitable giving), real-life tax may be lower than the projection shows.
- QBI deduction, NOLs, and most other niche provisions.
- State taxes - handled in their own section. See State taxes.
The simplifications are intentional: we surface the levers that matter at the 30-year planning horizon and leave the year-of-filing nitpicks to your tax preparer.
How we check this
The rules above are validated against PolicyEngine US, an independent open-source tax model we did not write and cannot tune. Federal income tax, AGI, taxable income, the taxable portion of Social Security, and the standard deduction all match it to within one dollar across a suite of retirement scenarios built around the thresholds described on this page. See Tax accuracy for the method, the full published results, and what the validation does not cover.
