State tax docs / States / Iowa
Iowa state income tax: engine rules, 2026
How the QuantCalc engine computes Iowa tax for tax year 2026, rule by rule, with the official source for each rule. Verification status: Statute and instructions cited (what this means).
On this page: How the tax is computed · Rate schedule · Deductions, exemptions and credits · Social Security · IRA, 401(k) and private pensions · Public pensions · Military retirement pay · Roth conversions · Capital gains · Interaction with the federal return · Worked examples · Not calculated ·
Verification. Machine-readable: this state's entry in the
engine config and the provenance file
(key IA).
How the tax is computed
Every step the engine takes for Iowa, 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 Iowa'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 | single schedule |
| Top rate | 3.8% flat | 3.8% flat | 3.8% flat | 3.8% flat |
| Standard deduction, under 65 | $16,100 | $32,200 | $16,100 | $16,100 |
| Standard deduction at 70 (joint: both 70) | $16,100 | $32,200 | $16,100 | $16,100 |
| Personal exemption | none | none | none | none |
| Age subtractions at 70 (joint: both 70) | none | none | none | none |
- 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. - 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.
Iowa's values · engine step (select_brackets). Sources (Rate schedule): IDR Announces 2026 Individual Income Tax and Interest Rates (checked 2026-09-27) - 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).
Iowa's values · engine step (select_brackets). Sources (Rate schedule): IDR Announces 2026 Individual Income Tax and Interest Rates (checked 2026-09-27) - 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.
Iowa's values · engine step (select_brackets). Sources (Rate schedule): IDR Announces 2026 Individual Income Tax and Interest Rates (checked 2026-09-27) - The income total every income test uses Other ordinary income + retirement distributions (before any exclusion) + conversion + federally taxable Social Security + long-term gains. 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, 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, 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.
Iowa's values · engine step (compute_state_tax_detail). Sources (Military retirement pay): Military tax information (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.
Iowa's values · engine step (military_exempt_one). Sources (Military retirement pay): Military tax information (checked 2026-09-27) - Social Security exempt None of the federally taxable benefit enters the base.
Iowa's values · engine step (ss_amount_in_state_base). Sources (Social Security): Iowa Code 2026, Section 422.7 (Net income - how computed) (checked 2026-09-27); IA 1040 Schedule 1 (Expanded Instructions) (checked 2026-09-27) - Retirement exclusion per spouse (both ages known) joint returns with the spouse's age given Full-exclusion states exclude each qualifying spouse's own dollars. Capped states give each spouse the single cap for their own age against their own eligible dollars (pension dollars only where the exclusion is pension-only; employer dollars only below the IRA age), less their military exclusion and half of any Social Security offset. Per-return states (and the pooled-if-both-qualify rule when both qualify) apply the joint cap to the couple's pooled eligible dollars when either spouse qualifies. The income tests then apply once to the summed deduction.
Iowa's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Retirement Income Tax Guidance (checked 2026-09-27); Iowa Code 2026, Section 422.7 (Net income - how computed) (checked 2026-09-27); IA 1040 Schedule 1 (Expanded Instructions) (checked 2026-09-27) - 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.
Iowa's values · engine step (compute_state_tax_detail). Sources (IRA, 401(k) and private pensions): Retirement Income Tax Guidance (checked 2026-09-27); Iowa Code 2026, Section 422.7 (Net income - how computed) (checked 2026-09-27); IA 1040 Schedule 1 (Expanded Instructions) (checked 2026-09-27) - 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.
Iowa's values · engine step (compute_state_tax_detail). Sources (Roth conversions): Retirement Income Tax Guidance (checked 2026-09-27); IA 1040 Schedule 1 (Expanded Instructions) (checked 2026-09-27) - Full exclusion All distributions are excluded at or above the exclusion age; below it they are taxed.
Iowa's values · engine step (retirement_distributions_in_state_base). Sources (IRA, 401(k) and private pensions): Retirement Income Tax Guidance (checked 2026-09-27); Iowa Code 2026, Section 422.7 (Net income - how computed) (checked 2026-09-27); IA 1040 Schedule 1 (Expanded Instructions) (checked 2026-09-27) - 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.
Iowa's values · engine step (compute_state_tax_detail). Sources (Capital gains): Iowa Capital Gain Deduction flowchart: Miscellaneous Transactions (01/05/2023) (checked 2026-09-27); Iowa Code 2026, Section 422.7 (Net income - how computed) (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. - Starting from federal taxable income only when the caller supplies federal taxable income (the planner; not the API) When the caller supplies federal taxable income (the planner does; the API does not), the base starts from it, adds the gains in it (less the state's gain subtraction), and subtracts the state's own exclusions and subtractions; the state's deduction is not subtracted again.
Iowa's values · engine step (compute_state_tax_detail). Sources (Interaction with the federal return): IA 1040 Instructions, Line 02: Federal Taxable Income (checked 2026-09-27) - No tax at or below zero State taxable income at or below zero returns a tax of 0 (credits are not refundable and nothing below applies).
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.
Iowa's values · engine step (compute_state_tax_detail). Sources (Rate schedule): IDR Announces 2026 Individual Income Tax and Interest Rates (checked 2026-09-27) - 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.
Iowa's values · engine step (apply_state_brackets). Sources (Rate schedule): IDR Announces 2026 Individual Income Tax and Interest Rates (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.
Rate schedule
A flat 3.8% on state taxable income.
- IDR Announces 2026 Individual Income Tax and Interest Rates, Iowa Department of Revenue. For tax year 2026 Iowa applies a single flat rate of 3.8% to all levels of taxable income (Senate File 2442). Checked 2026-09-27.
Deductions, exemptions and credits
- Standard deduction (or the exemption the engine carries in its place): $16,100 single, $32,200 married filing jointly, and the single amount for head of household.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- Iowa exemption credits ($40 per person, IA 1040 line 8) are not carried by the engine and were not sourced.
- IA 1040 Instructions, Line 02: Federal Taxable Income, Iowa Department of Revenue. Iowa computation starts from federal taxable income (federal Form 1040 line 15), so the federal standard deduction is already subtracted in the Iowa base. Checked 2026-09-27.
- IRS releases tax inflation adjustments for tax year 2026, including amendments from the One, Big, Beautiful Bill, Internal Revenue Service. The 2026 federal standard deduction, which flows into Iowa through federal taxable income, is $16,100 single and $32,200 married filing jointly. Checked 2026-09-27.
IRA, 401(k) and private pensions
- Pension, annuity and IRA/401(k) distributions are fully excluded at age 55 or older; below that age they are taxed as ordinary income. No dollar cap and no income limit.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- No official page states the absence of a dollar cap in so many words; the uncapped exclusion follows from the statute and guidance listing no limit.
- Retirement Income Tax Guidance, Iowa Department of Revenue. Since tax year 2023 (House File 2317) Iowa excludes retirement income, including IRA, 401(k)/403(b)/457(b) and pension distributions, for taxpayers age 55 or older on December 31 (or disabled or a qualifying surviving spouse), with no dollar cap. Checked 2026-09-27.
- Iowa Code 2026, Section 422.7 (Net income - how computed), Iowa Legislature. The statutory retirement-income subtraction applies to recipients who are disabled or fifty-five years of age or older. Checked 2026-09-27.
- IA 1040 Schedule 1 (Expanded Instructions), Iowa Department of Revenue. IA 1040 Schedule 1 line 7 subtracts IRA, pension and other retirement-plan income included in federal taxable income for eligible recipients. Checked 2026-09-27.
Public pensions
No separate treatment: public pensions follow the rules for other retirement income above.
- IA 1040 Schedule 1 (Expanded Instructions), Iowa Department of Revenue. Governmental pensions (including IPERS) fall under the same age-55 retirement-income exclusion as private pensions; the engine applies one uncapped exclusion to both. Checked 2026-09-27.
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 tax information, Iowa Department of Revenue. Iowa excludes military retirement benefits, and military survivor benefits, separately from its general retirement exclusion. Checked 2026-09-27.
Roth conversions
A traditional-to-Roth conversion is not taxed at age 55 or older; below that age it is taxed as ordinary income.
- Retirement Income Tax Guidance, Iowa Department of Revenue. Roth conversion income is listed as retirement income that qualifies for the age-55 exclusion, so an eligible taxpayer's conversion is excluded from Iowa income. Checked 2026-09-27.
- IA 1040 Schedule 1 (Expanded Instructions), Iowa Department of Revenue. The Schedule 1 line 7 instructions list Roth conversion income among the qualifying retirement distributions. Checked 2026-09-27.
Capital gains
- Net long-term gain is taxed as ordinary income.
- Short-term gains are ordinary income.
- Iowa Capital Gain Deduction flowchart: Miscellaneous Transactions (01/05/2023), Iowa Department of Revenue. Gains on stocks and bonds do not qualify for the Iowa capital gain deduction, so ordinary investment gains are taxed at the flat rate like other income. Checked 2026-09-27.
- Iowa Code 2026, Section 422.7 (Net income - how computed), Iowa Legislature. The statutory capital-gain subtractions are limited to specific farm, livestock and business-property sales. Checked 2026-09-27.
Interaction with the federal return
- The state base starts from federal taxable income when the caller supplies it (engine input
fed_taxable_ordinary, used by the planner; the API does not take it), so the real federal deductions carry through; otherwise the engine rebuilds the base from income components minus the deduction shown above.
Source review notes (what the sources do not state outright, or what the engine does not carry):
- The Line 02 page is labelled Instruction Year 2025; no 2026 IA 1040 instructions are published yet.
- IA 1040 Instructions, Line 02: Federal Taxable Income, Iowa Department of Revenue. The Iowa base is federal taxable income from federal Form 1040 line 15, adjusted by Iowa modifications. Checked 2026-09-27.
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 | $0 |
| 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 | $0 |
| Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion | $1,668.20 |
| Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable) | $0 |
| Single, 58: $36,000 military retirement pay and $30,000 wages | $528.20 |
| 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 | $0 |
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: $0
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: $0
| Line | Amount |
|---|---|
| Income total used by the income tests | $144,000 |
| Retirement income and conversions excluded (not in the base) | $80,000 |
| + Other ordinary income in the base | $20,000 |
| + Long-term gain in the base | $10,000 |
| − Standard deduction | $32,200 |
| = State taxable income | $0 |
| Tax from the rate schedule | $0 |
| = Tax | $0 |
Single, 60: $60,000 other ordinary income and a $50,000 Roth conversion: $1,668.20
| Line | Amount |
|---|---|
| Income total used by the income tests | $110,000 |
| Retirement income and conversions excluded (not in the base) | $50,000 |
| + Other ordinary income in the base | $60,000 |
| − Standard deduction | $16,100 |
| = State taxable income | $43,900 |
| Tax from the rate schedule | $1,668.20 |
| = Tax before credits | $1,668.20 |
| = Tax | $1,668.20 |
Married filing jointly, 66: $30,000 IRA, a $40,000 Roth conversion, $30,000 Social Security ($25,500 federally taxable): $0
| Line | Amount |
|---|---|
| Income total used by the income tests | $95,500 |
| Retirement income and conversions excluded (not in the base) | $70,000 |
| − Standard deduction | $32,200 |
| = State taxable income | $0 |
| Tax from the rate schedule | $0 |
| = Tax | $0 |
Single, 58: $36,000 military retirement pay and $30,000 wages: $528.20
| 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 | $16,100 |
| = State taxable income | $13,900 |
| Tax from the rate schedule | $528.20 |
| = Tax before credits | $528.20 |
| = Tax | $528.20 |
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: $0
What the engine does not calculate, and known approximations
Nothing specific to this state beyond the engine-wide list.
What the engine does not calculate for any state (itemized deductions, credits beyond those listed, part-year residents, dependents, blindness and disability, and more) is listed on the calculation order page.
Verification
Statute and instructions cited Full exclusion at 55 and the federal-taxable-income starting point cited to Iowa law and the IA 1040 instructions; golden rows pin them.
- Golden scenarios (hand-computed expected tax, asserted to within $1):
M14,M15. - State-specific unit tests:
test_iowa_full_exclusion_age_gated,test_d12_conformity_states,test_ia_full_exclusion_per_spouse. - Structural tests covering every state: 3.
Social Security
Social Security benefits are fully exempt: none of the federally taxable amount enters the state base.
API value:
socialSecurityRule: "exempt". The engine's input is the federally taxable amount; income tests use the sum of the income components as the adjusted-gross-income proxy.