Methodology

Accuracy is the product. If a figure cannot be traced to an official source, it does not ship — and where something is approximate, it is listed below rather than buried.

Federal income tax

Brackets and the standard deduction come from IRS Rev. Proc. 2025-32 (2026 inflation adjustments). Tax is computed on taxable income — gross pay minus the standard deduction for your filing status — by applying each bracket rate to the slice of income that falls inside it. All four filing statuses have their own bracket table.

Social Security and Medicare

Only the employee share is shown. Your employer pays a matching amount that never appears on your payslip.

State income tax

All 50 states and DC are covered. Nine levy no tax on wages. For the rest we apply the state’s own brackets to income after its own standard deduction and personal exemption — and critically, we track which kind of exemption each state uses. Some reduce taxable income; others are a flat credit against tax owed. Treating one as the other produces a wrong answer of a few hundred dollars, so each state declares its own mechanism explicitly.

Wage data

Median wages come from U.S. Bureau of Labor Statistics, Occupational Employment and Wage Statistics (OEWS), May 2025 state estimates (bulk file), May 2025 estimates. Where the BLS suppresses a figure, or withholds it because the median exceeds $115,000, that combination is omitted entirely. We do not estimate a number the source declined to publish.

Liability, not withholding

Every figure here is annual tax liability — what you owe for the year. Employer withholding, which is what appears on a paycheck, is calculated differently under IRS Publication 15-T and depends on your W-4. The two normally land close but rarely match exactly. A withholding mode is planned.

Source verification, state by state

Our standard is that every figure traces to the revenue department that publishes it. That check is being worked through jurisdiction by jurisdiction, and this table is the live status rather than a claim — including the states where it is not done yet.

42 checked against the state’s own revenue department · 9 levy no wage tax so there is nothing to check · 0 where a primary source was found but the figures do not yet reconcile · 0 still rely on a secondary compilation.

JurisdictionStatusFiguresChecked
AlabamaRevenue department20262026-09-16
ArizonaRevenue department20262026-09-16
ArkansasRevenue department20262026-09-16
CaliforniaRevenue department20252026-09-16
ColoradoRevenue department20252026-09-16
ConnecticutRevenue department20262026-09-16
DelawareRevenue department20262026-09-16
District of ColumbiaRevenue department20262026-09-16
GeorgiaRevenue department20262026-09-16
HawaiiRevenue department20262026-09-16
IdahoRevenue department20262026-09-16
IllinoisRevenue department20262026-09-16
IndianaRevenue department20262026-09-16
IowaRevenue department20262026-09-16
KansasRevenue department20262026-09-16
KentuckyRevenue department20262026-09-16
LouisianaRevenue department20262026-09-16
MaineRevenue department20262026-09-16
MarylandRevenue department20262026-09-16
MassachusettsRevenue department20262026-09-16
MichiganRevenue department20262026-09-16
MinnesotaRevenue department20262026-09-16
MississippiRevenue department20262026-09-16
MissouriRevenue department20262026-09-16
MontanaRevenue department20262026-09-16
NebraskaRevenue department20262026-09-16
New JerseyRevenue department20252026-09-16
New MexicoRevenue department20262026-09-16
New YorkRevenue department20262026-09-16
North CarolinaRevenue department20262026-09-16
North DakotaRevenue department20252026-09-16
OhioRevenue department20262026-09-16
OklahomaRevenue department20262026-09-16
OregonRevenue department20262026-09-16
PennsylvaniaRevenue department20262026-09-16
Rhode IslandRevenue department20262026-09-16
South CarolinaRevenue department20262026-09-16
UtahRevenue department20262026-09-16
VermontRevenue department20262026-09-16
VirginiaRevenue department20262026-09-16
West VirginiaRevenue department20262026-09-16
WisconsinRevenue department20262026-09-16
AlaskaNo wage tax—2026-08-09
FloridaNo wage tax—2026-08-09
NevadaNo wage tax—2026-08-09
New HampshireNo wage tax—2026-08-09
South DakotaNo wage tax—2026-08-09
TennesseeNo wage tax—2026-08-09
TexasNo wage tax—2026-08-09
WashingtonNo wage tax—2026-08-09
WyomingNo wage tax—2026-08-09

Errors found and corrected by this process

A correction found here is the point of the exercise, not an embarrassment. Every one is also recorded in the changelog with a date.

How these figures are kept current

Tax law moves constantly, and the first full verification pass showed how. Of the jurisdictions we could check against a primary source, roughly one in three held a wrong figure — and the commonest cause was not a transcription slip but a legislature changing the tax after the data was compiled. South Carolina replaced its entire income tax in March, Arkansas and Georgia cut rates in May, West Virginia in June, all retroactive to 1 January.

Two rules came out of that, and both are now the working method. First, re-reading a state’s rate page is not enough — those pages go stale, and one state still described a rate it had already cut months earlier. Second, the best source is the state’s own withholding formula: a state must publish it before 1 January so employers can run payroll, so it is always current, always official, and usually carries the rate, the deduction and the exemption in one document.

WhenPriorityScope
JanuarycriticalEverything. Nearly every indexed figure and every legislated phase-down takes effect on 1 January, and withholding formulas are published before then. Work from each state’s withholding formula first.
AprilhighScan for legislation enacted in the spring sessions, which is where the 2026 pass found its worst errors — South Carolina, Arkansas and Georgia all changed their tax between March and May, retroactive to 1 January.
JulynormalCatch anything from sessions that ran late, and states with mid-year effective dates. West Virginia’s 2026 cut took effect 12 June, retroactive to January.
OctoberhighFederal figures for the coming year: the IRS revenue procedure lands in October and the SSA wage base shortly after. Also the annual BLS OEWS refresh check.

Scheduled changes we already know are coming

Anything on this list is a change that will happen on its own — several states now cut rates automatically when revenue targets are met, with no bill to watch for. Finding one of these unchanged is itself a finding.

JurisdictionWhyWhat to check
Californiaannual indexationThe SDI rate moves most years and has NO wage cap since SB 951 took effect in 2024, so a rate change is worth real money at every income — 1.3% for 2026. Check the rate, and check that the cap has not been legislated back.
Federalannual indexationFederal brackets, standard deduction and the Social Security wage base. The Additional Medicare thresholds are NOT indexed — if they appear to change, the law changed.
Hawaiischeduled stepsAct 46 raises the standard deduction in 2028, 2030 and 2031, and the brackets in 2027 and 2029 — the two move in ALTERNATE years, so finding the brackets unchanged does not mean Hawaii is unchanged. Check both separately.
Nebraskalegislated phasedownTop rate falls to 3.99% in 2027, from 4.55%.
Montanalegislated phasedownHB 337 cuts the top rate to 5.4% for 2027 and raises the bracket split to $65,000 single.
Indianalegislated phasedownRate falls to 2.90% in 2027, from 2.95%, and the county rate chart is reissued in January and again in October.
North Carolinarevenue triggerFurther cuts from 2027 depend on revenue triggers under Session Law 2023-134 — no new bill will be passed, so this must be checked rather than waited for.
South Carolinarevenue triggerH.4216 lowers the top rate further whenever the Board of Economic Advisors certifies revenue growth of 5% or more. Determined by 15 February each year.
Oklahomarevenue triggerHB 2764 cuts the rate 0.25 points whenever certified benchmarks are met, cancelled automatically if a revenue failure is declared.
Arkansasrevenue triggerArkansas has cut its top rate four times in four years, often in special session and retroactively. The two-table structure is modelled; re-verify the $94,700 switch point and both tables each January.
Coloradorevenue triggerThe rate moves with TABOR surplus refunds — 4.25% in 2024, 4.4% in 2025. It is not a one-way phase-down and can go back up.
Californiaannual indexationBrackets, standard deduction and exemption credit are indexed each August for the current year, so early in the year the latest published figures are the prior year’s.
Massachusettsannual indexationThe 4% surtax threshold is certified annually for cost of living.
New Yorklegislated phasedownA second 0.1-point cut applies in 2027 under A3009 of 2025. NY’s published forms lag the enacted rate, so check the withholding revision notice, not the prior-year form.
Vermontannual indexationVermont does not publish a liability rate schedule for the current year until well into it, so the bands have to be derived from the annual percentage-method table in GB-1210 by subtracting its zero band. Re-derive each January and re-check that the table’s printed base-tax column reconciles. Head of household (Schedule Z) has no withholding counterpart and can only be updated once the rate schedule appears.
Wisconsinannual indexationWisconsin indexes its bands about 2.5–3% a year but its rate page carries only the PRIOR year even after being revised in January. Do not read the withholding guide as a fallback — Publication 166 is still the 2022 edition and quotes rates that no longer exist. Wait for the Form 1 instructions or the rate page to actually roll over.
Rhode Islandstructural gapThe phase-out IS modelled: four whole increments of $7,450 across $261,000-$290,800 for 2026. Re-read BOTH the range and the increment each November — they are indexed separately, and the range being exactly four increments wide is a coincidence of this year, not a rule.
Connecticutstructural gapThe whole six-step schedule is modelled: Table A exemption phase-out, Table B brackets (including the separate head-of-household schedule), Table C 2% add-back and Table D recapture. Re-parse ALL FOUR each January — the bands move, and Table D is irregular enough that no formula can stand in for it. Two traps when re-parsing: the "$ 0" zero band defeats a naive pattern and its loss silently taxes low earners, and the tables read "less than or equal to", so a filer exactly on a boundary belongs to the LOWER band.
Marylandlocal tax unmodelledAll 24 subdivisions are modelled, including the bracketed rates Anne Arundel and Frederick use. Re-read the 2027 column each January — Allegany and Kent both moved for 2026 — and check whether any further county has switched from a flat rate to brackets, which the flat-rate shape cannot express.
New Yorklocal tax unmodelledNYC (bracketed, on NY taxable income) and the Yonkers resident surcharge (a percentage OF THE STATE TAX, not of income) are both modelled. Re-read the NYC schedule from the year’s IT-201-I and confirm the Yonkers surcharge rate — applying that rate to income instead of to tax would overstate it roughly twentyfold, so it is worth re-checking the KIND as well as the number.
Indianalocal tax unmodelledAll 92 counties are modelled, on Indiana adjusted gross income and by county of RESIDENCE on 1 January. ⚠️ Notice #1 is reissued in JANUARY AND AGAIN IN OCTOBER and the October revision moves rates mid-year — six counties had changed since the previous issue in the 2026 edition — so a once-a-year check silently misses half of Indiana’s changes. Re-parse both issues, and keep the six-decimal rates (Brown is 0.025234) rather than rounding them.
New Jerseystructural gapWorker UI/DI/WF/FLI rates AND both taxable wage bases change every January — the two bases move independently, so copying one year’s pair forward is wrong even when the rates hold.
Michiganlocal tax unmodelledDetroit is modelled (2.4% resident on wages after a $600-per-exemption adjustment, Form 5469, state-administered). The other 23 taxing cities administer their own taxes and are NOT modelled — the uniform-ordinance default is 1% resident but which cities deviate needs a per-city source. Re-read Form 5469 each year. Retrieval recipe, because every scripted path fails: michigan.gov 403s curl regardless of UA (Akamai), and the PDF is ENCRYPTED so in-page stream inflation yields nothing — fetch in a browser session, export as base64 in ~100KB chunks (tool results spool to files; extract with jq + grep), reassemble locally, and pdftotext handles the empty-password decryption. Verify the byte count against the in-browser fetch.
Missourilocal tax unmodelledBoth are modelled at 1% on earned income, resident case only. ⚠️ These rates are set by VOTER-APPROVED RENEWAL on a five-year cycle rather than by annual indexation, so the thing to watch is the ballot, not the January tables — a routine that only re-reads rate tables each January would miss a failed renewal entirely. Neither city publishes the rate in static HTML; kcmo.gov also 403s scripted requests, so read both through a browser session.
Pennsylvanialocal tax unmodelledPhiladelphia is modelled, on a FISCAL-year rate that changes each 1 July — so a calendar year spans two rates and the January pass alone will miss the change. Other Pennsylvania municipal earned income taxes, commonly 1%, are still not modelled. Pennsylvania also taxes 401(k) deferrals, which IS modelled and should stay that way.
Ohiolocal tax unmodelledThe 17 largest municipalities are modelled; ~580 others are not. Re-read each rate from The Finder — Ohio no longer publishes a bulk table (the CSV was retired when the tool was rebuilt in July 2026) and tax.ohio.gov 404s to any non-browser client. ⚠️ Check the municipality NAME that comes back matches the city you asked for: a bad geocode fails silently with a plausible rate from the neighbouring city.
Iowalocal tax unmodelledSchool district surtaxes apply in most districts and are charged on Iowa tax owed rather than on income.
Ohioannual indexationThe exemption tiers are modelled, but the amounts are the standing published figures — re-read them from the new IT-1040 instructions each January, since Ohio’s rate pages are navigation shells and publish nothing in-year.
Maineannual indexationTwo things the engine does not model, both from the same MRS rate sheet: the standard-deduction phase-out (starts $102,250 single / $204,550 joint, gone at $177,250 / $354,550) and the new 2% surcharge on taxable income above $1,000,000 single / $750,000 MFS / $1,500,000 joint or HoH, effective 2026 and indexed from 2027. Also re-read the three schedules — single, HoH, joint — and all four standard deductions; the withholding booklet omits the HoH schedule entirely.
Oregonstructural gapThe federal-tax-subtraction cap and its five phase-out steps are indexed. ⚠️ 150-206-436 contradicts itself — its prose carried "$8,500 per year in 2025" into the 2026 edition while every formula table said $8,750. Trust the tables, not the sentence.
New Mexicoannual indexationFYI-104 is reissued each November for the coming January. Extract it with layout preserved — a plain text extraction interleaves the single, married and head-of-household columns and produces figures that look plausible and are wrong. New Mexico puts head of household on the MARRIED schedule, which is unusual enough to re-confirm rather than assume.

What this does not model

States with known approximations

These are listed on each state page too. Head-of-household figures use each state's own head-of-household schedule, deduction and exemption where the state publishes one, and the schedule its law assigns (single or joint) where it does not.

Every figure was verified on 2026-08-09. Rates are re-audited quarterly and changes are recorded in the changelog.