QuantCalc QuantCalc State tax engine docs

State tax docs

State income tax engine documentation

The QuantCalc state tax engine computes a year of state income tax for all 50 states and the District of Columbia. It is one C module with no dependencies beyond the C standard library and libm, it is the same code the retirement planner and the state tax API run, and this documentation is generated from its own configuration. Tax year 2026; engine version 1.28.0 (versioning).

API reference

Every request field, the response, errors, access and examples.

The 51 jurisdictions

Each state's rules as the engine applies them, with sources.

State income tax rates 2026

Every jurisdiction's rate schedule from this configuration, and the engine's tax on three wage levels, on one page.

Couples and income types

Per-spouse amounts and the income-type model, with worked examples.

Calculation order

Every step the engine takes, in order, with its code reference and sources.

Verification

How correctness is established, and each state's honest status.

Updates and versioning

The annual cycle, how changes are gated and released, the changelog.

Library and delivery

Running the engine inside your own application.

See engine output now, with no key

Your retirement tax in every state computes one household's 2026 state tax in all 51 jurisdictions, ranked, in your browser, with the engine's JavaScript copy; a gate holds it to the cent to what POST /api/state-tax/every-state returns. Each state page shows worked examples the engine computed. These endpoints answer without a key:

What the engine models

AreaStatusDetail
Rate schedulesModeledSingle and MFJ schedules for all 42 taxing jurisdictions; a distinct head-of-household schedule where the state has one (ID, CA, CT, HI, ME, MD, MN, MT, NE, NJ, NM, NY, ND, OK, OR, VT); married filing separately by the state's own rule or by halving the MFJ thresholds.
Standard deductions, exemptions, creditsModeledStandard deductions, personal exemptions and their phase-outs, per-exemption and senior credits, and Utah's taxpayer credit, as each state page lists.
Social SecurityModeled9 statutory treatments; 8 jurisdictions tax some benefits (CO, UT, CT, MN, MT, NM, RI, VT).
Retirement-income exclusionsModeledFull exclusions (IL, PA, IA, MS), capped exclusions with age tiers, income limits and Social Security offsets (CO, KY, MI, AL, AR, CT, DE, GA, LA, ME, MD, MO, NJ, NY, OK, RI, SC, VA, WI).
Public vs private pensionsPartlySeparate public-pension treatment where the engine carries it (AZ, MA, AL, HI, KS, LA, MO, NY, WV); elsewhere public pensions follow the general retirement rules. See each state page.
Military retirement payModeledIts own income type (pensionMilitary), with each state's rule applied per retiree at their own age; fully exempt in 28 jurisdictions (plus VT, where the exemption is income-tested).
WagesModeledIts own income type (wages): ordinary income everywhere, plus the earned-income rules in GA, OH, WI.
CouplesModeledPer-spouse amounts and ages on joint returns: each age-conditioned rule is evaluated per person where the state applies it per person.
Roth conversionsModeledTaxed, excluded or drawing the retirement cap, by state.
Capital gainsModeledOrdinary treatment, inclusion ratios, flat exclusions, a two-rate schedule (MT), an alternative-rate cap (HI), a surcharge (MD), full exemption (MO) and Washington's excise.
Local income taxesPartlyThe local income taxes of the engine's locality registry, each jurisdiction named in the request's localities by its official code (GET /api/state-tax/localities?state=XX lists them): City of Wilmington earned income tax (DE); Iowa school district income surtax (IA); Indiana county local income tax (LIT) (IN); Kentucky local occupational license tax (KY); Maryland county / Baltimore City income tax (MD); Michigan city income tax (Uniform City Income Tax Ordinance) (MI); Kansas City and St. Louis earnings tax (MO); New York City resident income tax (NY); Yonkers resident income tax surcharge and nonresident earnings tax (NY); Ohio municipal income tax (OH); Ohio school district income tax (OH); Metro Supportive Housing Services personal income tax (OR); Multnomah County Preschool for All personal income tax (OR); Pennsylvania local earned income tax (Act 32) (PA); Philadelphia Wage/Earnings and Net Profits Tax and School Income Tax (PA). Without localities, IN, MD carry their county tax at the state's average rate unless localTaxRate gives the filer's own. The local taxes outside the registry are listed under what it does not model.
Federal tax deductionModeledAL, MO, OR, when the caller supplies the federal figure.
Surtaxes and recaptureModeledCalifornia's mental health services tax, the Massachusetts 4% surtax, New York's recapture and Connecticut's add-back and recapture.
Itemized deductionsPartlyA state's itemized deduction, in the states whose page lists it, when the request carries the federal return's Schedule A (computeFederal with federalItemized, on a full-year resident return).
DependentsModeledThe dependents input (each dependent's age, and whether a student or disabled) applies every nonrefundable dependent exemption, deduction and credit each state page lists (engine 1.7.0), and counts the qualifying children of the earned income credits (engine 1.12.0).
Blindness and disabilityModeledThe blind and disabled inputs (per person) apply every blind amount and every disability route to a state's age-based relief that each state page lists, and the disability pay input applies the disability-income exclusions (engine 1.7.0).
Refundable creditsModeledThe earned income credits, and the property-tax, renter's, grocery and senior credits each state page lists, are calculated into refundableCredits and netTax (tax stays the liability before them) from the facts given (propertyTaxPaid, rentPaid, rentIncludesHeat, homeValue, taxExemptInterest, medicalExpenses; a fact not given is none, and inputsNotSupplied says when giving one would change the result) (engine 1.12.0).
Part-year and nonresident returnsModeledPart-year and nonresident returns (engine 1.12.0, residency) are calculated for every taxing state by its own method, and (engine 1.13.0, residency.spouse) a married couple whose residency differs by the state's own rule for the pair, every treatment it allows computed. Local taxes with residency (engine 1.13.0) are calculated for a part-year resident of New York City and Yonkers (Form IT-360.1), a Pennsylvania EIT subdivision (the Local Worksheet), an Ohio earned-income-base school district (SD 100), for a county or Iowa school district on a part-year return and for a nonresident's workplace.
Tax tablesModeledWhere a state's instructions make a tax table mandatory (23 states, engine 1.18.0), the tax is looked up as the form does (rules.taxTable).

What it does not model

Each state page lists what the engine does not calculate for that state; the calculation order page walks every step the engine does take.

Data you can download

How sources are kept current

Each source in the provenance file carries the figure or phrase it is cited for, exactly as the source prints it. A weekly job fetches every source (HTML and PDF), confirms that wording is still there, flags dead links and pages that now redirect elsewhere, and updates the checked dates shown on these pages. 304 of the 1368 citations are read from an Internet Archive copy of the official URL, mostly because the state's site refuses connections from the server that runs our automated source check; the page links the copy that was read. A build gate fails when a rule on a state page has neither a source nor a stated reason why none could be confirmed, when a source has no checked date, or when the engine's value no longer matches the value a source was checked against. 3 rules currently carry only such a reason; they are listed on the verification page. Details are on the verification page.