State tax docs / States / Minnesota
Minnesota state income tax: engine rules, 2026
How the QuantCalc engine computes Minnesota tax for tax year 2026, rule by rule, with the official source for each rule. Verification status: Worksheet-tested (what this means).
On this page: How the tax is computed · Rate schedule · Deductions, exemptions and credits · Age 65+ subtractions and credits · Social Security · IRA, 401(k) and private pensions · Public pensions · Military retirement pay · Roth conversions · Capital gains · Blindness and disability · Part-year and nonresident returns · Worked examples · After 2026 · Not calculated ·
Verification. Machine-readable: this state's entry in the
engine config and the provenance file
(key MN).
How the tax is computed
Every step the engine takes for Minnesota, in the order it takes them. Steps marked with a filing status or household type apply only there. Each step links the section below that carries Minnesota's figures and the official sources for it; the calculation order page describes every step for all jurisdictions.
What each filing status gets, read back from the engine for a household with $1 of income (so below every phase-out and income test):
| Single | Married filing jointly | Married filing separately | Head of household | |
|---|---|---|---|---|
| Rate schedule used | single schedule | joint schedule | joint schedule, thresholds halved | head-of-household schedule |
| Top rate | 9.85% from $203,150 | 9.85% from $337,930 | 9.85% from $168,965 | 9.85% from $270,060 |
| Standard deduction, under 65 | $15,300 | $30,600 | $15,300 | $23,000 |
| Standard deduction at 70 (joint: both 70) | $17,300 | $33,800 | $16,900 | $25,000 |
| Personal exemption | none | none | none | none |
| Age subtractions at 70 (joint: both 70) | $9,600 | $12,000 | none | $9,600 |
- Past-military-service credit or the military subtraction Where the state's credit for past military service is claimed instead of the military subtraction, a return with military pay is computed both ways — with the subtraction (no credit) and with the pay taxed and the credit — and the lower tax is the one returned, with its trace.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Military pension subtraction (checked 2026-09-27); Minn. Stat. §290.0677 (military service credits) (checked 2026-10-12); 2025 Schedule M1C instructions (line 4) (checked 2026-09-27) - Per-person mode joint returns with the spouse's age given On a joint return with the spouse's age given, every age test the state applies per taxpayer is evaluated for each spouse at their own age. Without it one household age applies to both.
engine step (compute_state_tax_detail). Engine convention, no external source: The engine cannot know the second spouse's age unless told. - Blindness and disability, per person only when the caller says a person is blind or disabled The filer is person one; the spouse counts only on a joint return and only when the caller says so (there is no household convention as for age). Where a state lets a disabled person (and, where it says so, a blind one, or one whose spouse is disabled) qualify for its general retirement exclusion before the age, that person is treated as having reached the age for that exclusion only. Of the 42 taxing jurisdictions, these have a blind amount: Arizona, Arkansas, California, Colorado, Delaware, the District of Columbia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, New Jersey, New Mexico, North Dakota, Oklahoma, Oregon, Utah, Vermont and Virginia; these have none: Alabama, Connecticut, Georgia, Louisiana, New York, North Carolina, Ohio, Pennsylvania, Rhode Island, South Carolina, West Virginia and Wisconsin. A disability route is calculated in Arkansas, the District of Columbia, Georgia, Hawaii, Idaho, Iowa, Maryland, Michigan, New Jersey, Oregon and West Virginia.
engine step (compute_state_tax_detail). Engine convention, no external source: Who is blind or disabled is the caller's statement; the engine has no household convention for it. - Rate schedule and standard deduction by filing status Single uses the single schedule and deduction; married filing jointly the joint ones. Head of household and married filing separately follow the two steps below.
Minnesota's values · engine step (select_brackets). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - Married filing separately Where the state publishes its own separate schedule, that one (with half the joint deduction unless a separate deduction is set). Where one schedule applies to every status, that schedule unscaled with the single deduction. Otherwise the joint schedule with every threshold and the deduction halved (computed as the joint tax on twice the income, halved).
Minnesota's values · engine step (select_brackets). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - Head of household The state's head-of-household schedule where it has one, else the single schedule; the head-of-household deduction where set, else the single deduction.
Minnesota's values · engine step (select_brackets). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - The income total every income test uses Other ordinary income + retirement distributions (before any exclusion) + conversion + federally taxable Social Security + long-term gains + Railroad Retirement Tier 2. It stands in for federal adjusted gross income in every threshold, cliff and phase-out below; state subtractions do not reduce it.
engine step (compute_state_tax_detail). Engine convention, no external source: The inputs are the federal AGI components, so their sum is federal AGI for these income types. - Attributing income to each spouse joint returns with each spouse's own amounts given With a caller's split (the API's
spouseobject), each spouse's own distributions (employer-plan money included), pension, public pension, conversion, wages and military pay; spouse 2's shares are clamped into the household totals and spouse 1 gets the rest. Without a split, in per-person mode, every item is divided 50/50. Social Security is divided by each spouse's own gross benefits where the caller givesspouse.socialSecurityGross, else 50/50; other ordinary income and gains are always divided 50/50 where a rule needs a per-person amount. The split is used only where a state's rule is per taxpayer; household totals stay authoritative for the base and the income tests.
engine step (compute_state_tax_detail). Engine convention, no external source: Equal attribution is the neutral split when the owner of a dollar is not known. - Keeping the per-spouse shares inside the household joint returns with each spouse's own amounts given After the public-pension and employer-pension carve-outs, if the two spouses' remaining shares add up to more than the household's exclusion-eligible distributions (an inconsistent split), spouse 1's share is reduced so they do not.
engine step (compute_state_tax_detail). Engine convention, no external source: Input normalisation. - Military retirement pay The state's military rule runs first, on military pay alone, per taxpayer: each spouse's own pay at their own age when attributed, otherwise half each at the household age on a joint return. Exempt dollars leave the base; the rest become pension dollars for the general retirement rules. Where the state lets a disabled retiree qualify at any age, a disabled person is treated as having reached the rule's age.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Military pension subtraction (checked 2026-09-27); Minn. Stat. §290.0677 (military service credits) (checked 2026-10-12); 2025 Schedule M1C instructions (line 4) (checked 2026-09-27) - One taxpayer's military exemption Exempt: all of it (below the age split, up to the younger cap). Capped: up to the cap for the age tier, plus the earned-income bonus below the age split when the taxpayer's own wages exceed the threshold, less the taxpayer's own Social Security where the rule says so. Percentage: the percentage (below the age split, up to the younger cap). Then the income limit: above it the exemption is lost, or phased out over the range where one is set.
Minnesota's values · engine step (military_exempt_one). Sources (Military retirement pay): Military pension subtraction (checked 2026-09-27); Minn. Stat. §290.0677 (military service credits) (checked 2026-10-12); 2025 Schedule M1C instructions (line 4) (checked 2026-09-27) - Capital-loss deduction off the base The deduction comes off the other ordinary income (negative income, as Form 1040 line 7a is), so the base and every state-AGI figure summed from it carry it; WI no more than Wisconsin ordinary income (Schedule WD line 28(c)). States whose base is federal taxable income (with the caller's figure) already have it there and take it only once. Engine 1.13.1: the allowed rental loss comes off the same way, on its own line (rental_loss_deduction).
Minnesota's values · engine step (compute_state_tax_detail). Sources (Capital gains): Minn. Stat. § 290.01, subd. 19 (Net income) (checked 2026-10-12); Minn. Stat. § 290.033 (Net investment income tax) (checked 2026-10-12); 2025 Form M1 Instructions (archived) (checked 2026-09-28); 2025 Schedule D (Form 1040), Capital Gains and Losses (checked 2026-10-12) - Which Social Security threshold applies Joint returns use the joint threshold; head of household uses it too where the state says so, otherwise the single one; married filing separately uses its own threshold where set, else the single one. Benefits are tested against the income total above.
Minnesota's values · engine step (ss_amount_in_state_base). Sources (Social Security): Minn. Stat. § 290.0132, subd. 26 (Social Security benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); 2025 Schedule M1M, Income Additions and Subtractions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Statutes section 290.0132 (checked 2026-10-12) - Social Security: stepped subtraction At or below the threshold nothing enters. Above it, 10% of the benefit enters for each $4,000 of income over ($2,000 married filing separately), or part of one, up to all of it.
Minnesota's values · engine step (ss_amount_in_state_base). Sources (Social Security): Minn. Stat. § 290.0132, subd. 26 (Social Security benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); 2025 Schedule M1M, Income Additions and Subtractions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Statutes section 290.0132 (checked 2026-10-12) - Retirement exclusion (household) The distributions eligible for the exclusion go through the exclusion below. Taxable public-pension dollars left by a cap are not eligible; below the IRA age only employer-plan dollars are.
Minnesota's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Minn. Stat. § 290.01, subd. 19 (Net income) (checked 2026-10-12) - Conversion taxed or exempt In full-exclusion states a conversion is exempt at the qualifying age (at any age where the state says so). Elsewhere, unless pooled above, it is ordinary income taxed in full.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Roth conversions): Minn. Stat. § 290.01, subd. 19 (Net income) (checked 2026-10-12) - Social Security: alternate subtraction The Social Security subtraction is the larger of the regular one and the alternate one: the filing status's maximum less the rate times the provisional income (the income total less taxable benefits, plus half the gross benefits) above the threshold, at most the taxable benefits. Needs the gross benefits; without them only the regular subtraction applies.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Social Security): Minn. Stat. § 290.0132, subd. 26 (Social Security benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); 2025 Schedule M1M, Income Additions and Subtractions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Statutes section 290.0132 (checked 2026-10-12) - Long-term gains in the base Where gains are taxed as ordinary income: net long-term gain less the flat exclusion (never below zero), times the inclusion share. Elsewhere none enters.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Capital gains): Minn. Stat. § 290.01, subd. 19 (Net income) (checked 2026-10-12); Minn. Stat. § 290.033 (Net investment income tax) (checked 2026-10-12); 2025 Form M1 Instructions (archived) (checked 2026-09-28); 2025 Schedule D (Form 1040), Capital Gains and Losses (checked 2026-10-12) - Public pension not covered by Social Security only when the caller says the pension was not covered by Social Security Only when the caller says the public pension was not covered: the smaller of the public pension still in the base and the cap, reduced above the income start (by a percentage per step, or linearly over a range). Where it is an election instead of the Social Security exclusion, the engine keeps whichever excludes more.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Public pensions): Minn. Stat. § 290.0132, subd. 34 (Qualified retirement benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - Additional standard deduction at 65 The unmarried amount for a single or head-of-household filer 65 or older, the married amount for each spouse 65 or older, added to the standard deduction before any phase-out.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12) - Additional standard deduction for blindness only when the caller says a person is blind or disabled The unmarried amount for a blind single or head-of-household filer, the married amount for each blind spouse, added to the standard deduction before any phase-out. Age and blindness are separate boxes, so a person 65 or older and blind gets both.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Blindness and disability): Minn. Stat. 290.0123 (checked 2026-10-12); 2026 inflation-adjusted amounts (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12) - Standard deduction limited at high income (percentage) Above the first income threshold the standard deduction (with its age and blindness amounts) is reduced by the first rate times the income above it (up to the second threshold) plus the second rate times the income above the second threshold, by at most the stated share of the deduction. Married filing separately has its own thresholds.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12) - Dependent exemptions and deductions only when the caller lists dependents An amount per dependent subtracted like the personal exemption: the state's flat amount, or the stepped per-exemption amount the filer gets, or the state's own income steps; nothing above an income limit where there is one; a percentage phase-out per income step where there is one; one more for a dependent in an age band or a student up to an age, for a dependent born in the year, and for a disabled dependent; a deduction per dependent beyond the first on joint and head-of-household returns; and a child deduction by an income table for dependents under an age. A head of household's status exemption that already holds one dependent's amount counts one fewer. Where the state says so, the phase-out is measured on the state AGI (the base before deductions).
Minnesota's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12) - The under-65 disabled subtraction only when the caller gives the person facts (a civil service annuity, disability pay, Social Security disability, survivor benefits, an IRA basis or an exception) With no one at the age, a disabled person with disability pay qualifies: the base (the joint base on a joint return), at most the disability pay, less the nontaxable Social Security and Railroad Retirement benefits and half the federal AGI over the floor (the both-qualified floor when both spouses are disabled). Not on separate returns.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Blindness and disability): Minn. Stat. 290.0123 (checked 2026-10-12); 2026 inflation-adjusted amounts (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12) - Age 65 subtraction reduced by income With the filer (or either spouse on a joint return) at or above the age: the filing status's base amount less the nontaxable Social Security (gross less taxable) and less the rate times the income total above the start (the joint start only when both spouses qualify), not below zero. None on a separate return. With Social Security but no gross figure the nontaxable part is unknown and nothing is subtracted.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Age 65+ subtractions and credits): 2025 Schedule M1R, Age 65 or Older/Disabled Subtraction (Wayback copy) (checked 2026-09-27); Minnesota Statutes section 290.0802 (subtraction for the elderly or disabled) (checked 2026-10-12); 2025 Schedule M1R (checked 2026-09-27) - Nontaxable Social Security without the gross With Social Security but no socialSecurityGross, the subtraction's nontaxable benefits are the taxable part / 0.85 less the taxable part (the gross is at least that), instead of dropping the whole subtraction at the first dollar of benefits.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Age 65+ subtractions and credits): 2025 Schedule M1R, Age 65 or Older/Disabled Subtraction (Wayback copy) (checked 2026-09-27); Minnesota Statutes section 290.0802 (subtraction for the elderly or disabled) (checked 2026-10-12); 2025 Schedule M1R (checked 2026-09-27) - State taxable income Other ordinary income + Social Security, retirement income, conversion and gains left in the base − standard deduction − personal exemption − age subtractions.
engine step (compute_state_tax_detail). Engine convention, no external source: The order of subtraction follows the state forms; each amount is sourced at its own step. - The filing status’s own amount Where a rule has one amount for single and head of household, one for a joint return and one for married filing separately, the filing status picks its own.
engine step (mfj_status_pick). Engine convention, no external source: Engine helper: selects the amount the source gives for the filing status. - No tax at or below zero State taxable income at or below zero returns a tax of 0 (credits are not refundable), unless the state has a tax computed apart from taxable income that still applies (next step).
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable, so nothing below can make a zero tax negative; each credit is sourced at its own step. - Separate-return scaling married filing separately For the halved-joint rule, taxable income is doubled before the schedule and the result halved.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - The rate schedule Each bracket's rate on the part of taxable income inside it, summed. No rounding: the result is carried in full precision.
Minnesota's values · engine step (apply_state_brackets). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - Marriage credit joint returns with each spouse's own amounts given On a joint return with each spouse's own amounts: the tax on joint taxable income on the joint schedule less the single-schedule tax on the lesser-earning spouse's income minus the state's amount (half the joint standard deduction) and on the rest of joint taxable income; at most the cap where there is one; none when that is zero or less. Each spouse's income counts to the extent it is in the state base: own wages, own share of the retirement income left in the base (own distributions less own excluded military pay), of the conversion and of the Social Security in the base (by the gross split, else half).
Minnesota's values · engine step (compute_state_tax_detail). Sources (Deductions, exemptions and credits): Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12) - Credit for past military service On the return that taxes the military pay (the election above), the credit per qualified person — each spouse with military pay when their own amounts are given, else one — less the rate times federal AGI over the start, not below zero. Military pay under the state's minimum (a cent, compared in cents: the pay left in the distributions after the pensions carries the binary rounding residue of the sums) makes no one a qualified person.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Military pension subtraction (checked 2026-09-27); Minn. Stat. §290.0677 (military service credits) (checked 2026-10-12); 2025 Schedule M1C instructions (line 4) (checked 2026-09-27) - Credits cannot make the tax negative The credits are subtracted and the result floored at zero.
engine step (compute_state_tax_detail). Engine convention, no external source: Every credit the engine carries is nonrefundable; each credit is sourced at its own step. - Qualifying surviving spouse qualifying surviving spouse returns A qualifying surviving spouse (
filingStatusqss) is one person on the return, taxed from the single figures with the state's own treatment of the status laid over them: where the state says so, the joint rate schedule, the joint standard deduction, the joint personal exemption, the joint income limits and phase-outs (only those the state sets for joint returns), the married 65+ and blindness amounts, or the head-of-household return; where the state gives the status nothing of its own, the single return. The federal figures the engine derives for the status are the federal qualifying-surviving-spouse ones (the joint standard deduction, the married 65+ amount).
Minnesota's values · engine step (state_tax_effective_config). Sources (Rate schedule): Minn. Stat. § 290.06 (Rates of tax), subd. 2c (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12) - Railroad Retirement benefits only when the caller gives Railroad Retirement benefits Railroad Retirement benefits are never taxed by a state (45 U.S.C. §231m). Tier 2 (
railroadRetirementTier2) is in the income total the tests use but never in the base. Tier 1 (railroadRetirementTier1) is a part of the gross benefits (socialSecurityGross); its share of the taxable benefits is taken out of the Social Security every state rule sees, so a state that taxes Social Security never reaches it. Where a state's worksheet says so, the benefits reduce a retirement cap or subtraction (ID, IN, MD, ME, MN: both tiers; MI: the taxable railroad benefits); Minnesota's and Utah's Social Security rules test an income without them, Minnesota's, New Jersey's and California's retirement income tests an income without Tier 2; Ohio and Delaware test their own AGI everywhere, which never holds the benefits.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Social Security): Minn. Stat. § 290.0132, subd. 26 (Social Security benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); 2025 Schedule M1M, Income Additions and Subtractions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Statutes section 290.0132 (checked 2026-10-12) - The capital-loss deduction the state allows With a net capital loss (capitalLoss): the smaller of the loss and the state's limit (the federal $3,000 / $1,500 where the state follows the federal return; MA $2,000, and no more than the interest and dividends); AL the loss less the part carried in, unlimited; PA and NJ none. It comes off the income total the income tests use (and the Social Security worksheets' income); the gross-income filing test (LA) reads the total before it. Engine 1.13.1: with a rental loss (rentalNetIncome below 0, the federal Schedule E line 26 amount) the state allows, the whole loss where the state starts from federal AGI or follows the federal schedule, none in PA and NJ (rental_loss_no_offset): it comes off the same income the same way; a rental profit is other ordinary income.
Minnesota's values · engine step (compute_state_tax_detail). Sources (Capital gains): Minn. Stat. § 290.01, subd. 19 (Net income) (checked 2026-10-12); Minn. Stat. § 290.033 (Net investment income tax) (checked 2026-10-12); 2025 Form M1 Instructions (archived) (checked 2026-09-28); 2025 Schedule D (Form 1040), Capital Gains and Losses (checked 2026-10-12) - Each spouse's own Social Security joint returns On a joint return, each spouse's own Social Security is the spouse's share of the benefits by
spouse.socialSecurityGrosswhen the caller gives it (Tier 1 railroad benefits left out), else half each. It is what the per-spouse rules read: Colorado's per-spouse subtraction, Rhode Island's per-spouse modification, and the Maine, Maryland and other retirement caps reduced by the benefits each spouse received (with each spouse's own railroad benefits where the state counts them).
Minnesota's values · engine step (compute_state_tax_detail). Sources (Social Security): Minn. Stat. § 290.0132, subd. 26 (Social Security benefits) (checked 2026-10-12); Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); 2025 Schedule M1M, Income Additions and Subtractions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Statutes section 290.0132 (checked 2026-10-12) - Refundable state credits The credits paid beyond the tax (reported in refundableCredits; netTax = totalTax less them): earned income credits as a share of the federal EIC with each state's own age band (OK on the 2020 federal credit, DC's own childless schedule, the CalEITC table, MN's Working Family Credit), the NYC EIC and school tax credits, and the property-tax, renter, grocery and senior credits of MA, MI, NJ, ID, HI, NM, OK, AZ, NY, RI, WV, ME, DC, MN, MO, WI, IN and MT, each on its own income measure. Engine 1.13.1: a part-year NYC resident's school tax credits (the Table 2 proration chart and the rate-reduction amount on IT-360.1 line 47; IT-203 lines 60 / 60a for a part-year state resident).
Minnesota's values · engine step (state_tax_refundable_credits). Sources (Deductions, exemptions and credits): Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12)
Rate schedule
Single
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $33,310 | 5.35% |
| $33,310 | $109,430 | 6.8% |
| $109,430 | $203,150 | 7.85% |
| $203,150 | and up | 9.85% |
Married filing jointly
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $48,700 | 5.35% |
| $48,700 | $193,480 | 6.8% |
| $193,480 | $337,930 | 7.85% |
| $337,930 | and up | 9.85% |
Head of household
| Taxable income from | to | Rate |
|---|---|---|
| $0 | $41,010 | 5.35% |
| $41,010 | $164,800 | 6.8% |
| $164,800 | $270,060 | 7.85% |
| $270,060 | and up | 9.85% |
Married filing separately: the engine computes the MFJ tax on twice the income and halves it, which is the same as halving every MFJ threshold and the MFJ deduction.
- Minn. Stat. § 290.06 (Rates of tax), subd. 2c, Minnesota Office of the Revisor of Statutes. Minnesota taxes individuals at 5.35%, 6.8%, 7.85% and 9.85% under distinct schedules for joint filers, single filers and heads of household (base-year thresholds, inflation-indexed annually). Checked 2026-10-12.
- Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes, Minnesota Department of Revenue. The 2026 inflation-adjusted bracket thresholds are $33,310 / $109,430 / $203,150 (single), $48,700 / $193,480 / $337,930 (married joint) and $41,010 / $164,800 / $270,060 (head of household). Checked 2026-10-12.
Deductions, exemptions and credits
- Standard deduction (or the exemption the engine carries in its place): $15,300 single, $30,600 married filing jointly, $23,000 head of household.
- The standard deduction includes $2,000 more for a single or head-of-household filer 65 or older, and $1,600 more for each spouse 65 or older on a married return.
- Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes, Minnesota Department of Revenue. The 2026 Minnesota standard deduction is $15,300 (single/MFS), $30,600 (married joint) and $23,000 (head of household). Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Earned income credit (engine 1.12.0, refundableCredits): the Working Family Credit (290.0671): 4% of earned income up to the limit plus the per-child amounts, phased out over the threshold. Renter's Credit (engine 1.12.0): 17% of rent over the bracket's percent of household income, times the state's share, at most the bracket maximum (2026 brackets). Checked 2026-10-12.
- Minn. Stat. § 290.0123 Standard deduction, Minnesota Office of the Revisor of Statutes. The Minnesota standard deduction includes an additional amount for a taxpayer 65 or older ($1,450 base, $1,850 if unmarried; indexed), and for a qualifying spouse 65 or older. Checked 2026-10-12.
- 2025 Form M1 Instructions (Wayback copy), Minnesota Department of Revenue. Worksheet A for line 4: 3% of AGI over the first threshold up to the second, plus 10% above it, at most 80% of the standard deduction. Renter's Credit (engine 1.12.0): 17% of rent over the bracket's percent of household income, times the state's share, at most the bracket maximum (2026 brackets). Checked 2026-09-27.
- Tax Year 2026 Inflation-Adjusted Amounts (Minnesota), Minnesota Department of Revenue. Standard deduction limitation thresholds for 2026: $244,400 ($122,200 married separate) and $337,800 ($168,900). Checked 2026-10-12.
- Minnesota Revisor of Statutes: 290.0121, Minnesota Revisor of Statutes. Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Checked 2026-10-12.
- Minnesota Revisor of Statutes: 290.0802, Minnesota Revisor of Statutes. Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Checked 2026-10-12.
- Minn. Stat. §290.0675 (marriage credit), Minnesota Office of the Revisor of Statutes. A joint return gets the difference between the tax on joint taxable income at joint rates and the single-rate tax on the lesser-earning spouse's earned income (to the extent included in Minnesota taxable income, less half the joint standard deduction) and on the rest (engine 1.8.0). Checked 2026-10-12.
- 2025 Schedule M1MA, Marriage Credit, Minnesota Department of Revenue (Internet Archive capture). Part 2 of the schedule is the statutory formula (the table for lines under $123,000 rounds it into $2,000 bands); line 10 is half the joint standard deduction ($15,300 for 2026). Checked 2026-09-27.
- Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit, Minnesota Office of the Revisor of Statutes. Earned income credit (engine 1.12.0, refundableCredits): the Working Family Credit (290.0671): 4% of earned income up to the limit plus the per-child amounts, phased out over the threshold. Checked 2026-10-12.
- Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout), Minnesota Office of the Revisor of Statutes. Earned income credit (engine 1.12.0, refundableCredits): the Working Family Credit (290.0671): 4% of earned income up to the limit plus the per-child amounts, phased out over the threshold. Checked 2026-10-12.
- 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26), Minnesota Department of Revenue. Earned income credit (engine 1.12.0, refundableCredits): the Working Family Credit (290.0671): 4% of earned income up to the limit plus the per-child amounts, phased out over the threshold. Checked 2026-10-01.
- 2025 Schedule M1RENT, Renter's Credit (and instructions), Minnesota Department of Revenue. Renter's Credit (engine 1.12.0): 17% of rent over the bracket's percent of household income, times the state's share, at most the bracket maximum (2026 brackets). Checked 2026-10-01.
- Minn. Stat. 290.0693 Renter's Credit, Minnesota Office of the Revisor of Statutes. Renter's Credit (engine 1.12.0): 17% of rent over the bracket's percent of household income, times the state's share, at most the bracket maximum (2026 brackets). Checked 2026-10-12.
- Minn. Stat. 290A.04 Refunds; schedules (history table), Minnesota Office of the Revisor of Statutes. Renter's Credit (engine 1.12.0): 17% of rent over the bracket's percent of household income, times the state's share, at most the bracket maximum (2026 brackets). Checked 2026-10-12.
Age 65+ subtractions and credits
Source review notes (what the sources do not state outright, or what the engine does not carry):
- The disability route under 65 needs the disability income (no input); MFS needs the spouses to have lived apart (no input: no subtraction). With Social Security but no socialSecurityGross the nontaxable part is unknown and nothing is subtracted.
- 2025 Schedule M1R, Age 65 or Older/Disabled Subtraction (Wayback copy), Minnesota Department of Revenue. The subtraction is $9,600 single / $12,000 joint less nontaxable Social Security and 50% of AGI over $14,500 (single, or joint with one spouse 65+) / $18,000 (joint, both 65+); married filing separately only when living apart. Checked 2026-09-27.
- Minnesota Statutes section 290.0802 (subtraction for the elderly or disabled), Minnesota Revisor of Statutes. The base amounts are fixed in statute (not indexed). Checked 2026-10-12.
- 2025 Schedule M1R, Minnesota Department of Revenue (Internet Archive capture). Line 5 subtracts the nontaxable Social Security benefits; without the gross benefits the engine reads the gross as the taxable part / 0.85 (engine 1.8.0). Checked 2026-09-27.
IRA, 401(k) and private pensions
- No exclusion: pension, annuity and IRA/401(k) distributions are taxed as ordinary income.
- Minn. Stat. § 290.01, subd. 19 (Net income), Minnesota Office of the Revisor of Statutes. Minnesota net income for an individual starts from federal AGI; there is no general subtraction for private pension, 401(k) or IRA income, so it is taxed at the regular rates. Checked 2026-10-12.
Public pensions
A public pension earned in service not covered by Social Security is subtracted: up to $13,850 ($27,690 on a joint return), reduced by 10% for each $2,000 of income (or part) above $86,410 (single and head of household), $55,390 (married filing separately) and $110,780 (MFJ).
It applies only when the caller says the pension was not covered (pensionPublicSsCovered: false on the API); without that, no subtraction is given.
Otherwise public pensions follow the rules for other retirement income above.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- The subtraction is given only when the caller says the pension was not covered by Social Security (API pensionPublicSsCovered: false); pensionPublic is then read as a Minnesota-plan or federal pension. Another state's plan qualifies only under a reciprocity test the engine does not model.
- Minn. Stat. § 290.0132, subd. 34 (Qualified retirement benefits), Minnesota Office of the Revisor of Statutes. Minnesota allows a capped subtraction only for public pensions earned in service not covered by Social Security, reduced 10% for each $2,000 of AGI (or fraction) over the threshold; other public pensions are taxed like private pensions. Checked 2026-10-12.
- Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes, Minnesota Department of Revenue. The 2026 public pension subtraction maximum is $27,690 (married joint) and $13,850 (other filers); its phase-out thresholds are $110,780 (married joint), $86,410 (single, head of household) and $55,390 (married separate). Checked 2026-10-12.
Military retirement pay
- Military retirement pay is fully exempt, at any age.
- Rules are applied per taxpayer at that person's own age when the spouse's age is given. API value:
rules.militaryRetirement.treatment: "exempt".
- Military pension subtraction, Minnesota Department of Revenue (archived copy). Military retirement pay, including survivor benefit plan payments, may be subtracted from Minnesota income. Checked 2026-09-27.
- Minn. Stat. §290.0677 (military service credits), Minnesota Office of the Revisor of Statutes. A qualified individual (one eligible for military retirement pay) gets a $750 credit for past military service, reduced by 10% of AGI over $30,000; the engine takes it instead of the military subtraction when it gives less tax (engine 1.8.0). Checked 2026-10-12.
- 2025 Schedule M1C instructions (line 4), Minnesota Department of Revenue (Internet Archive capture). The credit is not available to a filer who claims the military retirement subtraction. Checked 2026-09-27.
Roth conversions
A conversion is taxed as ordinary income in full. It does not draw any retirement-income exclusion.
- Minn. Stat. § 290.01, subd. 19 (Net income), Minnesota Office of the Revisor of Statutes. Minnesota net income starts from federal AGI, so a traditional-to-Roth conversion included in federal AGI is taxed as ordinary income; no subtraction applies to it. Checked 2026-10-12.
Capital gains
- Net long-term gain is taxed as ordinary income.
- Short-term gains are ordinary income.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- 1% net investment income tax over $1,000,000 (M.S. 290.033) not modeled (disclosed engine omission).
- Minn. Stat. § 290.01, subd. 19 (Net income), Minnesota Office of the Revisor of Statutes. Long-term capital gains included in federal AGI flow into Minnesota net income and are taxed at the regular Minnesota rates (no preferential rate or exclusion). Checked 2026-10-12.
- Minn. Stat. § 290.033 (Net investment income tax), Minnesota Office of the Revisor of Statutes. An additional 1% tax applies to net investment income over $1,000,000; the engine does not model it. Checked 2026-10-12.
- 2025 Form M1 Instructions (archived), Minnesota Department of Revenue. The state return starts from federal adjusted gross income (federal taxable income in CO, IA, ND), so the federal capital-loss deduction (up to $3,000, $1,500 married filing separately) and its carryover are in the state base (engine 1.9.0: cap_loss_limit). Checked 2026-09-28.
- 2025 Schedule D (Form 1040), Capital Gains and Losses, Internal Revenue Service. The federal return deducts a net capital loss up to $3,000 ($1,500 married filing separately) on Form 1040 line 7a; a state that starts from federal adjusted gross income or federal taxable income carries that deduction. Checked 2026-10-12.
Blindness and disability
- The standard deduction includes $2,000 more for a blind single or head-of-household filer and $1,600 more for each blind spouse on a married return. Age and blindness are separate: a person 65 or older and blind gets both amounts.
- The API applies these through its
blind,disabled,spouse.blindandspouse.disabledfields; absent means false.
- Minn. Stat. 290.0123, Minnesota Office of the Revisor of Statutes. The additional amount for a blind taxpayer and a blind spouse, as for age. Checked 2026-10-12.
- 2026 inflation-adjusted amounts, Minnesota Department of Revenue. The 2026 amounts: $2,000 single / head of household, $1,600 married. Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Checked 2026-10-12.
- Minnesota Revisor of Statutes: 290.0121, Minnesota Revisor of Statutes. Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Checked 2026-10-12.
- Minnesota Revisor of Statutes: 290.0802, Minnesota Revisor of Statutes. Engine 1.7.0: §290.0121: $5,300 per dependent (2026), less 2 percentage points for each $2,500 ($1,250 MFS) or fraction of federal AGI over $244,500 / $366,700 joint / $305,600 HOH / $183,350 MFS (2026). §290.0802 (Schedule M1R), the under-65 route: a disabled person's taxable disability income, at most $9,600 ($12,000 joint), less the nontaxable Social Security and half the AGI over $14,500 ($18,000 when both spouses qualify). Checked 2026-10-12.
Part-year and nonresident returns
- Part-year resident (Schedule M1NR): the tax a full-year resident would owe on all the year's income, times the state's income ratio.
- Nonresident (Schedule M1NR): the tax a full-year resident would owe on all the year's income, times the state's income ratio.
- The ratio: the federal AGI of the state's income over the federal AGI of the whole year, rounded to 5 places, at most 1.
- A nonresident's retirement income is not taxable by the state (4 U.S.C. §114); the API refuses it in
residency.stateIncome. The credit for tax paid to another state and the earned income credits on these returns are not computed.
Married couples whose residency differs (engine 1.13.0)
With residency.spouse on a joint request, each allowed treatment is calculated and reported in residency.couple; tax is the required one, else the state's default, else the couple's residency.election, else the joint return the request's mfj names. Each rule is quoted from the state's instructions (engine 1.14.0: and its statutes, regulations, bulletins and other official guidance) in the sources below.
| Spouses | Minnesota's rule |
|---|---|
| One spouse a full-year resident, the other a part-year resident | a joint part-year / nonresident return is required. |
| One spouse a full-year resident, the other a nonresident | a joint part-year / nonresident return is required. |
| One spouse a part-year resident, the other a nonresident | a joint part-year / nonresident return is required. |
| Both part-year residents, different resident periods | a joint part-year / nonresident return is required. |
| Both nonresidents, only one with income from the state | a joint part-year / nonresident return is required. |
- 2025 Schedule M1NR, Nonresidents/Part-Year Residents (with instructions) — Wayback copy of revenue.state.mn.us, Minnesota Department of Revenue. Part-year / nonresident return (engine 1.12.0, residency): Form M1 lines 1-12 compute tax on all income as if a full-year resident (Minnesota taxable income incl. all subtractions, standard/itemized deduction). Schedule M1NR line 32 = M1 line 12 tax x line 30 ratio; result goes on M1 line 13. Checked 2026-10-01.
- 2025 Form M1 Instructions — Wayback copy of revenue.state.mn.us, Minnesota Department of Revenue. Part-year / nonresident return (engine 1.12.0, residency): Form M1 lines 1-12 compute tax on all income as if a full-year resident (Minnesota taxable income incl. all subtractions, standard/itemized deduction). Schedule M1NR line 32 = M1 line 12 tax x line 30 ratio; result goes on M1 line 13. Checked 2026-10-01.
- 2025 Schedule M1NR, Nonresidents/Part-Year Residents, Minnesota Department of Revenue. Married couples whose residency differs (engine 1.13.0): Checked 2026-10-06.
Worked examples
Computed by the engine for the fixed households below (the same ones for every state, so states compare directly). Federal tax is not supplied, so a federal-tax deduction is not taken; the income tests use the sum of the components as income.
| Household (engine inputs) | State tax |
|---|---|
| Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain | $2,760.61 |
| Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain | $6,556.25 |
| Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion | $5,956.61 |
| Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable) | $1,936.70 |
| Single, 58: $36,000 military retirement pay and $30,000 wages | $786.45 |
| Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given | $1,487.30 |
Line by line
The intermediate lines the engine records while it computes each example (its detail record, printed as it comes out; lines that are zero are left out). The engine's documentation build checks that the lines add up to the taxable income and the tax, for every state, filing status and a grid of households. Each line links the engine step that produces it.
Single, 67: $30,000 private pension, $20,000 IRA, $10,000 interest, $24,000 Social Security ($17,000 federally taxable), $5,000 long-term gain: $2,760.61
| Line | Amount |
|---|---|
| Income total used by the income tests | $82,000 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $50,000 |
| + Long-term gain in the base | $5,000 |
| − Standard deduction | $17,300 |
| = State taxable income | $47,700 |
| Tax from the rate schedule | $2,760.61 |
| = Tax before credits | $2,760.61 |
| = Tax | $2,760.61 |
Married filing jointly, 70: $40,000 public pension, $40,000 IRA, $20,000 interest, $40,000 Social Security ($34,000 federally taxable), $10,000 long-term gain: $6,556.25
| Line | Amount |
|---|---|
| Income total used by the income tests | $144,000 |
| + Other ordinary income in the base | $20,000 |
| + Social Security in the base | $30,600 |
| + Retirement income in the base | $80,000 |
| + Long-term gain in the base | $10,000 |
| − Standard deduction | $33,800 |
| = State taxable income | $106,800 |
| Tax from the rate schedule | $6,556.25 |
| = Tax before credits | $6,556.25 |
| = Tax | $6,556.25 |
Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion: $5,956.61
| Line | Amount |
|---|---|
| Income total used by the income tests | $110,000 |
| + Other ordinary income in the base | $60,000 |
| + Roth conversion in the base | $50,000 |
| − Standard deduction | $15,300 |
| = State taxable income | $94,700 |
| Tax from the rate schedule | $5,956.61 |
| = Tax before credits | $5,956.61 |
| = Tax | $5,956.61 |
Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable): $1,936.70
| Line | Amount |
|---|---|
| Income total used by the income tests | $95,500 |
| + Retirement income in the base | $30,000 |
| + Roth conversion in the base | $40,000 |
| − Standard deduction | $33,800 |
| = State taxable income | $36,200 |
| Tax from the rate schedule | $1,936.70 |
| = Tax before credits | $1,936.70 |
| = Tax | $1,936.70 |
Single, 58: $36,000 military retirement pay and $30,000 wages: $786.45
| Line | Amount |
|---|---|
| Income total used by the income tests | $66,000 |
| Military pay excluded (not in the base) | $36,000 |
| + Other ordinary income in the base | $30,000 |
| − Standard deduction | $15,300 |
| = State taxable income | $14,700 |
| Tax from the rate schedule | $786.45 |
| = Tax before credits | $786.45 |
| = Tax | $786.45 |
Married filing jointly, ages 67 and 61: $50,000 IRA, $10,000 interest, $30,000 Social Security ($25,500 federally taxable), each spouse's age given: $1,487.30
| Line | Amount |
|---|---|
| Income total used by the income tests | $85,500 |
| + Other ordinary income in the base | $10,000 |
| + Retirement income in the base | $50,000 |
| − Standard deduction | $32,200 |
| = State taxable income | $27,800 |
| Tax from the rate schedule | $1,487.30 |
| = Tax before credits | $1,487.30 |
| = Tax | $1,487.30 |
After 2026: how the amounts move
A request with projection (API) estimates a later tax year from these rules: every
dollar amount and age test below moves the way Minnesota's law moves it. Rates and the rules themselves stay the 2026 ones
(how projection works).
| Amounts (engine fields) | After 2026 | What the law says, and the source |
|---|---|---|
brackets_single (the single rate schedule's thresholds), brackets_mfj (the mfj rate schedule's thresholds), brackets_hoh (the hoh rate schedule's thresholds) | Indexed: Chained CPI-U (BLS), percentage change from August 31 of the year before the statutory year to August 31 of the year before the taxable year (Minn. Stat. 270C.22); the increase rounded to the nearest $10. | Bracket thresholds are adjusted annually under 270C.22 (statutory year 2019) and rounded to the nearest $10; rates unchanged.
|
std_deduction_single, std_deduction_mfj, std_deduction_hoh, std_deduction_aged_add_unmarried, std_deduction_aged_add_married, blind_std_add_unmarried, blind_std_add_married, std_limit_start, std_limit_start_mfs, std_limit_start2, std_limit_start2_mfs | Indexed: Chained CPI-U (BLS), percentage change from August 31 of the year before the statutory year to August 31 of the year before the taxable year (Minn. Stat. 270C.22); the increase rounded down to a multiple of $50. | The standard deduction, the aged/blind additional amounts and the AGI thresholds of the deduction limitation are indexed annually under 270C.22 (statutory year 2023), rounded down to the nearest $50; the MFS amounts are half the joint amounts.
|
marriage_credit_less | Defined from another amount: 50% of std_deduction_mfj as projected, the value rounded to the nearest $0.00. | Minn. Stat. 290.0675: the lesser-earning spouse's earned income is reduced by one-half of the joint standard deduction of 290.0123 subd. 1, clause (1). The projection takes half of the projected joint standard deduction (mn-standard-deduction, rounded down to $50 before halving), so the amount moves in $25 steps; engine 1.11.0 - 1.10.0 rounded the half itself down to $50.
|
ss_exempt_agi_single, ss_exempt_agi_mfj, ss_exempt_agi_mfs | Indexed: Chained CPI-U (BLS), percentage change from August 31 of the year before the statutory year to August 31 of the year before the taxable year (Minn. Stat. 270C.22); the increase rounded to the nearest $10. | The simplified Social Security subtraction phase-out thresholds (joint, single/HOH) are indexed under 270C.22 (statutory year 2023), nearest $10; MFS is half the joint threshold.
|
mn-ss-step (a table held in code) | Fixed in law: held at the rules-year amount in every later year. | The 10% reduction per $4,000 ($2,000 MFS) of AGI over the threshold is fixed in subd. 26(c)/(d); paragraph (j) indexes only the thresholds, not the step widths.
|
ss_alt_subtraction_single, ss_alt_subtraction_mfj, ss_alt_subtraction_mfs, ss_alt_threshold_single, ss_alt_threshold_mfj, ss_alt_threshold_mfs | Fixed in law: held at the rules-year amount in every later year. | The alternate subtraction maximums ($5,840 joint, $4,560 single, half for MFS) and provisional-income thresholds ($88,630, $69,250) are nominal: subd. 26(j) indexes only the paragraph (c) thresholds, and DOR lists them as 'Not Indexed'.
|
noncov_pension_cap_single, noncov_pension_cap_mfj, noncov_pension_phaseout_start_single, noncov_pension_phaseout_start_mfj, noncov_pension_phaseout_start_mfs | Indexed: Chained CPI-U (BLS), percentage change from August 31 of the year before the statutory year to August 31 of the year before the taxable year (Minn. Stat. 270C.22); the increase rounded to the nearest $10. | The qualified public pension subtraction limits and phase-out thresholds are indexed annually under 270C.22 (statutory year 2023); no special rounding, so 270C.22's nearest-$10 default applies. MFS threshold is half the joint.
|
noncov_pension_phaseout_step | Fixed in law: held at the rules-year amount in every later year. | The $2,000 phase-out step is fixed; subd. 34(d) indexes only the limits and thresholds.
|
dep_exemption, dep_phaseout_start_single, dep_phaseout_start_mfj, dep_phaseout_start_hoh, dep_phaseout_start_mfs | Indexed: Chained CPI-U (BLS), percentage change from August 31 of the year before the statutory year to August 31 of the year before the taxable year (Minn. Stat. 270C.22); the increase rounded down to a multiple of $50. | The dependent exemption and its phase-out thresholds are indexed under 270C.22 (statutory year 2019), rounded down to $50; the MFS threshold is half the joint.
|
dep_phaseout_step, dep_phaseout_step_mfs | Fixed in law: held at the rules-year amount in every later year. | The $2,500 ($1,250 MFS) phase-out steps are fixed; subd. 3 indexes only the exemption amount and thresholds.
|
senior_income_sub_single, senior_income_sub_mfj, senior_income_sub_agi_single, senior_income_sub_agi_mfj, m1r_base_single, m1r_base_mfj, m1r_floor_single, m1r_floor_mfj_both | Fixed in law: held at the rules-year amount in every later year. | The elderly/disabled subtraction base amounts and AGI thresholds are nominal in 290.0802 subd. 2; the section contains no inflation adjustment.
|
senior_income_sub_min_age, m1r_min_age | Attained age: the same age in every year. | A qualified individual is one who has attained age 65 before the close of the taxable year (IRC 22(b), adopted by 290.0802); under 65 the base is limited to disability income. A fixed attained age.
|
mil_past_credit, mil_past_credit_agi_start, mil_past_credit_min_pay | Fixed in law: held at the rules-year amount in every later year. | The $750 past-military-service credit and its $30,000 AGI phase-out start are nominal in 290.0677 subd. 1a with no inflation adjustment; the $0.01 minimum pay is an engine tolerance, not a statutory amount.
|
cap_loss_limit, cap_loss_limit_mfs | Fixed in law: held at the rules-year amount in every later year. | Minnesota starts from federal AGI, so the IRC 1211(b) $3,000/$1,500 capital-loss limit applies; it is fixed in federal law.
|
mn-credits (a table held in code) | Indexed: Minnesota 270C.22 inflation adjustment; the increase rounded to the nearest $1. | Minn. Stat. 290.0693 and 290.0671 (270C.22): the renter's credit income brackets and maxima and the Working Family Credit amounts are indexed annually; the engine carries the published 2026 amounts.
|
Enacted for later years, not applied by the projection
None found: the research found no change enacted for years after 2026 beyond the schedules above.
What the engine does not calculate, and known approximations
- The 1% tax on net investment income above $1 million is not modeled.
- The Schedule M1R subtraction is not modeled on married-filing-separately returns (it needs the spouses to have lived apart); the 65+ route (engine 1.6.0) and the under-65 disability route (engine 1.7.0) are.
- The tax table's $100-row midpoint and the form's whole-dollar rounding are not applied; the engine taxes line 9 on the rate schedule to the cent (at most about $3.90 from the table figure).
- The subtraction is given only when the caller says the pension was not covered by Social Security (API pensionPublicSsCovered: false); pensionPublic is then read as a Minnesota-plan or federal pension. Another state's plan qualifies only under a reciprocity test the engine does not model. (Public pensions)
- 1% net investment income tax over $1,000,000 (M.S. 290.033) not modeled (disclosed engine omission). (Capital gains)
- The child tax credit is refundable, and the K-12 education and dependent care credits need expenses; none is calculated. Sources: Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12).
- The subtraction for the elderly and disabled on a married-filing-separately return is not calculated: it needs the spouses to have lived apart. Sources: Minn. Stat. 290.0123 (checked 2026-10-12); 2026 inflation-adjusted amounts (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12).
- The other Schedule M1C credits (long-term care insurance premiums, the 529 contribution, student loan and teacher master's-degree credits, and the business and certificate credits) are not calculated: they need premiums, contributions, loan payments or certificates the inputs do not carry. Sources: Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12).
- The marriage credit (Schedule M1MA) needs each spouse's own amounts: without a spouse object it is not calculated, so a two-earner couple's tax is overstated by it. With them the engine uses the statute's formula (Schedule M1MA Part 2) — for a smaller lesser-earner income the form's table rounds it into income bands — and counts each spouse's income to the extent it is in Minnesota taxable income, as Minn. Stat. 290.0675 says, where the form's lines 1 and 4 start from the federally taxable amounts: military pay and Social Security that Minnesota subtracts do not count here (a difference of tens of dollars for some couples). Self-employment income is not an input: only wages count as earned income for the credit. Sources: Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12).
- The Credit for Past Military Service is given to the recipients of military retirement pay (pensionMilitary); its 20-years-of-service and total service-connected disability routes need facts the inputs do not carry. Sources: Military pension subtraction (checked 2026-09-27); Minn. Stat. §290.0677 (military service credits) (checked 2026-10-12); 2025 Schedule M1C instructions (line 4) (checked 2026-09-27).
- Schedule M1M additions and subtractions for income the inputs do not separate are not calculated: interest from other states' municipal bonds and bond funds (added), and interest from U.S. government obligations, Foreign Service pensions, a state income tax refund included in federal income, and the charitable, K-12 education, 529, organ-donor, volunteer-mileage and other specific subtractions (subtracted). Sources: Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12).
- Schedule M1R's reduction for nontaxable pensions reported on federal Schedule R is not calculated: the inputs do not carry them. Sources: 2025 Schedule M1R, Age 65 or Older/Disabled Subtraction (Wayback copy) (checked 2026-09-27); Minnesota Statutes section 290.0802 (subtraction for the elderly or disabled) (checked 2026-10-12); 2025 Schedule M1R (checked 2026-09-27).
- The Renter's Credit uses the 2026 brackets of Minn. Stat. 290.0693 on the exact household income; the Department's published table rounds into income bands, so a table-filed credit can differ by a few dollars. Sources: Tax Year 2026 Inflation-Adjusted Amounts in Minnesota Statutes (checked 2026-10-12); Minn. Stat. § 290.0123 Standard deduction (checked 2026-10-12); 2025 Form M1 Instructions (Wayback copy) (checked 2026-09-27); Tax Year 2026 Inflation-Adjusted Amounts (Minnesota) (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0121 (checked 2026-10-12); Minnesota Revisor of Statutes: 290.0802 (checked 2026-10-12); Minn. Stat. §290.0675 (marriage credit) (checked 2026-10-12); 2025 Schedule M1MA, Marriage Credit (checked 2026-09-27); Minnesota Statutes 2025, section 290.0671 Minnesota Working Family Credit (checked 2026-10-12); Minnesota Statutes 2025, section 290.0661 Minnesota Child Tax Credit (subd. 4 joint phaseout) (checked 2026-10-12); 2025 Schedule M1CWFC, Minnesota Child and Working Family Credits, and instructions (Rev. 3/26) (checked 2026-10-01); 2025 Schedule M1RENT, Renter's Credit (and instructions) (checked 2026-10-01); Minn. Stat. 290.0693 Renter's Credit (checked 2026-10-12); Minn. Stat. 290A.04 Refunds; schedules (history table) (checked 2026-10-12).
What the engine does not calculate for any state (itemized deductions, credits beyond those listed, part-year residents, and more) is listed on the calculation order page.
Verification
Worksheet-tested 18 worksheet scenarios replay Form M1 lines 1-10 (standard deduction table with the 65+ boxes, tax table midpoint method below $86,800, rate schedules above) with Schedule M1M lines 12 (Worksheet for line 12, simplified and alternate methods), 25 (military) and 29 (Schedule M1QPEN), on the TY2025 forms with the TY2026 inflation-adjusted amounts substituted; all match within the form's whole-dollar rounding, and 3 PENDING cases record where the engine departs from the form.
- Golden scenarios (hand-computed expected tax, asserted to within $1):
H09,X06. - State-specific unit tests:
test_no_state_uses_placeholder_schedule,test_compute_federal_ss_parts,test_mn_m1r,test_mn_alt_ss_needs_gross,test_mn_std_limitation,test_noncovered_public_pension_edges,test_engine_180_s3,test_legacy_request_equals_v2,test_mn_public_pension_not_ss_covered,test_mn_aged_additional_deduction. - Structural tests covering every state: 9.
- State forms and worksheets followed in the test derivations: Form M1 lines 1, 4, 7, 8, 9, 10 (TY2025 form, TY2026 amounts); M1 booklet Standard Deduction Table for line 4 (65-or-older boxes); M1 tax table ($100 rows, midpoint method) and Tax Rate Schedules (single, MFJ, MFS, HOH); Schedule M1M Worksheet for line 12 (Social Security subtraction, steps 1-30); Schedule M1M line 25 (military retirement pay); Schedule M1QPEN lines 1-10 (qualified public pension subtraction); Schedule M1R lines 1-13 (PENDING case); M1 booklet Worksheet A for line 4 (PENDING case); backend/tests/test_state_worksheets_2.c.
Social Security
Fully subtracted when income is below $86,410 (single), $55,390 (married filing separately) and $110,780 (married filing jointly). The subtraction falls by 10% of the benefits for each $4,000 ($2,000 married filing separately) of income over the threshold, or part of one.
API value:
socialSecurityRule: "stepped_subtraction". The engine's input is the federally taxable amount; income tests use the sum of the income components as the adjusted-gross-income proxy.Source review notes (what the sources do not state outright, or what the engine does not carry):