Two-tailed critical value calculator
Turn a significance level into the two cutoffs of a two-sided z-test: at 0.05 the critical values are −1.96 and +1.96, with 0.025 in each tail and a 95% confidence level. Any level strictly between 0 and 1 works. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Alpha
- 0.05
- Confidence level
- 0.95
- Tail probability
- 0.025
- Z critical
- 1.9599639861
- Lower critical
- -1.9599639861
Two-tailed critical values answer a question every statistics course and many production pipelines share: at significance level alpha, which standard-normal cutoffs bound the rejection region of a two-sided z-test? The answer is the familiar pair plus or minus z sub alpha over two, where the cumulative standard normal equals one minus alpha over two. Students look these numbers up in printed tables for alpha equal to point zero five or point zero one; engineers hard-code one point nine six when sizing A/B experiments; automation needs a deterministic oracle that never invents a finite z when alpha is outside the open unit interval. This calculator takes a single finite significance level strictly between zero and one, evaluates the inverse standard normal at one minus alpha over two, and returns the positive critical value, the symmetric lower and upper bounds, the per-tail probability, and the matching confidence level. Out-of-range alpha fails with a clear validation error instead of Infinity.
How two-tailed critical z values are obtained from alpha
A two-sided hypothesis test at significance level alpha rejects the null when the absolute value of a standard-normal test statistic exceeds a critical cutoff z. Probability mass alpha is split equally between the lower and upper tails, so each tail carries probability alpha over two. The upper critical value is therefore the standard-normal quantile of one minus alpha over two, written z equals Phi inverse of one minus alpha over two, and the lower critical value is its negative.
Classic classroom anchors follow at once: alpha equals zero point zero five yields z near one point nine six because Phi of one point nine six is about zero point nine seven five; alpha equals zero point zero one yields z near two point five seven six; alpha equals zero point one zero yields z near one point six four five. This capability evaluates that inverse with Peter J.
Acklam’s rational approximation to the inverse standard normal, accurate enough for textbook tables, exam keys, and production thresholds without pulling a special-function library. Confidence level is reported as one minus alpha so a five percent test lines up with a ninety-five percent confidence interval in wording students already know.
What you can do with it
Classroom two-sided z-test cutoffs
Given alpha such as 0.05 or 0.01, obtain ±z critical values for homework, exam keys, and rejection-region sketches under the standard normal.
A/B and experiment thresholds
Standardize two-sided significance levels into shared z cutoffs so product analytics and experiment frameworks reject H₀ at the same absolute boundary.
LMS and exam auto-grading
Mark items that ask for two-tailed critical values with a deterministic oracle that rejects out-of-range alpha and never invents infinite cutoffs.
FAQ
What is the two-tailed critical value formula?
Split alpha equally between tails: each tail has probability α/2. The positive critical value is z = Φ⁻¹(1 − α/2), and the rejection region is |Z| > z. Confidence level is 1 − α.
How is this different from a normal CDF calculator?
A normal CDF answers P(X ≤ x) for a given observation. This calculator is the inverse problem for hypothesis testing: given alpha, return the ±z cutoffs that leave total tail mass alpha in a two-sided test.
What does it cost?
The browser tool is free and runs locally.
What z value goes with a 95% confidence level?
About 1.96. A 95% confidence level corresponds to a significance level of 0.05, which leaves 0.025 in each tail, so the cutoffs are −1.96 and +1.96.
What happens if I enter a significance level of 0 or 1?
The calculator rejects it with a clear message instead of returning an infinite cutoff. The level must lie strictly between 0 and 1, because at exactly 0 or 1 a two-sided rejection region has no meaning.
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/stat/two-tailed-critical \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"alpha":0.05}'const res = await fetch("https://api.kit.forhosting.com/stat/two-tailed-critical", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"alpha": 0.05
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/two-tailed-critical",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"alpha": 0.05
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/two-tailed-critical", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"alpha":0.05}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"alpha":0.05}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/two-tailed-critical", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"alpha": 0.05
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.two_tailed_critical",
"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.
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
How two-tailed critical z values are obtained from alpha
Every step is deterministic floating-point arithmetic with no random seeds, no wall-clock timestamps, and no network calls, so identical alpha always produces identical JSON. Alpha must lie strictly between zero and one: at the endpoints the inverse normal is undefined or infinite, and outside that open interval there is no probabilistic interpretation of a two-sided rejection region under the standard normal model.
Input contract, response shape, and error behaviour
An alpha less than or equal to zero or greater than or equal to one fails with a message that the significance level is out of range and must be strictly between zero and one exclusive; those validation failures are not billed. Classic checks include alpha equals zero point zero five, which yields absolute critical values near one point nine six, and alpha equals zero point zero one, which yields values near two point five seven six. Wire the free browser form for homework and quick sanity checks, then call the identical contract from scripts when you need bulk cutoffs for exam generators or A/B thresholds. POST a JSON body with one required finite number: alpha, the significance level of the two-tailed test. The field also accepts the aliases significance and significance_level so classroom wording and API naming both work without forcing callers to remember a single key. Missing fields, empty strings, non-numeric tokens, NaN, and Infinity fail with invalid_input naming the field. On success the body echoes the cleaned alpha, returns confidence_level as one minus alpha, tail_probability as alpha over two, z_critical as the positive critical value, lower_critical as negative z_critical, upper_critical as positive z_critical, and a formula string restating that z equals Phi inverse of one minus alpha over two and that the null is rejected when the absolute value of Z exceeds z. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where a two-tailed critical value calculator shows up in real work
Exam-prep generators and LMS plugins need deterministic cutoffs so auto-graders mark wrong a student who confuses one-tailed and two-tailed constants without floating-point chaos. Quality control and process monitoring convert significance levels into symmetric z bands for control charts under a normal working model. If you later need one-tailed critical values only, Student t critical values, chi-square or F tables, a pure z-score without cutoffs, or the normal CDF from an observation, treat those as separate search intents and landings rather than overloading this two-tailed critical value calculator page. Secondary-school and college statistics courses constantly assign table look-ups for alpha equals five percent, one percent, or ten percent and ask students to mark the rejection region on a standard-normal sketch; a single trusted oracle that returns cleaned JSON speeds grading and demo setup. Product analytics and A/B tooling often hard-code one point nine six for two-sided tests before more heavyweight simulation; calling a tiny parse API keeps thresholds consistent across services. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.
Technical questions
What happens if alpha is 0, 1, or outside (0, 1)?
The request fails with invalid_input. The inverse standard normal is only defined for probabilities in (0, 1), so significance levels at or beyond the endpoints are out of range.
What critical value do I get for alpha = 0.05?
Approximately ±1.96. That is the classic two-sided 5% standard-normal cutoff because Φ(1.96) is about 0.975, leaving 0.025 in each tail.