State unemployment insurance taxable wage bases and new employer tax rates by US state
For each US state and DC, the taxable wage base (the per-employee annual earnings cap on which unemployment insurance tax is owed) and the tax rate assigned to new employers — sourced from each state's labor department or employment security agency. Answers 'what is the unemployment tax wage base in [state]', 'what UI rate do new employers pay in [state]', 'SUTA wage base by state 2026', and 'state unemployment insurance taxable wage base comparison'. The federal FUTA wage base is $7,000 and has not changed since 1983, but states range from $7,000 (California, several others) to over $78,000 (Washington), a 10× difference in the tax base for the same employee. New employer rates also vary widely. Changes take effect annually and states announce at different times (some January 1, some July 1, some fiscal year). No existing source cross-references all 50 states with per-state citations to the actual .gov announcement.
The data
| State | Taxable wage base | New employer UI tax rate | Experienced employer rate range | Effective year |
|---|---|---|---|---|
| California | $7,000 | 3.4 percent | 1.5 percent to 6.2 percent | 2026 |
| Florida | $7,000 | 0.0270 (2.7%) | 2026 | |
| Georgia | $9,500 | 2.70 percent | ||
| Maryland | $8,500 | 1.0% to 2.6% | 0.30% to 7.50% | 2026 |
| Massachusetts | $15,000 | |||
| Michigan | 2.7% | |||
| Missouri | $9,000 | 2.376 | 2026 | |
| New Jersey | $44,800 | 0.026825 | 2026 | |
| North Carolina | $34,200 | 1% | 2026 | |
| Oregon | $56,700 | 2.4% (new employer rate) | 2026 | |
| Pennsylvania | $10,000 | .038220 | 2026 | |
| Virginia | 2.5% | .1% up to a maximum of 6.2% | ||
| Washington | $78,200 | 2026 | ||
| Wisconsin | $14,000 | 3.05% | 2027 |
Where this came from
Every record above links the page it was taken from and quotes the sentence that states it. These are the 14 sources this dataset was assembled from.
- edd.ca.govhttps://edd.ca.gov/en/payroll_taxes/rates_and_withholding/
- floridarevenue.comhttps://floridarevenue.com/taxes/taxesfees/Pages/rt_rate.aspx
- dol.georgia.govhttps://dol.georgia.gov/faqs-employers/employers-faqs-unemployment-insurance
- labor.maryland.govhttps://labor.maryland.gov/unemployment-insurance/employer-agent/tax-rate.shtml
- uionline.detma.orghttps://uionline.detma.org/Static/Revenue/External%20Employer%20FAQs_final_edits.htm
- michigan.govhttps://www.michigan.gov/leo/bureaus-agencies/uia/assets/unemployment-tax-rate
- labor.mo.govhttps://labor.mo.gov/des/employers/tax-rates
- nj.govhttps://www.nj.gov/labor/ea/employer-services/rate-info/
- des.nc.govhttps://www.des.nc.gov/employers/tax-rate-information
- oregon.govhttps://www.oregon.gov/employ/businesses/pages/current-tax-rate.aspx
- pa.govhttps://www.pa.gov/agencies/dli/resources/for-employers-and-educators/how-to-file/uc-tax/yearly-tax-highlights
- vec.virginia.govhttps://www.vec.virginia.gov/employers
- esd.wa.govhttps://esd.wa.gov/about-us/news-release/2025/washingtons-average-wage-increased-95160-2024
- dwd.wisconsin.govhttps://dwd.wisconsin.gov/ui/employers/taxrates/
Machine-readable
- data.jsonThe whole dataset — every record with its source URL and source quote.
- Open Knowledge Format bundleOne JSON object per line — every record's frontmatter and quoted span exactly as it is held here, in one fetch.
- data.csvThe same records as one flat table, for a spreadsheet or a dataframe. The last four columns are the source URL, the quoted sentence it was read from, the date we last checked it, and which columns are our reading rather than the page's words.
- How this is made and checkedWhat "verified against source" does and does not mean.
From your own code
Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.
pip install refsource
refsource lookup state-ui-taxable-wage-bases state=California
npx -y refsource lookup state-ui-taxable-wage-bases state=California
Set your AI assistant up to use this
Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.
{
"mcpServers": {
"referencesource": {
"type": "http",
"url": "https://referencesource.org/mcp"
}
}
}Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project
Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:
When a question needs "State unemployment insurance taxable wage bases and new employer tax rates by US state", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `state-ui-taxable-wage-bases`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.What each tool does, and the servers built over single registers: Connect your AI assistant.