Updates automatically as you type.
Calculated in your browser; your inputs are not sent to us. Privacy
Calculation details
Review the generated output before relying on it.
This tool runs in your browser. Your calculator inputs and results are never transmitted to us or to ad/affiliate partners. Ads and sponsored links may set third-party cookies to serve and measure them, but they never receive your calculation values. If you explicitly save a scenario, its permitted fields stay in local browser storage until you clear them. See our Privacy Policy.
Use this result
Share the current inputs or ask ChatGPT to explain the calculation in context.
More options
How This Tool Works
Calculation Method
Local Income Tax Calculator reads State and returns the result shown on this page.
Site methodology
No unrelated authority link is added merely to make this page look sourced. Tool-specific external sources are shown only when they directly support the method, rate, or rule.
Assumptions to Verify
- Rates, fees, timing, and rules can change.
- Use the result as a planning estimate and verify current terms.
Privacy: The calculation runs in this browser. Shared links contain the page address only, not your inputs or results.
Worked example: a Birmingham wage inside the result
Pick Alabama in the dropdown. The result panel answers immediately: YES local income tax, type City occupational/general, up to 2% (Birmingham 1%). The tool does not take a salary figure, so the arithmetic is yours to carry out, and it is deliberately simple. A resident of Birmingham earning a $48,000 salary pays 1% of it to the city: 48,000 x 0.01 = $480 per year, or $40.00 per month in withholding. Cross the state line to Louisville, where Kentucky lists 2.2% under City occupational tax, and the same $48,000 salary costs 48,000 x 0.022 = $1,056 per year, $88.00 per month. Same paycheck, $576 difference, purely from the municipal line.
Push the same salary into the steepest entry in the table and the gap widens. New York lists NYC up to 3.876%, so $48,000 in the five boroughs implies 48,000 x 0.03876 = $1,860.48 before Yonkers or any school-district layer is considered. Philadelphia's flat 3.75% on $65,000 comes to 65,000 x 0.0375 = $2,437.50. Detroit, at 1.2%, lands at 48,000 x 0.012 = $576.00. Reading the ranges as multipliers is the point: the tool names the mechanism and the ceiling, and every dollar figure above is a one-step multiplication from the rates it prints.
Where the ranges end: zeros, ceilings, and the lines the tool cannot draw
The zero end is clean but easy to misread. Thirty-nine of the fifty-two jurisdictions in the state list return no local income tax at all, and of the twelve states that do levy one, many rate tables still hit zero for specific people: an Ohioan outside any school-district income zone and outside city limits pays no municipal or SD slice, and Iowa's local option surtax only bites if your specific county opted in. A state label is a starting point, not a verdict on your address.
The ceilings are approximations and the tool is honest about that. Maryland prints 2.25 to 3.2%, which is the statewide county range, but Maryland counties change rates mid-year with notice, so a September move can split your year across two county rates and no single multiplier reproduces it. Indiana's 0.5 to 3.0% county band likewise moves annually; the Marion County figure shown, about 1.65%, is a snapshot. Pennsylvania's 1 to 3.75% hides a subtlety the single number cannot: many PA municipalities split the rate between resident and non-resident schedules, and a wage earner living in one municipality and working in another owes both a resident EIT and a non-resident piece, not one line.
There is also a boundary the panel cannot resolve: residence versus work location. Kansas City's 1% earnings tax applies to people who work there but live elsewhere in Missouri, a case where the dropdown answer and the tax bill can both be correct and different. Treat every rate shown as a confirm-with-the-office figure: the city or county tax office owns the authoritative number, and the ranges here are the map, not the territory.