ForHosting KIT · Finance & money

California income tax calculator

A single filer with 80,000 of California taxable income owes 3,878.64 under the 2025 rate schedules: a 9.3% marginal rate but only a 4.8483% effective rate. Enter your taxable income and filing status to see your state tax. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Income
80,000
Filing status
Single
You get
Tax year
2,025
Tax
3,878.64
Marginal rate percent
9.3
Effective rate percent
4.8483

California personal income tax is a progressive levy: different slices of taxable annual income are taxed at different statutory rates, and the schedule you use depends on filing status. Residents, payroll teams, and planners who search for a California income tax calculator need the tax owed from Form 540 taxable income without rebuilding Franchise Tax Board schedules by hand. This calculator applies the fixed 2025 California tax rate schedules for single, married filing jointly, married filing separately, head of household, and qualifying surviving spouse. It returns the tax owed, the marginal rate on the last dollar, and the effective rate on the whole income.

What the 2025 California brackets mean and how tax is stacked

California personal income tax is assessed on taxable income after state deductions, using a staircase of statutory rates rather than a single flat percent. For tax year 2025 the Franchise Tax Board publishes nine regular brackets from 1 percent through 12.3 percent, and a separate 1 percent Behavioral Health Services surcharge applies to taxable income above one million dollars, so the top combined rate on those extra dollars is 13.3 percent. Which staircase you walk depends on filing status.

Single filers and married people who file separately share one table whose first 1 percent band ends at 11079 dollars. Married filing jointly and qualifying surviving spouses share a roughly doubled table whose first band ends at 22158 dollars. Head of household has its own intermediate widths, with a first band ending at 22173 dollars.

Only the dollars that sit inside a given band are taxed at that band's rate. A single filer with eighty thousand dollars of taxable income does not pay 9.3 percent on the entire eighty thousand, only on the slice above 72724 dollars, while lower slices remain at 1, 2, 4, 6, and 8 percent. This calculator encodes those 2025 FTB tax rate schedules as fixed tables.

It does not subtract the California standard deduction, apply credits such as CalEITC, compute alternative minimum tax, or look up city add-ons. You supply taxable annual income as it would appear on Form 540 line 19, and the engine returns the tax owed from the rate schedule plus the million-dollar surcharge when it applies. Zero taxable income is a valid input and yields zero tax.

Negative income is rejected.

Where a California income tax calculator earns its keep

Households comparing filing status after a marriage, a divorce, or a qualifying surviving-spouse year can send the same taxable income twice with different statuses and read the tax owed, the last-dollar rate, and the effective rate without rebuilding three FTB schedules. Payroll and compensation teams that already know California taxable wages can quote an annual state-tax line for offer letters and year-end estimates, then layer federal withholding and credits in their own engine.

Exam-prep generators and consumer-math classrooms use the same contract so a student who applies 9.3 percent to the entire income is marked wrong, because California tax is stacked, not flat. This landing targets people searching for a California income tax calculator, California tax brackets, or tax owed from taxable income by filing status; it is not a sales-tax tool, not a federal 1040 estimator, and not a credit optimizer.

Prefer this capability when you already have California taxable income and a recognized status and want the 2025 FTB rate schedule applied.

Annual California tax from taxable income

Households and advisors send Form 540 taxable income and a filing status to display California tax owed, last-dollar rate, and effective rate before credits.

Compare tax across filing statuses

After a marriage, divorce, or surviving-spouse year, run the same taxable income under two statuses and compare the stacked 2025 FTB results without rebuilding tables.

How is California state income tax computed here?

The result is the tax owed, rounded to cents.

Which filing statuses are accepted?

Short codes mfj, mfs, hoh, and qss are normalized to those names.

Is the input gross pay or taxable income?

Taxable annual income after California deductions (Form 540 line 19), not gross wages. The engine does not subtract the standard deduction or apply credits; supply income already reduced to the taxable amount.

What happens if filing status is unrecognized?

The calculator never guesses a table. Valid statuses are the five Franchise Tax Board names listed above; failed validation is not billed.

What does the California income tax calculator cost?

The browser tool is free and runs locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/fin/california-tax

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/fin/california-tax \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"income":80000,"filing_status":"single"}'
{
  "income": 80000,
  "filing_status": "single"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fin.california_tax",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_abs1000000000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

An unrecognized filing status is rejected with invalid_input instead of silently falling back to the single table.

Input contract, filing statuses, and error behaviour

Common short codes such as mfj, mfs, hoh, and qss are accepted and normalized to those canonical names. Failed validation is never charged. Send a JSON body with two required fields. income (aliases taxable_income, taxable, amount) is California taxable annual income in United States dollars after state deductions, not gross wages and not federal taxable income if those differ. It may arrive as a JSON number or as a numeric string that matches a strict finite pattern without dollar signs or thousands separators. Absolute value must stay within one trillion so the product remains finite in IEEE double precision on the Worker and in the browser. A negative income is rejected with invalid_input; zero is allowed and yields tax zero. filing_status (aliases status, filing) must be one of five Franchise Tax Board statuses: single, married_filing_jointly, married_filing_separately, head_of_household, or qualifying_surviving_spouse. Any other string is an unrecognized filing status and fails with invalid_input naming the field, which is the product contract for this landing: never guess single, never invent a table. On success the response echoes income rounded to cents and the canonical filing_status, reports tax_year 2025, returns tax as two-decimal money, reports marginal_rate_percent on the last dollar (including the 1 percent surcharge when income exceeds one million), reports effective_rate_percent as tax divided by income, names the jurisdiction California, and restates the formula. Pricing is a flat $0.002 per successful request with unit item.

Where a California income tax calculator earns its keep

Personal-finance apps and notebook scripts that need a deterministic California tax oracle can pin eighty thousand dollars single to a known tax, a joint return at one hundred fifty thousand to another, and a deliberately bogus status such as partnership to the hard invalid_input path. If you need a ZIP-code sales tax or a caller-supplied percent, use a different endpoint. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap. Round-trip checks are easy: recompute the stacked brackets by hand, confirm the published tax within two-decimal rounding, then confirm that tax divided by income matches effective_rate_percent at the published $0.002 automation rate.

Payroll estimates and golden tests

Compensation tools and QA suites pin known taxable incomes to a deterministic California tax, and reject unrecognized statuses such as partnership with invalid_input.

Read the full KIT documentation →