Florida sales tax calculator
A 100 purchase in a county with a 1% surtax pays 7 in tax at the combined 7% rate, for a total of 107. You get Florida's statewide 6% plus the county surtax you enter, rounded like a receipt. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Amount
- 100
- County rate
- 1
- Total
- 107
- State rate percent
- 6
- Combined rate percent
- 7
- Combined rate decimal
- 0.07
Florida charges a statewide sales tax of six percent on taxable retail sales, and most counties add a discretionary sales surtax on top of that floor. County name and ZIP lookups are out of scope: you already know the county rate and want the six percent plus surtax math applied.
What the Florida 6 percent state rate plus county surtax means
The Florida statewide sales tax rate is six percent of the taxable pre-tax selling price. That figure is the state-level floor that applies to taxable tangible personal property and many specified services sold in Florida. Counties may levy a discretionary sales surtax on top of the six percent, typically between zero and two point five percent, so a receipt from Miami-Dade, Orange, Hillsborough, or a tourist corridor may show a combined rate of seven, seven and a half, or eight percent rather than six alone.
Given a pre-tax amount A and a county surtax R percent, the combined rate is six plus R, the tax is A times that combined rate divided by one hundred, and the total is A plus that tax. Money is rounded to two decimal places so the result matches a cash-register receipt rather than a long floating-point expansion. A free sample or a zero-dollar line is allowed and yields zero tax and zero total.
What you can do with it
Florida checkout and invoice quotes
Storefronts and invoice tools send a pre-tax subtotal and the county surtax, then display six percent plus surtax tax and the amount due without embedding rate tables in every client.
Consumer-math homework on Florida receipts
Students compute Florida sales tax on practice prices using a known county surtax and compare handwritten tax and total against a deterministic six-percent-plus-surtax result before submitting.
FAQ
What is the Florida statewide sales tax rate used here?
Six percent. That is the statutory statewide sales tax floor. Combined city-style lookups by ZIP are not applied.
How do I include the discretionary county surtax?
The calculator adds it to the six percent state rate.
How are tax and total computed?
Tax = pre-tax amount × combined percent / 100, rounded to the nearest cent. Total = amount + tax.
What happens if the purchase amount is negative?
A negative pre-tax amount is not allowed; zero is valid and yields zero tax and zero total.
Is the Florida sales tax calculator free?
The browser tool is free and runs locally.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/florida-sales-tax \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":100,"county_rate":1}'const res = await fetch("https://api.kit.forhosting.com/fin/florida-sales-tax", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 100,
"county_rate": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/florida-sales-tax",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 100,
"county_rate": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/florida-sales-tax", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":100,"county_rate":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":100,"county_rate":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/florida-sales-tax", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"amount": 100,
"county_rate": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.florida_sales_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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_abs | 1000000000000 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Shoppers, cashiers, invoice tools, and checkout scripts constantly need the two numbers that follow from a pre-tax amount and a county surtax: how much tax is due at the combined Florida rate, and what the customer pays after tax. This Florida sales tax calculator accepts a non-negative pre-tax purchase amount and the discretionary county surtax as a percent, adds that surtax to the statutory six percent state rate, and returns the tax and the total. A negative purchase amount is rejected with invalid_input instead of inventing a refund.
What the Florida 6 percent state rate plus county surtax means
This calculator answers the search for a Florida sales tax calculator that includes the discretionary county surtax: you supply the pre-tax amount and the county surtax as a percent, and the solver adds that surtax to the statutory six percent state rate. It does not look up a county by name, a ZIP code, or a city overlay, and it does not apply exemptions, grocery carve-outs, or tourist development taxes that sit outside the discretionary sales surtax. A negative purchase amount is not a purchase in this model; it would invert tax into a rebate, so the API rejects it with invalid_input instead of returning a negative tax that would confuse cart software.
Input contract, response shape, and error behaviour
County_rate must stay between zero and two point five inclusive, the statutory ceiling commonly used for Florida discretionary surtaxes. The six percent Florida state rate is not an input; it is fixed so callers who searched for a Florida sales tax calculator do not have to remember the statute. Send a JSON body with two required finite numbers: amount (aliases price, purchase, pre_tax, subtotal, net), the non-negative pre-tax purchase in United States dollars, and county_rate (aliases surtax, county_surtax, discretionary_rate, county_percent), the discretionary county sales surtax as a percent where one means one percent, not a decimal fraction. Each field may arrive as a JSON number or as a numeric string that matches a strict finite pattern without dollar signs, percent signs, or thousands separators. Absolute value of amount must stay within one trillion so the product remains finite in IEEE double precision on the Worker and in the browser. On success the response echoes amount rounded to cents and county_rate, reports state_rate_percent six, combined_rate_percent as six plus the surtax, combined_rate_decimal as that combined percent divided by one hundred, returns tax and total as two-decimal money, names the jurisdiction as Florida with six percent state plus county surtax, and restates the formula tax equals amount times six plus county_rate over one hundred, total equals amount plus tax. Failed validation—missing amount, missing county_rate, a non-finite value, a value outside the absolute limit, a county_rate above two point five, or a negative purchase amount—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Prefer numbers over currency-formatted strings; if your source is a receipt photo, extract the pre-tax subtotal and the county surtax first and then call this endpoint.
Where a Florida sales tax calculator earns its keep
Storefronts that sell into Florida and want a transparent six-percent-plus-surtax quote can send the cart subtotal and the known county surtax, then display tax and total without reimplementing percentage math in every client. Invoice and estimate tools used by independent contractors in the state can fill a tax line at six percent plus the county rate they already look up from the Florida Department of Revenue table, then show a due-now total in one call. Consumer-math classrooms and exam-prep generators need a deterministic oracle that marks a negative purchase as invalid instead of silently flipping the sign. Quality-assurance suites for billing libraries can pin one hundred dollars at a one percent county surtax to tax seven and total one hundred seven, plus a fractional price such as forty-nine point ninety-nine at one point five percent for cent-rounding checks, and a deliberately negative amount to prove the hard invalid_input path. This landing targets people searching for a Florida sales tax calculator, the six percent state rate plus discretionary county surtax, or tax and total on a Florida purchase; it is not a ZIP-code tax API, not a generic rate-input sales tax tool, and not a reverse calculator that starts from a tax-inclusive receipt. Prefer this capability when you already know the pre-tax amount and the county surtax and want the Florida statewide floor applied on top; if you need a single caller-supplied combined percent with no Florida six percent baked in, use a generic sales-tax endpoint instead. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap. Round-trip checks are easy: recompute amount times six plus county_rate over one hundred by hand, confirm it equals the published tax within the same two-decimal rounding, then confirm that amount plus tax equals the published total at the published $0.002 automation rate.
Integration use cases
Unit tests for Florida cart libraries
QA and engineering pin known-good cases such as one hundred dollars at a one percent county surtax to tax 7 and total 107, plus deliberate negative-amount rejections for golden expected values.