HomeDescriptive StatisticsCritical Value Calculator - Z, T, Chi-Square & F Tables

Critical Value Calculator – Z, T, Chi-Square & F Tables

Critical Value Calculator - Z, T, Chi-Square & F Tables

Critical Value Calculator

Find the critical value for z, t, chi-square or F, see the rejection region drawn to scale, and compare your own test statistic against it. Paste raw data and the calculator works out the statistic for you, then tells you whether to reject.

0. Quick Answer

A critical value is the cut-off your test statistic has to beat. You choose a significance level, look up the value that marks the edge of the rejection region, and if your statistic is more extreme than it, you reject the null hypothesis.

Z critical value

When the population standard deviation is known, or n is large. No degrees of freedom.

1.960 at α = 0.05 two-tailed
1.645 one-tailed
2.576 at α = 0.01

T critical value

When the standard deviation was estimated from your sample. Needs degrees of freedom.

2.228 at α = 0.05, df = 10
2.042 at df = 30
12.706 at df = 1

Chi-square critical value

Goodness of fit, independence, and tests about a variance. Right-tailed by default.

3.841 at α = 0.05, df = 1
11.070 at df = 5
18.307 at df = 10

F critical value

ANOVA and comparing two variances. Needs two degrees of freedom, numerator and denominator.

4.965 at α = 0.05, F(1,10)
3.098 at F(3,20)
2.534 at F(5,30)

The decision rule, in one line. If |statistic| > critical value, reject the null hypothesis. Equivalently, if p < α, reject. The two rules always agree, because they are the same comparison read from opposite ends of the distribution.

Key takeaways

  • Pick the tail before you look at the data. A two-tailed test at α = 0.05 puts 2.5% in each tail and needs z = 1.960. A one-tailed test puts all 5% in one tail and needs only 1.645. Switching afterwards is not a judgement call, it is a mistake.
  • Degrees of freedom change everything except z. The t critical value falls from 12.706 at df = 1 to 1.960 as df grows. Chi-square and F move too. Only z is fixed.
  • Chi-square and F are normally right-tailed only. Both statistics are always positive and the interesting evidence sits in the upper tail, so there is usually one critical value rather than two.
  • A bigger critical value is a harder test. Lowering alpha from 0.05 to 0.01 raises the bar from 1.960 to 2.576 and makes false positives rarer, at the cost of missing real effects more often.
  • Critical values and p-values are interchangeable. Modern software reports the p-value, so tables are mostly a teaching device now, but the comparison is identical and this calculator gives you both.
  • The critical value tells you nothing about effect size. Clearing the bar means the effect is detectable, not that it matters. Report a confidence interval alongside.

📚 1. What Is a Critical Value?

1.1 The idea

Every hypothesis test produces a single number, the test statistic, that measures how far your data sit from what the null hypothesis predicts. The question is how far is far enough to be worth taking seriously.

The critical value answers that. You decide in advance how often you are willing to be wrong when the null is actually true, usually 5%, and the critical value is the point beyond which only 5% of statistics would fall if the null were true. Anything past it is unusual enough that you stop believing the null.

1.2 The rejection region

The critical value marks the boundary of the rejection region, the shaded area in the tails where you would reject. Its size is exactly alpha, your significance level. A two-tailed test at 5% has two rejection regions of 2.5% each; a one-tailed test has a single region of 5%.

This is why the one-tailed critical value is smaller. All of your alpha is concentrated in one tail rather than split between two, so the boundary sits closer to the centre and the test is easier to pass in that direction. It is also why choosing the tail after seeing which way the data went is indefensible: it silently doubles your false positive rate.

1.3 Which distribution do you need?

DistributionUse it forDegrees of freedomTails
Z (normal)Population SD known, proportions, large samples, confidence intervals for percentagesNoneOne or two
T (Student)Means when the SD was estimated from the sample. Almost every real t-testn − 1, or n₁ + n₂ − 2One or two
Chi-squareGoodness of fit, tests of independence, tests about a single varianceDepends on the test, often (r−1)(c−1)Right, usually
FANOVA, comparing two variances, overall regression significanceTwo: numerator and denominatorRight

1.4 Why t is not z

If you knew the population standard deviation you would use z. You almost never do, so you estimate it from the same sample you are testing, and that estimate carries its own uncertainty. The t-distribution has heavier tails to account for it, which pushes the critical value further out.

The gap is dramatic at small samples and negligible at large ones. At df = 1 the t critical value is 12.706 against z at 1.960. At df = 10 it is 2.228. At df = 30 it is 2.042. By df = 1000 it is 1.962, essentially the normal value. There is never a penalty for using t, so use it whenever the standard deviation was estimated.

1.5 Why chi-square and F only have one tail

Both statistics are built from squared quantities, so they cannot be negative and their distributions are skewed rather than symmetric. More importantly, the evidence against the null always pushes them upward: a poor fit produces a large chi-square, and a real group difference produces a large F. A small value means the data agree with the null unusually well, which is not evidence against it.

So both are conventionally right-tailed, with one critical value rather than two. The exception is a test about a variance, where you may genuinely care about both directions and need the lower critical value too. This calculator reports both bounds for chi-square when you ask for a two-tailed test.

1.6 Critical values versus p-values

They are two ways of making the same comparison. The critical value approach asks "is my statistic beyond the cut-off?". The p-value approach asks "how much area lies beyond my statistic, and is it less than alpha?". The answers always agree.

Before computers, tables of critical values were the only practical option, because computing an exact tail area by hand was infeasible. Software changed that, and journals now expect exact p-values. Critical values survive because they make the logic visible: you can see the boundary, see where your statistic landed, and see the rejection region shaded. That is why this calculator draws it rather than just printing a number.

🧮 2. Set Up Your Calculation

Paste your numbers and the calculator works out the test statistic, finds the matching critical value, and tells you whether to reject the null hypothesis.

📁 Or upload a CSV / Excel file
Supports .csv, .txt, .xlsx and .xls. Every column you click becomes its own cluster.

The standard normal critical value. No degrees of freedom are needed, which is what makes it a fixed number you can memorise.

Enter it and the calculator will also give you the decision and the p-value.

Student's t critical value. Use this whenever the standard deviation was estimated from your sample, which is almost always.

n − 1 for a one-sample or paired test, n₁ + n₂ − 2 for a two-sample test.

Chi-square critical value, for goodness of fit, independence and variance tests. Normally right-tailed.

Categories minus 1 for goodness of fit, (rows − 1) × (columns − 1) for independence.

F critical value, for ANOVA and comparing two variances. Needs two degrees of freedom and the order matters.

Groups minus 1 in ANOVA, or n₁ − 1 when comparing variances.
Total observations minus the number of groups in ANOVA.

You already have a test statistic and want to know whether it clears the bar. Pick the distribution and enter the statistic.


Chi-square and F default to right-tailed regardless of this setting.

📊 3. Results

Choose your distribution and press Find Critical Value. The critical value, the rejection region, your decision, charts and reporting sentences will appear here.

🧠 4. Interpretation of Results, In Detail

Run the calculator to fill this section with your own numbers. The ten sub-sections below explain every part of the output.

4.1 What the number actually represents

The critical value is the point on the distribution beyond which only alpha of the probability lies, assuming the null hypothesis is true. At alpha = 0.05 two-tailed, z = 1.960 means that if the null were true, only 5% of samples would produce a statistic further from zero than 1.960.

So when your statistic clears it, you are saying: either something unusual happened, or the null hypothesis is wrong. You choose to believe the second. The 5% is the rate at which you have agreed to be wrong when the null is actually true.

4.2 The rejection region, and why its size equals alpha

The shaded area in chart 1 is the rejection region. Its total area is exactly alpha by construction, because that is how the critical value was defined: find the point that leaves alpha in the tail.

This is worth sitting with, because it explains everything else on the page. A smaller alpha means a smaller rejection region, which means the boundary moves further out, which means a larger critical value and a harder test. A two-tailed test splits the same alpha into two regions of alpha over two, so each boundary sits closer in than a one-tailed boundary would, but you now have to clear it on whichever side you land.

4.3 Why the one-tailed value is smaller, and why that matters

At alpha = 0.05, the two-tailed z critical value is 1.960 and the one-tailed is 1.645. All 5% is concentrated in a single tail rather than split into two lots of 2.5%, so the boundary sits closer to the centre.

That makes a one-tailed test more powerful in the direction you chose, and completely blind in the other. It is legitimate only if you fixed the direction before collecting data and would treat a result in the opposite direction exactly as you would treat no result at all. If a surprising reversal would interest you, you need two tails.

Choosing after seeing the data is not a grey area. It converts a nominal 5% test into a 10% test while reporting it as 5%, which is why journals increasingly ask you to pre-register the direction.

4.4 Degrees of freedom, and why t starts so high

The t critical value at df = 1 is 12.706. At df = 10 it is 2.228, at df = 30 it is 2.042, and by df = 1000 it is 1.962, essentially the normal 1.960.

The reason is that the t-distribution accounts for uncertainty in your estimate of the standard deviation. With one degree of freedom that estimate is almost worthless, so the distribution has extremely heavy tails and the bar is set punishingly high. As the sample grows, the estimate stabilises, the tails thin, and t converges on z.

This is honest rather than harsh. A tiny sample genuinely cannot establish much, and the critical value is simply refusing to pretend otherwise.

4.5 Chi-square: why it is right-tailed and skewed

A chi-square statistic is a sum of squared standardised deviations, so it cannot be negative. Its distribution is right-skewed, with a mean equal to its degrees of freedom, and it becomes more symmetric as df grows.

The evidence against the null always pushes it upward: a poor fit between observed and expected counts produces a large chi-square. A small chi-square means your data fit the null better than expected, which is not evidence against it. That is why goodness-of-fit and independence tests use only the right tail.

The exception is a test about a variance, where a variance that is unusually small can be as interesting as one that is unusually large. There you need both bounds, and this calculator reports them when you select a two-tailed test.

4.6 F: two degrees of freedom, and the order matters

An F statistic is a ratio of two variances, so it needs a degrees of freedom for each. Critically, F(3, 20) is not the same as F(20, 3): the first has a 5% critical value of 3.098 and the second of 8.660. Swapping them is a silent error that will not throw a warning anywhere.

In ANOVA the numerator df is groups minus one and the denominator is total observations minus the number of groups. In a variance ratio test both are n minus one for their respective samples, and the convention is to put the larger variance on top, which forces the statistic above 1 and makes the test right-tailed.

4.7 Critical value or p-value: they are the same comparison

Comparing your statistic against a critical value and comparing your p-value against alpha are mathematically identical operations. If the statistic is beyond the boundary then the tail area beyond it is smaller than alpha, and vice versa. They cannot disagree.

Tables of critical values exist because computing an exact tail area by hand was infeasible before computers. Software removed that constraint, journals now expect exact p-values, and the tables have become mostly a teaching device. They survive for a good reason though: they make the logic visible. You can see the boundary, see the shaded region, and see where your statistic landed, which a bare "p = 0.032" does not convey.

4.8 What clearing the bar does and does not tell you

Rejecting the null means the effect is detectable at your sample size. It does not mean the effect is large, important, or real in any deeper sense. With a large enough sample any non-zero difference clears any critical value, which is why a significant result from n = 50,000 may describe a difference nobody would act on.

Equally, failing to clear it is not evidence that the null is true. It means this sample could not distinguish the null from the alternative, which is as much a statement about your power as about reality. Report a confidence interval, which shows the range of effects still compatible with your data, and an effect size, which is independent of sample size.

4.9 Reading the four charts

Chart 1 draws the distribution with the rejection region shaded and both the critical value and your statistic marked, which is the clearest possible picture of the decision. Chart 2 shows how the critical value rises as alpha falls, quantifying the cost of a stricter test. Chart 3 plots the critical value against degrees of freedom, with the normal limit dashed behind it for t, so the convergence is visible. Chart 4 compares one-tailed and two-tailed values at several alphas.

4.10 The most common mistakes

Comparing a statistic against the wrong distribution's critical value. Looking up 1.96 for a t-test with n = 8 will make you reject things you should not. Nothing in your output will warn you.

Halving alpha instead of the tail area, or vice versa. For a two-tailed test at alpha = 0.05 you look up the 0.975 quantile, not the 0.95. Getting this backwards gives 1.645 where 1.960 belongs.

Using a two-tailed critical value with a one-tailed alternative hypothesis, which is conservative but throws away power you were entitled to, if you genuinely committed to the direction in advance.

Reversing the F degrees of freedom. Always numerator first.

Treating the boundary as a cliff. A statistic at 1.95 and one at 1.97 are not meaningfully different pieces of evidence, but the decision rule treats them as opposites. This is the strongest argument for reporting the exact p-value and an interval rather than a bare verdict.

5. How to Write Your Results in Research

▶ Run the analysis above to auto-fill all five examples with your results.

Example 1, Full Sentence with the Decision
Run the calculator to generate this sentence from your data.
📌 Key conventions for this style
  • State alpha, the tail and the degrees of freedom. A critical value without them is unreadable.
  • Modern journals want the exact p-value too, not just the verdict.
  • Italicise the test statistic symbol and put df in parentheses immediately after it.
  • Say the direction was fixed in advance if you used one tail.
Example 2, Compact Inline Format
Run the calculator to generate this snippet.
📌 Key conventions for this style
  • For tables, figure captions and parentheses.
  • Define the format once in a footnote and keep it consistent.
  • Keep df even when compressing. It is not optional information.
Example 3, Plain-Language Summary
Run the calculator to generate this summary.
📌 Key conventions for this style
  • Never use the word "significant" with a general audience; they hear "important".
  • Do not present a non-rejection as proof that nothing is happening.
  • Describe the threshold idea in words rather than giving the number.
Example 4, Methods Note
Run the calculator to generate this methods note.
📌 Key conventions for this style
  • Belongs in the methods section, not the results.
  • Confirm that alpha and the tail were fixed before the data were seen.
  • Say which distribution you used and why, particularly t versus z.
  • For F tests, report numerator and denominator df in that order.
Example 5, Interpretation Caveat
Run the calculator to generate this statement.
📌 Key conventions for this style
  • Reviewers increasingly expect an explicit statement separating significance from importance.
  • Pair every test with a confidence interval and an effect size.
  • Avoid describing a result as "approaching significance". It either cleared the threshold or it did not.

6. Formulas Used

The Decision Rule
reject H₀ if |statistic| > critical value  ·  equivalently if p < α
Two-tailedReject if the statistic falls beyond either bound
Right-tailedReject only if the statistic exceeds the upper bound
Left-tailedReject only if the statistic falls below the lower bound
Always agreeThe two forms of the rule are the same comparison and cannot conflict
Z Critical Value
two-tailed: z = Φ⁻¹(1 − α/2)  ·  one-tailed: z = Φ⁻¹(1 − α)
Φ⁻¹The inverse standard normal, also called the probit or quantile function
α = 0.051.9600 two-tailed, 1.6449 one-tailed
α = 0.012.5758 two-tailed, 2.3263 one-tailed
No dfThe normal distribution has no shape parameter, so these are fixed numbers
T Critical Value
t = T⁻¹(1 − α/2, df)  ·  df = n − 1 or n₁ + n₂ − 2
One-sample, paireddf = n − 1
Two-sample, pooleddf = n₁ + n₂ − 2
WelchWelch-Satterthwaite df, usually fractional
df = 112.7062 at α = 0.05 two-tailed
df → ∞Converges on the normal value of 1.9600
Chi-Square Critical Value
χ² = X⁻¹(1 − α, df)  ·  right-tailed by convention
Goodness of fitdf = categories − 1
Independencedf = (rows − 1) × (columns − 1)
Variance testdf = n − 1, and this is the case where two tails make sense
Mean of the distributionEqual to df, which is a useful sanity check
df = 13.8415 at α = 0.05, which is 1.9600 squared
F Critical Value
F = F⁻¹(1 − α, df₁, df₂)  ·  order matters
ANOVAdf₁ = groups − 1, df₂ = N − groups
Variance ratiodf₁ = n₁ − 1, df₂ = n₂ − 1, larger variance on top
F(3,20)3.0984 at α = 0.05
F(20,3)8.6602, a completely different number. Never swap them
Lower tail trickFα(df₁,df₂) = 1 / F1−α(df₂,df₁)
The Test Statistics This Calculator Computes
t = (x̄ − μ₀) ÷ (s/√n)  ·  χ² = Σ(O − E)²/E  ·  F = MSbetween ÷ MSwithin
One-sample tDeviation from the hypothesised mean, divided by the standard error
Two-sample t(x̄₁ − x̄₂) divided by the pooled standard error
Chi-squareSummed over every category. O is observed, E is expected
ANOVA FBetween-group mean square over within-group mean square
Variance ratio Fs₁² / s₂², larger on top
The Relationship Between Critical Value and P-Value
p = 2 × [1 − F(|statistic|)]  ·  reject ⇔ |statistic| > crit ⇔ p < α
F(·)The cumulative distribution function of whichever distribution applies
Right-tailedp = 1 − F(statistic)
Left-tailedp = F(statistic)
IdentitySetting p = α and solving for the statistic returns the critical value exactly

📝 7. How to Use This Calculator

  1. Paste your numbers into the data column. From my data opens first, with one column ready to go. Choose the test you are running, enter your values comma-separated, and the calculator works out the test statistic, finds the matching critical value and tells you whether to reject.
  2. Or switch tab if you already know your statistic. Z, T, Chi-square and F give you the critical value from alpha and degrees of freedom alone. Compare my statistic takes a value you already have and returns the decision and the p-value.
  3. Pick the right distribution. Use z only when the population standard deviation is genuinely known. Use t whenever you estimated it from your sample, which is almost always. Use chi-square for counts and categorical data, and F for ANOVA or comparing two variances.
  4. Enter degrees of freedom carefully. This is where most errors happen. It is n − 1 for a one-sample or paired t-test, n₁ + n₂ − 2 for a pooled two-sample test, categories − 1 for goodness of fit, and (rows − 1) × (columns − 1) for a test of independence.
  5. For F, get the order right. Numerator first, denominator second. F(3, 20) and F(20, 3) are different distributions with critical values of 3.098 and 8.660, and nothing will warn you if you swap them.
  6. Choose alpha and the tail before you look at your data. This is not a formality. Switching to one tail after seeing which direction the result went converts a 5% test into a 10% test while you report it as 5%.
  7. Leave chi-square and F right-tailed. The tab switches automatically because that is the convention: only a large statistic is evidence against the null. Two tails make sense only for a test about a variance, and both bounds are reported if you choose it.
  8. Add your test statistic for a decision. Every distribution tab has an optional field for it. Fill it in and you get the verdict, the exact p-value, and your statistic marked on the chart alongside the rejection region.
  9. Press Find Critical Value. Nothing is computed until you do, and changing any input clears the results so you never read stale numbers.
  10. Read the rejection region, then the caveat. The two pills show exactly when to reject and when not to. But clearing the bar tells you the effect is detectable, not that it matters, so pair every test with a confidence interval and an effect size.

📊 8. How to Find Critical Values in Excel

Excel has a function for every distribution, but they are frustratingly inconsistent about what they expect: some take alpha, some take the cumulative probability, some are right-tailed and some are left-tailed. Below is the whole workflow in ten steps, each with a picture of what your sheet should look like.

The inconsistency that catches everyone. NORM.S.INV wants the cumulative probability, so you pass 1-alpha/2. T.INV.2T wants alpha itself, so you pass 0.05 directly. Passing 0.05 to NORM.S.INV gives you −1.645, and passing 0.025 to T.INV.2T gives you the 2.5% two-tailed value rather than the 5% one. Both mistakes produce plausible-looking numbers.
Xcritical-values.xlsx - ExcelB2fx0.05AB1QuantityValue2Alpha0.053Tail (1 or 2)24Z critical value5T degrees of freedom6T critical value

Step 1. Put alpha and the tail count in their own cells so every formula below can point at them. This is what makes the sheet reusable.

Xcritical-values.xlsx - ExcelB4fx=NORM.S.INV(1-B2/B3)AB1QuantityValue2Alpha0.053Tail (1 or 2)24Z critical value1.9599645T degrees of freedom6T critical value

Step 2. NORM.S.INV(1-alpha/2) returns 1.959964 for a two-tailed test. Dividing alpha by the tail count makes the same formula work for one tail as well.

Xcritical-values.xlsx - ExcelB6fx=T.INV.2T(B2,B5)AB1QuantityValue2Alpha0.053Tail (1 or 2)24Z critical value1.9599645T degrees of freedom106T critical value2.228139

Step 3. T.INV.2T takes alpha directly, NOT alpha/2, and returns the two-tailed value 2.228139 at df = 10. This inconsistency between the z and t functions catches almost everyone.

Xcritical-values.xlsx - ExcelB5fx=T.INV(1-B2,B3)AB1QuantityValue2Alpha0.053T degrees of freedom104Two-tailed t2.2281395One-tailed t1.8124616Left-tailed t

Step 4. T.INV is the one-tailed version and takes the CUMULATIVE probability, so you pass 1-alpha. It returns 1.812461. T.INV and T.INV.2T are not the same function with different names.

Xcritical-values.xlsx - ExcelB6fx=T.INV(B2,B3)AB1QuantityValue2Alpha0.053T degrees of freedom104Two-tailed t2.2281395One-tailed t1.8124616Left-tailed t-1.812461

Step 5. Passing alpha rather than 1-alpha gives the left-tailed value, -1.812461. Same function, mirrored result.

Xcritical-values.xlsx - ExcelB4fx=CHISQ.INV.RT(B2,B3)AB1QuantityValue2Alpha0.053Chi-square df54Right-tailed critical value11.0704985Lower bound (two-sided)6Upper bound (two-sided)

Step 6. CHISQ.INV.RT is the right-tail version and is what you want for goodness of fit and independence tests. At alpha 0.05 with df 5 it gives 11.070498.

Xcritical-values.xlsx - ExcelB5fx=CHISQ.INV(B2/2,B3)AB1QuantityValue2Alpha0.053Chi-square df54Right-tailed critical value11.0704985Lower bound (two-sided)0.8312126Upper bound (two-sided)12.832502

Step 7. For a two-sided variance test you need both bounds. CHISQ.INV takes the LEFT tail, so alpha/2 gives the lower bound and 1-alpha/2 the upper.

Xcritical-values.xlsx - ExcelB5fx=F.INV.RT(B2,B3,B4)AB1QuantityValue2Alpha0.053Numerator df34Denominator df205F critical value3.0983916F with df swapped

Step 8. F.INV.RT gives the right-tailed F critical value. Numerator df first, denominator second, and the order is not interchangeable.

Xcritical-values.xlsx - ExcelB6fx=F.INV.RT(B2,B4,B3)AB1QuantityValue2Alpha0.053Numerator df34Denominator df205F critical value3.0983916F with df swapped8.660190

Step 9. Swapping the two degrees of freedom gives 8.660190 instead of 3.098391. Nothing will warn you if you do this by accident, which is why it is worth checking twice.

Xcritical-values.xlsx - ExcelB6fx=IF(ABS(B2)>B4,"Reject H0","Do not reject")AB1QuantityValue2Test statistic1.9346053Degrees of freedom114Critical value2.2009855p-value0.0791656DecisionDo not reject

Step 10. The decision in one formula. Note that =IF(B5<0.05,...) on the p-value gives the identical answer, because the two rules are the same comparison.

The complete function reference

What you wantExcel formulaWhat it takesResult
Z, two-tailed=NORM.S.INV(1-0.05/2)cumulative probability1.959964
Z, one-tailed (right)=NORM.S.INV(1-0.05)cumulative probability1.644854
Z, one-tailed (left)=NORM.S.INV(0.05)cumulative probability−1.644854
T, two-tailed=T.INV.2T(0.05,10)alpha, then df2.228139
T, one-tailed (right)=T.INV(1-0.05,10)cumulative probability1.812461
T, one-tailed (left)=T.INV(0.05,10)cumulative probability−1.812461
Chi-square, right-tailed=CHISQ.INV.RT(0.05,5)alpha, then df11.070498
Chi-square, left-tailed=CHISQ.INV(0.05,5)cumulative probability1.145476
Chi-square, two-sided lower=CHISQ.INV(0.05/2,5)cumulative probability0.831212
Chi-square, two-sided upper=CHISQ.INV.RT(0.05/2,5)alpha/212.832502
F, right-tailed=F.INV.RT(0.05,3,20)alpha, df₁, df₂3.098391
F, left-tailed=F.INV(0.05,3,20)cumulative probability0.115471
p from z=2*(1-NORM.S.DIST(ABS(z),TRUE))the statistictwo-tailed p
p from t=T.DIST.2T(ABS(t),df)positive t, dftwo-tailed p
p from chi-square=CHISQ.DIST.RT(x,df)the statistic, dfright-tailed p
p from F=F.DIST.RT(x,df1,df2)the statistic, both dfright-tailed p
The decision=IF(ABS(stat)>crit,"Reject","Do not reject")both valuesthe verdict

Which functions take alpha and which take the cumulative probability

Takes alpha directlyTakes the cumulative probability
T.INV.2TNORM.S.INV
CHISQ.INV.RTT.INV
F.INV.RTCHISQ.INV
CONFIDENCE.TF.INV

The rule of thumb: anything ending in .RT or .2T takes alpha. Everything else takes the cumulative probability. It is not a satisfying rule, but it is a reliable one.

Six mistakes that catch people out

  • Passing alpha to NORM.S.INV. =NORM.S.INV(0.05) returns −1.645, not 1.96. You need 1-alpha/2 for a two-tailed value.
  • Passing alpha/2 to T.INV.2T. That function already halves it internally. =T.INV.2T(0.025,10) gives you the 2.5% two-tailed value of 2.634, not the 5% value of 2.228.
  • Using CHISQ.INV when you meant CHISQ.INV.RT. At alpha 0.05 with df 5 they give 1.145 and 11.070 respectively. One is nearly ten times the other.
  • Swapping the F degrees of freedom. F(3,20) is 3.098 and F(20,3) is 8.660.
  • Comparing a t statistic against a z critical value. Nothing errors. You just get the wrong answer, and at small n you get it badly.
  • Hard-coding 1.96 everywhere. It is only correct for z at alpha 0.05 two-tailed. Point at a cell holding alpha instead, and the whole sheet updates when you change it.
Google Sheets. Every formula above works unchanged. Sheets also accepts the legacy NORMSINV, TINV, CHIINV and FINV names. Be careful with legacy TINV, which is the two-tailed version and takes alpha, unlike modern T.INV.

📈 9. How to Find Critical Values in R

R is the cleanest of the three. Every distribution follows the same naming pattern, so once you know one you know them all: q for the quantile (critical value), p for the cumulative probability, d for the density and r for random draws.

The pattern. qnorm, qt, qchisq, qf. All four take the cumulative probability, not alpha, so a two-tailed critical value is always q___(1 - alpha/2, ...). Unlike Excel there are no exceptions to remember, and lower.tail = FALSE flips any of them to the right tail.
R, base packages only
# Critical Value Calculator in R (base R, no packages)

alpha <- 0.05

# ---- 1. Z critical values ---------------------------------------------
z_two <- qnorm(1 - alpha/2)              # 1.959964
z_one <- qnorm(1 - alpha)                # 1.644854
# identical, using the right tail directly:
z_one_alt <- qnorm(alpha, lower.tail = FALSE)

# ---- 2. T critical values ---------------------------------------------
df    <- 10
t_two <- qt(1 - alpha/2, df)             # 2.228139
t_one <- qt(1 - alpha, df)               # 1.812461

# ---- 3. Chi-square (right-tailed by convention) -----------------------
chi_df   <- 5
chi_crit <- qchisq(1 - alpha, chi_df)    # 11.070498
# both bounds, for a two-sided test about a variance:
chi_lo <- qchisq(alpha/2, chi_df)
chi_hi <- qchisq(1 - alpha/2, chi_df)

# ---- 4. F critical value (ORDER MATTERS) ------------------------------
d1 <- 3; d2 <- 20
f_crit <- qf(1 - alpha, d1, d2)          # 3.098391
f_swap <- qf(1 - alpha, d2, d1)          # 8.660190, completely different

# ---- 5. Compute a statistic and make the decision ---------------------
x      <- c(52,48,55,61,47,58,50,63,45,56,54,49)
mu0    <- 50
n      <- length(x)
t_stat <- (mean(x) - mu0) / (sd(x) / sqrt(n))
t_c    <- qt(1 - alpha/2, n - 1)
p_val  <- 2 * pt(-abs(t_stat), n - 1)
reject <- abs(t_stat) > t_c              # identical to p_val < alpha

cat(sprintf("Z   alpha=%.2f: two-tailed %.6f, one-tailed %.6f\n",
            alpha, z_two, z_one))
cat(sprintf("T   df=%d:       two-tailed %.6f, one-tailed %.6f\n",
            df, t_two, t_one))
cat(sprintf("CHI df=%d:        right-tailed %.6f, two-sided [%.6f, %.6f]\n",
            chi_df, chi_crit, chi_lo, chi_hi))
cat(sprintf("F   (%d,%d):       right-tailed %.6f   F(%d,%d) = %.6f\n",
            d1, d2, f_crit, d2, d1, f_swap))
cat(sprintf("DECISION  t(%d) = %.6f, critical +/-%.6f, p = %.6f\n",
            n-1, t_stat, t_c, p_val))
cat(sprintf("          reject = %s   (p < alpha is %s: they agree)\n",
            reject, p_val < alpha))

# ---- 6. One figure ----------------------------------------------------
grid <- seq(-5, 5, length.out = 700)
pdf  <- dt(grid, n - 1)
plot(grid, pdf, type = "l", lwd = 2.4, col = "#4338ca", bty = "n",
     xlab = "t value", ylab = "density",
     main = sprintf("Rejection Region at alpha = %.2f, two-tailed, df = %d",
                    alpha, n - 1))

# shade both rejection tails
tail_r <- grid[grid >=  t_c]
tail_l <- grid[grid <= -t_c]
polygon(c(tail_r, rev(tail_r)), c(dt(tail_r, n-1), rep(0, length(tail_r))),
        col = adjustcolor("#f59e0b", 0.40), border = NA)
polygon(c(tail_l, rev(tail_l)), c(dt(tail_l, n-1), rep(0, length(tail_l))),
        col = adjustcolor("#f59e0b", 0.40), border = NA)

abline(v = c(-t_c, t_c), col = "#b45309", lty = 2, lwd = 1.6)
text(t_c, dt(0, n-1) * 0.72, sprintf(" critical %.3f", t_c),
     pos = 4, cex = 0.8, col = "#b45309")
points(t_stat, dt(t_stat, n-1), pch = 17, cex = 1.6, col = "#be185d")

legend("topright", bty = "n", cex = 0.85,
       legend = c(sprintf("t-distribution, df = %d", n-1),
                  sprintf("rejection region, area = %.2f", alpha),
                  sprintf("your t = %.3f", t_stat)),
       col = c("#4338ca", "#f59e0b", "#be185d"),
       lwd = c(2.4, 6, NA), pch = c(NA, NA, 17))

What the script prints

Z   alpha=0.05: two-tailed 1.959964, one-tailed 1.644854
T   df=10:       two-tailed 2.228139, one-tailed 1.812461
CHI df=5:        right-tailed 11.070498, two-sided [0.831212, 12.832502]
F   (3,20):       right-tailed 3.098391   F(20,3) = 8.660190
DECISION  t(11) = 1.934605, critical +/-2.200985, p = 0.079165
          reject = FALSE   (p < alpha is FALSE: they agree)

These are the same numbers the Python script produces and the same numbers the calculator at the top of this page produces.

Line-by-line explanation

  • Block 1 shows two equivalent ways to get a one-tailed value: pass 1 - alpha, or pass alpha with lower.tail = FALSE. The second is clearer about intent and avoids arithmetic errors.
  • Block 2 is identical in structure, with df added. That consistency is R's main advantage over Excel here.
  • Block 3 gives the right-tailed chi-square value you want for goodness of fit, plus both bounds for the variance case. Note that qchisq(1 - alpha, df) and qchisq(alpha, df, lower.tail = FALSE) are the same thing.
  • Block 4 demonstrates the F ordering trap explicitly: 3.098 becomes 8.660 when you swap the arguments, and nothing errors.
  • Block 5 computes a statistic and makes the decision both ways. The two reject checks must agree, and if they ever do not you have made an arithmetic error somewhere.
  • Block 6 draws the rejection region. This is the figure worth showing a class, because the shaded area is alpha, made visible.

Useful one-liners

TaskRResult
Z, two-tailedqnorm(0.975)1.959964
Z, one-tailedqnorm(0.95)1.644854
T, two-tailedqt(0.975, 10)2.228139
T, one-tailedqt(0.95, 10)1.812461
Chi-square, rightqchisq(0.95, 5)11.070498
Chi-square, right (alt)qchisq(0.05, 5, lower.tail=FALSE)11.070498
F, rightqf(0.95, 3, 20)3.098391
p from z2*pnorm(-abs(z))two-tailed p
p from t2*pt(-abs(t), df)two-tailed p
p from chi-squarepchisq(x, df, lower.tail=FALSE)right-tailed p
p from Fpf(x, d1, d2, lower.tail=FALSE)right-tailed p
Whole t-test with its CIt.test(x, mu=50)statistic, p and interval
Whole chi-square testchisq.test(c(22,17,20,26,14,21))statistic, df and p
Whole ANOVAsummary(aov(y ~ g, data = df))F, df and p
A whole critical value tableouter(c(1,5,10,20,30), c(.10,.05,.01), function(d,a) qt(1-a/2,d))a matrix of values

🐍 10. How to Find Critical Values in Python

SciPy follows one consistent pattern across every distribution: .ppf() for the quantile (the critical value), .cdf() for the cumulative probability, .sf() for the survival function (the right tail), and .pdf() for the density. The script below was run before being published, so the output shown underneath is real.

The pattern. stats.norm.ppf, stats.t.ppf, stats.chi2.ppf, stats.f.ppf. All take the cumulative probability, so a two-tailed critical value is always ppf(1 - alpha/2, ...). Use .isf(alpha, ...) as a shortcut for the right-tail value, and .sf() rather than 1 - .cdf() in the far tail, where it is more accurate.
Python 3, NumPy + SciPy + Matplotlib
# Critical Value Calculator in Python
# z, t, chi-square and F critical values, with rejection regions and decisions.
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from scipy import stats

alpha = 0.05

# ---- 1. Z critical values ---------------------------------------------
z_two   = stats.norm.ppf(1 - alpha/2)      # 1.959964
z_one   = stats.norm.ppf(1 - alpha)        # 1.644854

# ---- 2. T critical values ---------------------------------------------
df = 10
t_two   = stats.t.ppf(1 - alpha/2, df)     # 2.228139
t_one   = stats.t.ppf(1 - alpha, df)       # 1.812461

# ---- 3. Chi-square critical value (right-tailed by convention) --------
chi_df   = 5
chi_crit = stats.chi2.ppf(1 - alpha, chi_df)          # 11.070498
# both bounds, for a two-sided test about a variance:
chi_lo   = stats.chi2.ppf(alpha/2, chi_df)
chi_hi   = stats.chi2.ppf(1 - alpha/2, chi_df)

# ---- 4. F critical value (right-tailed; ORDER MATTERS) ----------------
d1, d2  = 3, 20
f_crit  = stats.f.ppf(1 - alpha, d1, d2)              # 3.098391
f_swap  = stats.f.ppf(1 - alpha, d2, d1)              # 8.660168, different!

# ---- 5. Compute a statistic and make the decision ---------------------
x   = np.array([52,48,55,61,47,58,50,63,45,56,54,49], dtype=float)
mu0 = 50.0
n   = x.size
t_stat = (x.mean() - mu0) / (x.std(ddof=1) / np.sqrt(n))
t_c    = stats.t.ppf(1 - alpha/2, n - 1)
p_val  = 2 * stats.t.sf(abs(t_stat), n - 1)
reject = abs(t_stat) > t_c            # identical to: p_val < alpha

print(f"Z   alpha={alpha}: two-tailed {z_two:.6f}, one-tailed {z_one:.6f}")
print(f"T   df={df}:       two-tailed {t_two:.6f}, one-tailed {t_one:.6f}")
print(f"CHI df={chi_df}:      right-tailed {chi_crit:.6f}, "
      f"two-sided [{chi_lo:.6f}, {chi_hi:.6f}]")
print(f"F   ({d1},{d2}):      right-tailed {f_crit:.6f}   "
      f"F({d2},{d1}) = {f_swap:.6f}  <- order matters")
print(f"DECISION  t({n-1}) = {t_stat:.6f}, critical +/-{t_c:.6f}, "
      f"p = {p_val:.6f}")
print(f"          reject = {reject}   (p < alpha is {p_val < alpha}: they agree)")

# ---- 6. One figure ----------------------------------------------------
fig, ax = plt.subplots(figsize=(9, 5))
grid = np.linspace(-5, 5, 700)
pdf  = stats.t.pdf(grid, n - 1)
ax.plot(grid, pdf, color="#4338ca", lw=2.4, label=f"t-distribution, df = {n-1}")
ax.fill_between(grid, pdf, where=np.abs(grid) >= t_c, color="#f59e0b",
                alpha=.40, label=f"rejection region, area = {alpha}")
for c in (-t_c, t_c):
    ax.axvline(c, color="#b45309", ls="--", lw=1.6)
ax.text(t_c, stats.t.pdf(0, n-1)*0.72, f" critical {t_c:.3f}",
        fontsize=9, color="#b45309")
ax.plot([t_stat], [stats.t.pdf(t_stat, n-1)], marker="^", ms=13,
        color="#be185d", ls="none", label=f"your t = {t_stat:.3f}")
ax.set_xlabel("t value")
ax.set_ylabel("density")
ax.set_title(f"Rejection Region at alpha = {alpha}, two-tailed, df = {n-1}")
ax.legend(frameon=False, fontsize=9)
ax.spines[["top", "right"]].set_visible(False)
fig.tight_layout()
fig.savefig("critical_value.png", dpi=150)
print("saved critical_value.png")

Actual output from running the script

Z   alpha=0.05: two-tailed 1.959964, one-tailed 1.644854
T   df=10:       two-tailed 2.228139, one-tailed 1.812461
CHI df=5:      right-tailed 11.070498, two-sided [0.831212, 12.832502]
F   (3,20):      right-tailed 3.098391   F(20,3) = 8.660190  <- order matters
DECISION  t(11) = 1.934605, critical +/-2.200985, p = 0.079165
          reject = False   (p < alpha is False: they agree)

Line-by-line explanation

  • Block 1 uses stats.norm.ppf, which takes the cumulative probability. There is no alpha-taking variant to confuse it with, unlike Excel.
  • Block 2 is structurally identical with df added as the second argument. Every SciPy distribution follows this shape.
  • Block 3 gives the right-tailed chi-square value for goodness of fit, plus both bounds for a two-sided variance test. stats.chi2.isf(alpha, df) is an equivalent shortcut for the right tail.
  • Block 4 makes the F ordering trap explicit: F(3,20) is 3.098 and F(20,3) is 8.660. Both are valid calls, so nothing will error.
  • Block 5 computes a statistic and makes the decision two ways. The printed line confirms that the critical value rule and the p-value rule agree, which they must.
  • Block 6 shades the rejection region. fill_between with a where mask handles both tails in a single call.

Useful one-liners

TaskPythonResult
Z, two-tailedstats.norm.ppf(0.975)1.959964
Z, one-tailedstats.norm.ppf(0.95)1.644854
Z, right tail shortcutstats.norm.isf(0.05)1.644854
T, two-tailedstats.t.ppf(0.975, 10)2.228139
T, one-tailedstats.t.ppf(0.95, 10)1.812461
Chi-square, rightstats.chi2.ppf(0.95, 5)11.070498
Chi-square, right shortcutstats.chi2.isf(0.05, 5)11.070498
F, rightstats.f.ppf(0.95, 3, 20)3.098391
p from z2*stats.norm.sf(abs(z))two-tailed p
p from t2*stats.t.sf(abs(t), df)two-tailed p
p from chi-squarestats.chi2.sf(x, df)right-tailed p
p from Fstats.f.sf(x, d1, d2)right-tailed p
Whole t-teststats.ttest_1samp(x, 50)statistic and p
Whole chi-square teststats.chisquare([22,17,20,26,14,21])statistic and p
Whole ANOVAstats.f_oneway(g1, g2, g3)F and p
A whole critical value tablestats.t.ppf(1-np.array([.10,.05,.01])/2, np.array([[1],[5],[10]]))a broadcast array
Cross-checking. stats.t.ppf(0.975, 11) returns 2.200985, exactly the value this calculator shows for a two-tailed test at α = 0.05 with df = 11. If your own arithmetic disagrees with SciPy, the usual culprits are alpha versus alpha/2, or using z where t belongs.

📋 11. Reference Tables

11.1 Z critical values

The only table that fits on one screen, because the normal distribution has no degrees of freedom. These seven pairs cover essentially every z test you will ever run.

AlphaConfidenceTwo-tailed zOne-tailed z
0.280%1.28160.8416
0.190%1.64491.2816
0.0595%1.96001.6449
0.0298%2.32632.0537
0.0199%2.57582.3263
0.00599.5%2.80702.5758
0.00199.9%3.29053.0902
The four worth memorising. 1.6449 one-tailed at 5%, 1.9600 two-tailed at 5%, 2.3263 one-tailed at 1%, and 2.5758 two-tailed at 1%. If you see 1.96 attached to a small-sample test, someone used z where t belonged.

11.2 T critical values, two-tailed

Find your degrees of freedom down the left and your alpha across the top. The bottom row is the normal distribution, which is where t converges as df grows.

df0.20.10.050.020.010.0020.001
13.07776.313812.706231.820563.6567318.309636.619
21.88562.92004.30276.96469.924822.327131.5991
31.63772.35343.18244.54075.840910.214512.9240
41.53322.13182.77643.74694.60417.17328.6103
51.47592.01502.57063.36494.03215.89346.8688
61.43981.94322.44693.14273.70745.20765.9588
71.41491.89462.36462.99803.49954.78535.4079
81.39681.85952.30602.89653.35544.50085.0413
91.38301.83312.26222.82143.24984.29684.7809
101.37221.81252.22812.76383.16934.14374.5869
111.36341.79592.20102.71813.10584.02474.4370
121.35621.78232.17882.68103.05453.92964.3178
131.35021.77092.16042.65033.01233.85204.2208
141.34501.76132.14482.62452.97683.78744.1405
151.34061.75312.13142.60252.94673.73284.0728
161.33681.74592.11992.58352.92083.68624.0150
171.33341.73962.10982.56692.89823.64583.9651
181.33041.73412.10092.55242.87843.61053.9216
191.32771.72912.09302.53952.86093.57943.8834
201.32531.72472.08602.52802.84533.55183.8495
211.32321.72072.07962.51762.83143.52723.8193
221.32121.71712.07392.50832.81883.50503.7921
231.31951.71392.06872.49992.80733.48503.7676
241.31781.71092.06392.49222.79693.46683.7454
251.31631.70812.05952.48512.78743.45023.7251
261.31501.70562.05552.47862.77873.43503.7066
271.31371.70332.05182.47272.77073.42103.6896
281.31251.70112.04842.46712.76333.40823.6739
291.31141.69912.04522.46202.75643.39623.6594
301.31041.69732.04232.45732.75003.38523.6460
351.30621.68962.03012.43772.72383.34003.5911
401.30311.68392.02112.42332.70453.30693.5510
451.30061.67942.01412.41212.68963.28153.5203
501.29871.67592.00862.40332.67783.26143.4960
601.29581.67062.00032.39012.66033.23173.4602
701.29381.66691.99442.38082.64793.21083.4350
801.29221.66411.99012.37392.63873.19533.4163
901.29101.66201.98672.36852.63163.18333.4019
1001.29011.66021.98402.36422.62593.17373.3905
1201.28861.65771.97992.35782.61743.15953.3735
1501.28721.65511.97592.35152.60903.14553.3566
2001.28581.65251.97192.34512.60063.13153.3398
3001.28441.64991.96792.33882.59233.11763.3233
5001.28321.64791.96472.33382.58573.10663.3101
10001.28241.64641.96232.33012.58083.09843.3003
∞ (z)1.28161.64491.96002.32632.57583.09023.2905

11.3 T critical values, one-tailed

The same table for a directional hypothesis. Note that the one-tailed value at 0.025 equals the two-tailed value at 0.05, which is the arithmetic behind the warning about switching tails after seeing your data.

df0.10.050.0250.010.0050.0010.0005
13.07776.313812.706231.820563.6567318.309636.619
21.88562.92004.30276.96469.924822.327131.5991
31.63772.35343.18244.54075.840910.214512.9240
41.53322.13182.77643.74694.60417.17328.6103
51.47592.01502.57063.36494.03215.89346.8688
61.43981.94322.44693.14273.70745.20765.9588
71.41491.89462.36462.99803.49954.78535.4079
81.39681.85952.30602.89653.35544.50085.0413
91.38301.83312.26222.82143.24984.29684.7809
101.37221.81252.22812.76383.16934.14374.5869
111.36341.79592.20102.71813.10584.02474.4370
121.35621.78232.17882.68103.05453.92964.3178
131.35021.77092.16042.65033.01233.85204.2208
141.34501.76132.14482.62452.97683.78744.1405
151.34061.75312.13142.60252.94673.73284.0728
161.33681.74592.11992.58352.92083.68624.0150
171.33341.73962.10982.56692.89823.64583.9651
181.33041.73412.10092.55242.87843.61053.9216
191.32771.72912.09302.53952.86093.57943.8834
201.32531.72472.08602.52802.84533.55183.8495
211.32321.72072.07962.51762.83143.52723.8193
221.32121.71712.07392.50832.81883.50503.7921
231.31951.71392.06872.49992.80733.48503.7676
241.31781.71092.06392.49222.79693.46683.7454
251.31631.70812.05952.48512.78743.45023.7251
261.31501.70562.05552.47862.77873.43503.7066
271.31371.70332.05182.47272.77073.42103.6896
281.31251.70112.04842.46712.76333.40823.6739
291.31141.69912.04522.46202.75643.39623.6594
301.31041.69732.04232.45732.75003.38523.6460
351.30621.68962.03012.43772.72383.34003.5911
401.30311.68392.02112.42332.70453.30693.5510
451.30061.67942.01412.41212.68963.28153.5203
501.29871.67592.00862.40332.67783.26143.4960
601.29581.67062.00032.39012.66033.23173.4602
701.29381.66691.99442.38082.64793.21083.4350
801.29221.66411.99012.37392.63873.19533.4163
901.29101.66201.98672.36852.63163.18333.4019
1001.29011.66021.98402.36422.62593.17373.3905
1201.28861.65771.97992.35782.61743.15953.3735
1501.28721.65511.97592.35152.60903.14553.3566
2001.28581.65251.97192.34512.60063.13153.3398
3001.28441.64991.96792.33882.59233.11763.3233
5001.28321.64791.96472.33382.58573.10663.3101
10001.28241.64641.96232.33012.58083.09843.3003
∞ (z)1.28161.64491.96002.32632.57583.09023.2905

11.4 Chi-square critical values

Column headings are the area in the right tail. For a standard goodness-of-fit or independence test at α = 0.05, use the 0.05 column. The first five columns are for the lower tail of a two-sided variance test.

df0.9950.990.9750.950.90.10.050.0250.010.005
10.00000.00020.00100.00390.01582.70553.84155.02396.63497.8794
20.01000.02010.05060.10260.21074.60525.99157.37789.210310.597
30.07170.11480.21580.35180.58446.25147.81479.348411.34512.838
40.20700.29710.48440.71071.06367.77949.487711.14313.27714.860
50.41170.55430.83121.14551.61039.236411.07012.83315.08616.750
60.67570.87211.23731.63542.204110.64512.59214.44916.81218.548
70.98931.23901.68992.16732.833112.01714.06716.01318.47520.278
81.34441.64652.17972.73263.489513.36215.50717.53520.09021.955
91.73492.08792.70043.32514.168214.68416.91919.02321.66623.589
102.15592.55823.24703.94034.865215.98718.30720.48323.20925.188
112.60323.05353.81574.57485.577817.27519.67521.92024.72526.757
123.07383.57064.40385.22606.303818.54921.02623.33726.21728.300
133.56504.10695.00885.89197.041519.81222.36224.73627.68829.819
144.07474.66045.62876.57067.789521.06423.68526.11929.14131.319
154.60095.22936.26217.26098.546822.30724.99627.48830.57832.801
165.14225.81226.90777.96169.312223.54226.29628.84532.00034.267
175.69726.40787.56428.671810.08524.76927.58730.19133.40935.718
186.26487.01498.23079.390510.86525.98928.86931.52634.80537.156
196.84407.63278.906510.11711.65127.20430.14432.85236.19138.582
207.43388.26049.590810.85112.44328.41231.41034.17037.56639.997
218.03378.897210.28311.59113.24029.61532.67135.47938.93241.401
228.64279.542510.98212.33814.04130.81333.92436.78140.28942.796
239.260410.19611.68913.09114.84832.00735.17238.07641.63844.181
249.886210.85612.40113.84815.65933.19636.41539.36442.98045.559
2510.52011.52413.12014.61116.47334.38237.65240.64644.31446.928
2611.16012.19813.84415.37917.29235.56338.88541.92345.64248.290
2711.80812.87914.57316.15118.11436.74140.11343.19546.96349.645
2812.46113.56515.30816.92818.93937.91641.33744.46148.27850.993
2913.12114.25616.04717.70819.76839.08742.55745.72249.58852.336
3013.78714.95316.79118.49320.59940.25643.77346.97950.89253.672
3517.19218.50920.56922.46524.79746.05949.80253.20357.34260.275
4020.70722.16424.43326.50929.05151.80555.75859.34263.69166.766
4524.31125.90128.36630.61233.35057.50561.65665.41069.95773.166
5027.99129.70732.35734.76437.68963.16767.50571.42076.15479.490
6035.53437.48540.48243.18846.45974.39779.08283.29888.37991.952
7043.27545.44248.75851.73955.32985.52790.53195.023100.425104.215
8051.17253.54057.15360.39164.27896.578101.879106.629112.329116.321
9059.19661.75465.64769.12673.291107.565113.145118.136124.116128.299
10067.32870.06574.22277.92982.358118.498124.342129.561135.807140.169

Useful sanity check: the mean of a chi-square distribution equals its degrees of freedom. If your statistic is close to df, the fit is about as good as chance would predict. The critical value always sits well above df.

11.5 F critical values at α = 0.05

Numerator degrees of freedom across the top, denominator down the side. This is the table used for ANOVA at the conventional 5% level.

df₂ ↓ / df₁ →12345678910121520243060120
1161.4199.5215.7224.6230.2234.0236.8238.9240.5241.9243.9245.9248.0249.1250.1252.2253.3
218.51319.00019.16419.24719.29619.33019.35319.37119.38519.39619.41319.42919.44619.45419.46219.47919.487
310.1289.5529.2779.1179.0138.9418.8878.8458.8128.7868.7458.7038.6608.6398.6178.5728.549
47.7096.9446.5916.3886.2566.1636.0946.0415.9995.9645.9125.8585.8035.7745.7465.6885.658
56.6085.7865.4095.1925.0504.9504.8764.8184.7724.7354.6784.6194.5584.5274.4964.4314.398
65.9875.1434.7574.5344.3874.2844.2074.1474.0994.0604.0003.9383.8743.8413.8083.7403.705
75.5914.7374.3474.1203.9723.8663.7873.7263.6773.6373.5753.5113.4453.4103.3763.3043.267
85.3184.4594.0663.8383.6873.5813.5003.4383.3883.3473.2843.2183.1503.1153.0793.0052.967
95.1174.2563.8633.6333.4823.3743.2933.2303.1793.1373.0733.0062.9362.9002.8642.7872.748
104.9654.1033.7083.4783.3263.2173.1353.0723.0202.9782.9132.8452.7742.7372.7002.6212.580
114.8443.9823.5873.3573.2043.0953.0122.9482.8962.8542.7882.7192.6462.6092.5702.4902.448
124.7473.8853.4903.2593.1062.9962.9132.8492.7962.7532.6872.6172.5442.5052.4662.3842.341
134.6673.8063.4113.1793.0252.9152.8322.7672.7142.6712.6042.5332.4592.4202.3802.2972.252
144.6003.7393.3443.1122.9582.8482.7642.6992.6462.6022.5342.4632.3882.3492.3082.2232.178
154.5433.6823.2873.0562.9012.7902.7072.6412.5882.5442.4752.4032.3282.2882.2472.1602.114
164.4943.6343.2393.0072.8522.7412.6572.5912.5382.4942.4252.3522.2762.2352.1942.1062.059
174.4513.5923.1972.9652.8102.6992.6142.5482.4942.4502.3812.3082.2302.1902.1482.0582.011
184.4143.5553.1602.9282.7732.6612.5772.5102.4562.4122.3422.2692.1912.1502.1072.0171.968
194.3813.5223.1272.8952.7402.6282.5442.4772.4232.3782.3082.2342.1552.1142.0711.9801.930
204.3513.4933.0982.8662.7112.5992.5142.4472.3932.3482.2782.2032.1242.0822.0391.9461.896
214.3253.4673.0722.8402.6852.5732.4882.4202.3662.3212.2502.1762.0962.0542.0101.9161.866
224.3013.4433.0492.8172.6612.5492.4642.3972.3422.2972.2262.1512.0712.0281.9841.8891.838
234.2793.4223.0282.7962.6402.5282.4422.3752.3202.2752.2042.1282.0482.0051.9611.8651.813
244.2603.4033.0092.7762.6212.5082.4232.3552.3002.2552.1832.1082.0271.9841.9391.8421.790
254.2423.3852.9912.7592.6032.4902.4052.3372.2822.2362.1652.0892.0071.9641.9191.8221.768
264.2253.3692.9752.7432.5872.4742.3882.3212.2652.2202.1482.0721.9901.9461.9011.8031.749
274.2103.3542.9602.7282.5722.4592.3732.3052.2502.2042.1322.0561.9741.9301.8841.7851.731
284.1963.3402.9472.7142.5582.4452.3592.2912.2362.1902.1182.0411.9591.9151.8691.7691.714
294.1833.3282.9342.7012.5452.4322.3462.2782.2232.1772.1042.0271.9451.9011.8541.7541.698
304.1713.3162.9222.6902.5342.4212.3342.2662.2112.1652.0922.0151.9321.8871.8411.7401.683
404.0853.2322.8392.6062.4492.3362.2492.1802.1242.0772.0031.9241.8391.7931.7441.6371.577
604.0013.1502.7582.5252.3682.2542.1672.0972.0401.9931.9171.8361.7481.7001.6491.5341.467
1203.9203.0722.6802.4472.2902.1752.0872.0161.9591.9101.8341.7501.6591.6081.5541.4291.352
3.8513.0052.6142.3812.2232.1082.0191.9481.8891.8401.7621.6761.5811.5281.4711.3321.239

11.6 F critical values at α = 0.01

df₂ ↓ / df₁ →12345678910121520243060120
14052.24999.55403.45624.65763.65859.05928.45981.16022.56055.86106.36157.36208.76234.66260.66313.06339.4
298.50399.00099.16699.24999.29999.33399.35699.37499.38899.39999.41699.43399.44999.45899.46699.48299.491
334.11630.81729.45728.71028.23727.91127.67227.48927.34527.22927.05226.87226.69026.59826.50526.31626.221
421.19818.00016.69415.97715.52215.20714.97614.79914.65914.54614.37414.19814.02013.92913.83813.65213.558
516.25813.27412.06011.39210.96710.67210.45610.28910.15810.0519.8889.7229.5539.4669.3799.2029.112
613.74510.9259.7809.1488.7468.4668.2608.1027.9767.8747.7187.5597.3967.3137.2297.0576.969
712.2469.5478.4517.8477.4607.1916.9936.8406.7196.6206.4696.3146.1556.0745.9925.8245.737
811.2598.6497.5917.0066.6326.3716.1786.0295.9115.8145.6675.5155.3595.2795.1985.0324.946
910.5618.0226.9926.4226.0575.8025.6135.4675.3515.2575.1114.9624.8084.7294.6494.4834.398
1010.0447.5596.5525.9945.6365.3865.2005.0574.9424.8494.7064.5584.4054.3274.2474.0823.996
119.6467.2066.2175.6685.3165.0694.8864.7444.6324.5394.3974.2514.0994.0213.9413.7763.690
129.3306.9275.9535.4125.0644.8214.6404.4994.3884.2964.1554.0103.8583.7803.7013.5353.449
139.0746.7015.7395.2054.8624.6204.4414.3024.1914.1003.9603.8153.6653.5873.5073.3413.255
148.8626.5155.5645.0354.6954.4564.2784.1404.0303.9393.8003.6563.5053.4273.3483.1813.094
158.6836.3595.4174.8934.5564.3184.1424.0043.8953.8053.6663.5223.3723.2943.2143.0472.959
168.5316.2265.2924.7734.4374.2024.0263.8903.7803.6913.5533.4093.2593.1813.1012.9332.845
178.4006.1125.1854.6694.3364.1023.9273.7913.6823.5933.4553.3123.1623.0843.0032.8352.746
188.2856.0135.0924.5794.2484.0153.8413.7053.5973.5083.3713.2273.0772.9992.9192.7492.660
198.1855.9265.0104.5004.1713.9393.7653.6313.5233.4343.2973.1533.0032.9252.8442.6742.584
208.0965.8494.9384.4314.1033.8713.6993.5643.4573.3683.2313.0882.9382.8592.7782.6082.517
218.0175.7804.8744.3694.0423.8123.6403.5063.3983.3103.1733.0302.8802.8012.7202.5482.457
227.9455.7194.8174.3133.9883.7583.5873.4533.3463.2583.1212.9782.8272.7492.6672.4952.403
237.8815.6644.7654.2643.9393.7103.5393.4063.2993.2113.0742.9312.7812.7022.6202.4472.354
247.8235.6144.7184.2183.8953.6673.4963.3633.2563.1683.0322.8892.7382.6592.5772.4032.310
257.7705.5684.6754.1773.8553.6273.4573.3243.2173.1292.9932.8502.6992.6202.5382.3642.270
267.7215.5264.6374.1403.8183.5913.4213.2883.1823.0942.9582.8152.6642.5852.5032.3272.233
277.6775.4884.6014.1063.7853.5583.3883.2563.1493.0622.9262.7832.6322.5522.4702.2942.198
287.6365.4534.5684.0743.7543.5283.3583.2263.1203.0322.8962.7532.6022.5222.4402.2632.167
297.5985.4204.5384.0453.7253.4993.3303.1983.0923.0052.8682.7262.5742.4952.4122.2342.138
307.5625.3904.5104.0183.6993.4733.3043.1733.0672.9792.8432.7002.5492.4692.3862.2082.111
407.3145.1794.3133.8283.5143.2913.1242.9932.8882.8012.6652.5222.3692.2882.2032.0191.917
607.0774.9774.1263.6493.3393.1192.9532.8232.7182.6322.4962.3522.1982.1152.0281.8361.726
1206.8514.7873.9493.4803.1742.9562.7922.6632.5592.4722.3362.1922.0351.9501.8601.6561.533
6.6604.6263.8013.3383.0362.8202.6572.5292.4252.3392.2032.0561.8971.8101.7161.4951.351
Read the axes carefully. F(3, 20) is 3.098 and F(20, 3) is 8.660. The table is not symmetric and swapping the two degrees of freedom is the single most common F-table error. Numerator always goes across the top.

11.7 The same alpha, four distributions

DistributionParametersα = 0.10α = 0.05α = 0.01Tail used
Znone1.64491.96002.5758two
Znone1.28161.64492.3263one, right
Tdf = 101.81252.22813.1693two
Tdf = 301.69732.04232.7500two
Tdf = 1001.66021.98402.6259two
Chi-squaredf = 12.70553.84156.6349right
Chi-squaredf = 59.236411.070515.0863right
Chi-squaredf = 1015.987218.307023.2093right
F(1, 10)3.28504.964610.0443right
F(3, 20)2.38013.09844.9382right
F(5, 30)2.04922.53363.6990right

Notice the relationship in the df = 1 rows: 3.8415 is exactly 1.9600 squared, and 6.6349 is 2.5758 squared. A chi-square with one degree of freedom is the square of a standard normal, which is not a coincidence but a definition.

11.8 Degrees of freedom, by test

TestDistributionDegrees of freedomExample
One-sample t-testtn − 1n = 12 gives df = 11
Paired t-testtpairs − 110 pairs gives df = 9
Two-sample t-test, pooledtn₁ + n₂ − 210 and 10 gives df = 18
Two-sample t-test, WelchtWelch-Satterthwaite, usually fractionaloften around 15.49
Chi-square goodness of fitchi-squarecategories − 16 categories gives df = 5
Chi-square independencechi-square(rows − 1) × (columns − 1)3 by 4 table gives df = 6
Chi-square for a variancechi-squaren − 1n = 20 gives df = 19
One-way ANOVAFk − 1 and N − k3 groups of 8 gives 2 and 21
Two variances comparedFn₁ − 1 and n₂ − 110 and 10 gives 9 and 9
Regression, overall FFpredictors and N − predictors − 13 predictors, n = 50 gives 3 and 46
Regression, single coefficienttN − predictors − 13 predictors, n = 50 gives df = 46
Correlation coefficienttn − 2n = 25 gives df = 23

11.9 Excel, R and Python side by side

Critical valueExcelRPython (SciPy)
Z, two-tailedNORM.S.INV(1-a/2)qnorm(1-a/2)stats.norm.ppf(1-a/2)
Z, one-tailedNORM.S.INV(1-a)qnorm(1-a)stats.norm.ppf(1-a)
T, two-tailedT.INV.2T(a,df)qt(1-a/2,df)stats.t.ppf(1-a/2,df)
T, one-tailedT.INV(1-a,df)qt(1-a,df)stats.t.ppf(1-a,df)
Chi-square, rightCHISQ.INV.RT(a,df)qchisq(1-a,df)stats.chi2.ppf(1-a,df)
F, rightF.INV.RT(a,d1,d2)qf(1-a,d1,d2)stats.f.ppf(1-a,d1,d2)
Argument conventionmixed: .RT and .2T take alpha, the rest take cumulativealways cumulativealways cumulative
Read the last row. R and Python are internally consistent: every quantile function takes the cumulative probability. Excel is not, and that inconsistency is the source of most critical-value errors in spreadsheets.

11.10 How to read any of these tables

StepWhat to doCommon error
1Identify the distribution from your testUsing z for a small-sample mean
2Work out the degrees of freedomUsing n instead of n − 1
3Decide the tail, before seeing the dataChoosing one tail after seeing the direction
4Pick the correct column: two-tailed or oneReading the one-tailed column for a two-tailed test
5Read the value at that row and columnReading across from the wrong row on wide tables
6Compare with your statistic in absolute termsForgetting the absolute value on a negative statistic

💡 12. Eight Worked Examples

Every number below was computed with the calculator on this page and cross-checked against SciPy. Each example has its own colour and its own figure showing the distribution with the rejection region shaded. Examples 5 and 7 are the two mistakes worth studying: both flip a decision and neither produces any error message.

1🔢 Example 1, The Z Critical Value and Why the Tail Matters

Setup: A z-test at α = 0.05. No degrees of freedom are needed.

-4-3-2-1+0+1+2+3+4crit 1.960crit -1.960shaded area = 0.05Z, two-tailed at alpha = 0.052.5% in each tail
Figure 1. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
DistributionStandard normal
Alpha0.05
Two-tailed critical value±1.9600
One-tailed critical value1.6449
Area in each tail, two-tailed0.025
Area in the single tail, one-tailed0.05
At alpha 0.01, two-tailed±2.5758
At alpha 0.01, one-tailed2.3263

Reading it: The two-tailed value of 1.9600 is the most quoted number in statistics. The one-tailed value at the same alpha is only 1.6449, because all 5% sits in a single tail rather than being split into two lots of 2.5%. That gap is why choosing your tail after seeing which way the data went is indefensible: it converts a nominal 5% test into a 10% one while you report it as 5%.

2📈 Example 2, The T Critical Value Falls as df Grows

Setup: A two-tailed t-test at α = 0.05 with df = 10.

-4-3-2-1+0+1+2+3+4crit 2.228crit -2.228shaded area = 0.05t with 10 degrees of freedom, two-tailed at 0.05heavier tails than the normal
Figure 2. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
DistributionStudent's t
Degrees of freedom10
Critical value±2.2281
Same test at df = 1±12.7062
Same test at df = 30±2.0423
Same test at df = 100±1.9840
Normal (z) limit±1.9600
How much larger than z at df = 1013.7%

Reading it: The t critical value starts at an extraordinary 12.7062 with one degree of freedom and falls steadily: 2.2281 at df = 10, 2.0423 at df = 30, 1.9840 at df = 100, converging on the normal 1.9600. The reason is that t accounts for uncertainty in your estimate of the standard deviation, and with a tiny sample that estimate is nearly worthless. The heavier tails are visible in the figure. This is honest rather than harsh: a small sample genuinely cannot establish much.

3χ Example 3, Chi-Square Goodness of Fit, Right-Tailed

Setup: 120 dice rolls giving counts 22, 17, 20, 26, 14, 21. Is the die fair?

03.16.39.412.515.718.8crit 11.070stat 4.300shaded area = 0.05Chi-square with 5 df, right-tailed at 0.05p = 0.5071, do not reject
Figure 3. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
Observed counts22, 17, 20, 26, 14, 21
Total rolls120
Expected under fairness20 in each category
Chi-square statistic4.3000
Degrees of freedomcategories − 1 = 5
Critical value at 0.0511.0705
p-value0.5071
DecisionDo not reject. The die looks fair

Reading it: The statistic of 4.30 is nowhere near the critical value of 11.0705, so there is no evidence against fairness. Note the shape of the distribution in the figure: chi-square cannot be negative and is right-skewed, with a mean equal to its degrees of freedom. A statistic near 5 is exactly what chance predicts here. Only the right tail is shaded, because a small chi-square means the data fit the null better than expected, which is not evidence against it.

4📊 Example 4, ANOVA and the F Critical Value

Setup: Three sites of 8 observations each, compared by one-way ANOVA.

06.512.919.425.932.438.8crit 3.467stat 29.883shaded area = 0.05F(2, 21), right-tailed at 0.05statistic far beyond the cut-off
Figure 4. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
Groups3
Total observations24
Numerator dfgroups − 1 = 2
Denominator dfN − groups = 21
F statistic29.8834
Critical value F(2,21) at 0.053.4668
p-value7.200e-07
DecisionReject. At least one group mean differs
At alpha 0.01 instead5.7804

Reading it: The F statistic of 29.88 dwarfs the critical value of 3.4668, so the null of equal means is rejected decisively. What ANOVA does not tell you is which groups differ, only that at least one does; that requires post-hoc comparisons with a correction for multiplicity. Note also that a significant F says nothing about the size of the differences. The figure shows the F distribution is right-skewed and strictly positive, which is why only the upper tail is ever used.

5🚨 Example 5, Swapping the F Degrees of Freedom

Setup: The same alpha, the same two numbers, entered in the wrong order.

012.13.14.15.26.2crit 3.098shaded area = 0.05F(3, 20) at 0.05 = 3.0984F(20, 3) would be 8.6602
Figure 5. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
F(3, 20) at 0.053.0984
F(20, 3) at 0.058.6602
Ratio between them2.80 times
F(3, 20) at 0.014.9382
F(20, 3) at 0.0126.6898
Consequence of the errora real effect declared non-significant
Which is whichnumerator first, always

Reading it: These are not close. Using 8.6602 where 3.0984 belongs would make you retain a null hypothesis you should have rejected, and nothing in any software will warn you. The F distribution is not symmetric in its two parameters, so the order carries real information: the numerator df comes from what you are testing (groups minus one in ANOVA) and the denominator from the residual (observations minus groups). When reading a printed F table, the numerator runs across the top.

6⚖ Example 6, The Same Data, Two Different Alphas

Setup: A one-sample t-test giving t(11) = 1.9346, p = 0.0792.

-4-3-2-1+0+1+2+3+4crit 2.201crit -2.201stat 1.935shaded area = 0.05t(11), two-tailed at alpha = 0.05statistic falls short of the cut-off
Figure 6. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
Test statistic1.9346
Degrees of freedom11
p-value0.0792
Critical value at alpha 0.10±1.7959
Critical value at alpha 0.05±2.2010
Critical value at alpha 0.01±3.1058
Decision at 0.10Reject
Decision at 0.05Do not reject
Decision at 0.01Do not reject

Reading it: The same statistic gives opposite verdicts at different alphas: it clears the 0.10 bar of 1.7959 but not the 0.05 bar of 2.2010. This is exactly why alpha must be fixed before you see the data. It also shows the weakness of a bare reject-or-not verdict: a p of 0.0792 is not meaningfully different from one of 0.0492, yet the decision rule treats them as opposites. Report the exact p-value and a confidence interval rather than the verdict alone.

7📏 Example 7, Using z When You Should Use t

Setup: A small sample, n = 6, giving a statistic of 2.10.

-4-3-2-1+0+1+2+3+4crit 2.571crit -2.571stat 2.100shaded area = 0.05t with 5 df: critical value 2.5706z would have said 1.9600
Figure 7. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
Sample size6
Degrees of freedom5
Test statistic2.10
Correct critical value, t(5)±2.5706
Wrong critical value, z±1.9600
Correct decisionDo not reject (2.10 < 2.5706)
Wrong decisionReject (2.10 > 1.9600)
True p-value from t(5)0.0898
False p-value from z0.0357

Reading it: This is the most consequential error on the page, because it is invisible. Using the normal critical value of 1.9600 instead of the correct t(5) value of 2.5706 flips the decision from retain to reject. The true p-value is 0.0897 and the false one is 0.0357. Nothing errors, nothing warns you, and the write-up looks perfectly normal. The rule is simple: if you estimated the standard deviation from your sample, you need t, and at small n the difference is decisive.

8🔄 Example 8, When Chi-Square Really Does Need Two Tails

Setup: A test about a variance with n = 20, where both directions matter.

09.318.627.937.246.555.8crit 32.852crit 8.907shaded area = 0.05Chi-square with 19 df, two-sided at 0.05both tails shaded, 2.5% each
Figure 8. The distribution with the rejection region shaded in amber, the critical value marked as a dashed line, and where applicable the test statistic marked with a triangle.
TestChi-square test for a single variance
Sample size20
Degrees of freedomn − 1 = 19
Lower critical value8.9065
Upper critical value32.8523
Right-tailed value at 0.05 for comparison30.1435
Area in each tail0.025
Reject ifstatistic below 8.907 or above 32.852

Reading it: Goodness-of-fit and independence tests are right-tailed because only a large chi-square is evidence against the null. A test about a variance is the exception: a variance that is unusually small can be just as interesting as one that is unusually large, for instance when a process is suspiciously consistent. Here you need both bounds, 8.9065 and 32.8523, with 2.5% in each tail. Note the upper bound is well above the one-tailed 0.05 value of 30.1435, because the alpha has been split.

📋 13. Testing Protocol

A critical value is the last thing you look up and the first thing that can be gamed. Everything that makes it meaningful is decided before you see a single number.

  1. State the null and alternative hypotheses in writing. The alternative determines the tail, and writing it down before collecting data is what stops it from drifting to match your results.
  2. Fix alpha in advance. 0.05 is a convention Fisher suggested for convenience, not a law. Choose it deliberately: a stricter alpha protects against false positives at the cost of missing real effects.
  3. Choose the tail from the hypothesis, not the data. One tail is legitimate only if you would treat a result in the opposite direction exactly as you would treat no result. If a reversal would interest you, use two tails.
  4. Pick the distribution from the design. Means with an estimated SD go to t, counts go to chi-square, variance ratios and ANOVA go to F, and z only when the population standard deviation is genuinely known.
  5. Work out the degrees of freedom before you run anything. Section 11.8 lists them by test. This is where most silent errors originate.
  6. Check the assumptions of the test itself, not just the arithmetic. The critical value is correct regardless; the question is whether the statistic follows that distribution at all.
  7. Do not peek and continue collecting. Checking whether you have cleared the bar and then adding more data until you do inflates the false positive rate well above your stated alpha.
  8. Run one primary test. Twenty tests at 5% give you a 64% chance of at least one false positive. Pre-register the primary comparison, or correct for multiplicity and say that you did.
  9. Report the exact p-value, not just the verdict. Journals expect it, and a bare "significant at 0.05" hides the difference between p = 0.049 and p = 0.0001.
  10. Report a confidence interval and an effect size alongside. The critical value comparison answers a yes-or-no question that is rarely the one anyone actually cares about.
  11. State alpha, the tail and the degrees of freedom in the write-up. A critical value without them cannot be checked by a reader.
  12. Keep a record of the decisions made before data collection. Pre-registration exists precisely because these choices are unverifiable after the fact.
The failure that invalidates everything else. Choosing alpha, the tail or the test after seeing the data. Each of these silently changes the false positive rate while the reported figure stays at 5%. No amount of correct arithmetic downstream repairs it, and nothing in the output reveals it happened.

🎯 14. When to Use Each Distribution

Use z when

  • The population standard deviation is genuinely known. Rare outside textbooks, quality control with a long-established process, and standardised tests with published norms.
  • You are working with proportions, where the standard error is determined by p and n rather than estimated separately.
  • The sample is very large, where t has converged on z anyway. Above about n = 100 the difference is under 1%.
  • You are building a confidence interval for a percentage, which is where 1.96 earns its fame.

Use t when

  • You estimated the standard deviation from your sample. This covers almost every real analysis of means.
  • The sample is small. Below about n = 30 the difference between t and z is large enough to change conclusions, as Example 7 shows.
  • You are testing a regression coefficient, where the residual standard error is estimated from the data.
  • You are unsure. There is never a penalty for using t. It is slightly conservative at large n and correct at small n.

Use chi-square when

  • You have counts in categories and want to test whether they match an expected pattern.
  • You are testing independence in a contingency table.
  • You are testing a hypothesis about a single variance, which is the one case where two tails make sense.
  • You are assessing model fit via a likelihood ratio, which follows a chi-square distribution asymptotically.

Use F when

  • You are comparing three or more group means via ANOVA.
  • You are comparing two variances directly.
  • You are testing overall regression significance, or comparing nested models.

Do not use a critical value at all when

SituationWhy notWhat to do instead
Your data are badly non-normal and n is smallThe statistic does not follow the assumed distribution, so the critical value is the wrong cut-offMann-Whitney, Wilcoxon, or a permutation test
Expected counts below 5 in chi-squareThe chi-square approximation breaks downFisher's exact test, or combine categories
You want to know how big an effect isA critical value answers a yes-or-no question onlyA confidence interval and an effect size
You want to show two groups are equivalentFailing to reject is not evidence of equivalenceA TOST equivalence test with a pre-specified margin
You are running many testsEach carries its own alpha and they accumulateBonferroni, Holm, or false discovery rate control
Observations are clustered or repeatedIndependence fails, so the true distribution is widerA mixed model with the correct error structure
You want the probability that the hypothesis is trueFrequentist tests do not provide thisA Bayesian analysis with an explicit prior

🔧 15. Troubleshooting

SymptomCauseFix
Excel gave you −1.645 instead of 1.96Passed alpha to NORM.S.INV instead of 1 − alpha/2=NORM.S.INV(1-0.05/2)
Your t critical value looks too bigPassed alpha/2 to T.INV.2T, which halves it againT.INV.2T takes alpha directly: =T.INV.2T(0.05,df)
Chi-square critical value is around 1 instead of 11Used CHISQ.INV instead of CHISQ.INV.RTThe .RT version is right-tailed and is what you want
F critical value is much larger than expectedDegrees of freedom entered in the wrong orderNumerator first. F(3,20) = 3.098, F(20,3) = 8.660
Your result is significant with z but not with tWrong distribution for an estimated SDUse t. At small n this flips decisions, as Example 7 shows
Critical value and p-value seem to disagreeDifferent tails, or different alpha between the twoThey cannot disagree when both use the same alpha and tail
Your statistic is negative and the table has no negativesTables list the positive bound onlyCompare absolute values. The distribution is symmetric for z and t
Chi-square statistic came out negativeArithmetic error, this is impossibleCheck the (O − E)² term. Squares cannot be negative
Your chi-square p-value looks wrongUsed a two-tailed p on a right-tailed testGoodness of fit and independence use the right tail only
Degrees of freedom off by oneUsed n instead of n − 1, or categories instead of categories − 1See table 11.8 for every test
Two-sample t df looks wrongConfusing pooled with WelchPooled is n₁ + n₂ − 2. Welch is fractional
Expected counts below 5Sparse categoriesCombine categories, or use Fisher's exact test
Result changed after you added more dataOptional stoppingFix the sample size in advance, or use a sequential design
The R answer differs from your table lookupPrinted tables round to 3 or 4 decimalsR and this calculator are exact. Trust them over a printed table
You cannot find your df in the tablePrinted tables jump from 30 to 40 to 60Never interpolate. Use the calculator, which handles any df
ANOVA is significant but no pair looks differentANOVA tests all groups jointlyRun post-hoc comparisons with a multiplicity correction

16. Assumptions and Limitations

What a critical value assumes

The critical value itself is exact arithmetic: it is the quantile of a named distribution and cannot be wrong. What can be wrong is the assumption that your statistic follows that distribution. Everything below is about that.

AssumptionHow much it mattersWhat happens if it failsHow to check
Alpha and tail fixed in advanceCriticalThe stated error rate is not the actual one. Nothing reveals itPre-registration. Not testable afterwards
Independent observationsCriticalThe true distribution is wider, so your critical value is too lowA property of the design, not the data
Correct distribution chosenCriticalUsing z for an estimated SD understates the bar, as Example 7 showsDid you estimate the SD? Then use t
Correct degrees of freedomHighWrong cut-off entirely, and no error messageTable 11.8
Approximate normality (t and z)Moderate, falling as n growsInaccurate coverage below about n = 15Histogram, Q-Q plot, Shapiro-Wilk
Expected counts of at least 5 (chi-square)ModerateThe approximation degrades and p-values become unreliableCompute the expected counts and look
Equal variances (ANOVA, pooled t)ModerateInflated false positive rate with unequal group sizesVariance ratio, or use Welch
Normality (F-test for variances)HighThis test is notoriously sensitive to non-normalityUse Levene's or Brown-Forsythe instead
One primary testHighTwenty tests at 5% give a 64% chance of a false positiveCount how many tests you ran

Limitations of the approach itself

  • It answers a yes-or-no question. Statistics at 1.95 and 1.97 receive opposite verdicts despite being nearly identical evidence. The threshold is a convenience, not a natural boundary.
  • It says nothing about effect size. With a large enough sample, any non-zero difference clears any critical value. Significance and importance are different questions.
  • Failing to clear it is not evidence of no effect. It means this sample could not distinguish the hypotheses, which is partly a statement about your power.
  • Alpha is a convention. There is nothing special about 5%. Fisher proposed it as a convenient default and it hardened into a rule he did not intend.
  • It does not give the probability that the hypothesis is true. That is a Bayesian quantity requiring a prior. The p-value is the probability of the data given the null, not the reverse.
  • Printed tables force interpolation. Real tables jump from df 30 to 40 to 60, and interpolating between rows is an approximation that software makes unnecessary.
  • Multiple testing is not handled. Each critical value controls one test's error rate, not the family's.
  • The distribution may not apply at all. The critical value is exact for the assumed distribution and irrelevant if your statistic does not follow it.
Why tables persist despite all this. They make the logic visible. Seeing the shaded rejection region, the boundary and where your statistic landed conveys something that "p = 0.032" does not, which is why this calculator draws it rather than only printing a number. Use tables to understand the reasoning, and software to report the exact figure.

🏁 17. Conclusion

A critical value is the cut-off your test statistic has to beat. You fix a significance level, look up the point beyond which only that proportion of the distribution lies, and reject the null hypothesis if your statistic is more extreme. The shaded region in chart 1 has an area of exactly alpha, and that single fact explains everything else on this page.

Four distributions cover almost all of applied work. Z is used when the population standard deviation is genuinely known, which is rare, and its value depends only on alpha and the tail: 1.9600 two-tailed at 5%, 1.6449 one-tailed. T is used whenever you estimated the standard deviation from your own data, which is almost always, and it needs degrees of freedom. Chi-square handles counts and categorical data. F handles ANOVA and variance ratios and needs two degrees of freedom in a fixed order.

Three things about those values are worth internalising. First, the tail choice matters enormously: at alpha 0.05 the two-tailed z is 1.9600 and the one-tailed is 1.6449, because all the alpha sits in one tail rather than being split. Choosing the tail after seeing which direction your data went converts a nominal 5% test into a 10% test while you report it as 5%, and nothing in your output reveals it. Second, degrees of freedom change everything except z: the t critical value falls from 12.7062 at df = 1 through 2.2281 at df = 10 to 1.9840 at df = 100, converging on the normal value. Small samples are held to a much higher bar, which is honest rather than harsh. Third, chi-square and F are right-tailed by convention, because only a large statistic is evidence against the null; the exception is a test about a variance, where an unusually small value can matter too.

Two errors on this page flip decisions and produce no warning whatsoever. Using the normal critical value of 1.9600 where a t(5) value of 2.5706 belongs turns a correct retain into a false reject, and the write-up looks entirely normal. Swapping the F degrees of freedom turns 3.0984 into 8.6602, which does the opposite: a real effect declared non-significant. Both are silent, both are common, and both are avoidable by checking the distribution and the argument order before you look anything up.

Critical values and p-values are the same comparison read from opposite ends of the distribution, so they cannot disagree. Tables existed because computing an exact tail area by hand was infeasible; software removed that constraint and journals now expect exact p-values. What tables still do better is make the reasoning visible, which is why every result here is drawn as well as printed.

The last point is the one most worth keeping. A critical value answers a yes-or-no question, and it is rarely the question anyone actually has. Clearing the bar means the effect is detectable at your sample size, not that it is large or important, and with enough data any non-zero difference clears any threshold. Failing to clear it is not evidence that nothing is there. Report the exact p-value, a confidence interval and an effect size, and treat the threshold as one input to a judgement rather than the judgement itself.

18. Frequently Asked Questions

What is a critical value in statistics?
It is the cut-off your test statistic has to beat. You choose a significance level, alpha, and the critical value is the point beyond which only alpha of the distribution lies if the null hypothesis is true. If your statistic is more extreme than it, you reject the null. The region beyond it is called the rejection region, and its area is exactly alpha by construction.
How do you find the critical value?
Pick the distribution from your test, work out the degrees of freedom, choose alpha and the tail, then look up the quantile. In Excel that is NORM.S.INV(1-alpha/2) for z or T.INV.2T(alpha,df) for t; in R it is qnorm(1-alpha/2) or qt(1-alpha/2,df); in Python it is stats.norm.ppf(1-alpha/2) or stats.t.ppf(1-alpha/2,df). Or just use the calculator on this page, which handles all four distributions.
What is the z critical value for 95% confidence?
1.9600 for a two-tailed test, and 1.6449 for a one-tailed test. At 99% confidence they are 2.5758 and 2.3263. These are fixed numbers because the normal distribution has no degrees of freedom, which is why they are worth memorising.
Why is the one-tailed critical value smaller than the two-tailed one?
Because all of alpha sits in a single tail rather than being split between two. At alpha = 0.05, a two-tailed test puts 2.5% in each tail and needs z = 1.9600; a one-tailed test puts the whole 5% in one tail and needs only 1.6449. That makes the one-tailed test more powerful in the chosen direction and completely blind in the other.
Can I choose one-tailed after seeing my data?
No, and it is not a grey area. Switching to one tail after seeing the direction converts a nominal 5% test into a 10% test while you continue to report it as 5%. A one-tailed test is legitimate only when you committed to the direction beforehand and would treat a result in the opposite direction exactly as you would treat no result at all.
What are degrees of freedom and how do I work them out?
They are the number of values free to vary, and they set the shape of the distribution. It is n minus 1 for a one-sample or paired t-test, n₁ + n₂ minus 2 for a pooled two-sample test, categories minus 1 for chi-square goodness of fit, (rows minus 1) times (columns minus 1) for a test of independence, and for ANOVA it is groups minus 1 and total observations minus groups. Table 11.8 on this page lists every case.
Should I use z or t?
Use t whenever you estimated the standard deviation from your sample, which is almost always. Use z only when the population standard deviation is genuinely known, or when working with proportions. The difference is decisive at small samples: at df = 5 the t value is 2.5706 against z at 1.9600, so a statistic of 2.10 would be retained under t and rejected under z. Above about n = 100 the two agree closely, and there is never a penalty for using t.
Why are chi-square and F tests only right-tailed?
Both statistics are built from squared quantities, so they cannot be negative, and the evidence against the null always pushes them upward: a poor fit gives a large chi-square, and a real group difference gives a large F. A small value means your data agree with the null unusually well, which is not evidence against it. The exception is a test about a variance, where an unusually small variance can matter, and there you need both bounds.
What is the chi-square critical value at 0.05?
It depends on the degrees of freedom. It is 3.8415 at df = 1, 5.9915 at df = 2, 11.0705 at df = 5, 18.3070 at df = 10 and 31.4104 at df = 20. Note that 3.8415 is exactly 1.9600 squared, because a chi-square with one degree of freedom is the square of a standard normal.
Does the order of the F degrees of freedom matter?
Yes, enormously. F(3, 20) at alpha 0.05 is 3.0984 and F(20, 3) is 8.6602. The numerator degrees of freedom always comes first, and in a printed table it runs across the top. Swapping them is a silent error that will not throw a warning anywhere, and it can make you retain a null you should have rejected.
What is the difference between a critical value and a p-value?
They are two ways of making the same comparison. The critical value approach asks whether your statistic is beyond the cut-off; the p-value approach asks whether the area beyond your statistic is less than alpha. They always agree, because they are the same inequality read from opposite ends. Tables of critical values existed because computing exact tail areas by hand was infeasible; software removed that constraint, and journals now expect exact p-values.
What happens if my statistic exactly equals the critical value?
Conventionally you reject, since the rejection region is defined as being at or beyond the boundary. In practice an exact tie is vanishingly unlikely with real data, and if you are that close the honest response is to report the exact p-value and note that the result sits on the threshold rather than leaning on the verdict.
How does alpha change the critical value?
A smaller alpha means a smaller rejection region, so the boundary moves further out and the test gets harder. For z two-tailed, alpha 0.10 gives 1.6449, alpha 0.05 gives 1.9600, alpha 0.01 gives 2.5758 and alpha 0.001 gives 3.2905. Lowering alpha reduces false positives at the cost of missing more real effects.
Is 1.96 always the right critical value?
No. It is correct only for z at alpha 0.05 two-tailed. It is wrong for any t-test with a small sample, wrong for one-tailed tests, wrong for any other alpha, and meaningless for chi-square or F. Seeing 1.96 attached to a small-sample test is a reliable sign that someone used the wrong distribution.
Do I still need critical value tables now that software gives p-values?
Not for computation, but they remain useful for understanding. Seeing the boundary, the shaded rejection region and where your statistic landed conveys the logic in a way a bare "p = 0.032" does not. Report exact p-values in your write-up and use tables and figures to reason about what the test is doing.
Why does my printed table not have my degrees of freedom?
Printed tables jump from 30 to 40 to 60 to 120 to save space, on the assumption that you will interpolate or round down conservatively. Do not interpolate: use software, which computes the exact value for any degrees of freedom, including the fractional ones that Welch's t-test produces.
My critical value comparison and my p-value disagree. What went wrong?
They cannot disagree if both use the same alpha, the same tail and the same distribution, so one of those three differs between your two calculations. The usual culprits are a two-tailed critical value compared against a one-tailed p-value, or an Excel function that takes alpha where you passed the cumulative probability.
Does clearing the critical value mean my result is important?
No. It means the effect is detectable at your sample size. With enough data, any non-zero difference clears any critical value, so a significant result from a very large sample may describe a difference nobody would act on. Report an effect size and a confidence interval so importance can be judged separately from significance.
What if my statistic does not clear the bar?
You do not reject the null hypothesis. That is not the same as showing the null is true: it means this sample could not distinguish the hypotheses, which is as much a statement about your power as about reality. A confidence interval will show which effects remain compatible with your data, and it is usually far more informative than the verdict.
Why is alpha 0.05 the standard?
Largely historical accident. Fisher suggested it in the 1920s as a convenient round figure, remarking that it was a matter of taste rather than principle, and it hardened into a rule he did not intend. Some fields use much stricter thresholds: particle physics requires five sigma, roughly alpha = 3 in 10 million, and genome-wide association studies commonly use 5 in 100 million to account for the number of tests being run.

🔖 19. Cite This Tool

APA 7th
StatsUnlock. (2026). Critical Value Calculator [Online tool]. https://statsunlock.com/critical-value-calculator/
MLA 9th
"Critical Value Calculator." StatsUnlock, 2026, statsunlock.com/critical-value-calculator/.
Chicago
StatsUnlock. "Critical Value Calculator." Accessed 2026. https://statsunlock.com/critical-value-calculator/.
BibTeX
@misc{statsunlock_critval, title={Critical Value Calculator}, author={{StatsUnlock}}, year={2026}, url={https://statsunlock.com/critical-value-calculator/}}

🔗 20. Related Calculators

📖 21. Glossary

TermMeaning
Critical valueThe cut-off marking the edge of the rejection region. Reject if your statistic is beyond it.
Rejection regionThe set of statistic values leading to rejection. Its area equals alpha by construction.
Acceptance regionThe complement. A poor name, since you never accept the null, only fail to reject it.
Alpha (α)The significance level. The false positive rate you agree to tolerate, fixed in advance.
Test statisticA single number summarising how far your data sit from what the null predicts.
Null hypothesis (H₀)The proposition of no effect, which the test attempts to rule out.
Alternative hypothesis (H₁)What you conclude if you reject. Its form determines the tail.
Two-tailed testTests for a difference in either direction. Alpha is split between both tails.
One-tailed testTests in one direction only. All of alpha sits in one tail, so the cut-off is closer in.
Degrees of freedomThe number of values free to vary. Sets the shape of t, chi-square and F.
P-valueThe probability of a statistic at least this extreme if the null were true.
Quantile functionThe inverse of the cumulative distribution. What actually computes a critical value.
Standard normal (z)Mean 0, SD 1. No degrees of freedom, so its critical values are fixed.
Student's tLike the normal but with heavier tails, to account for an estimated standard deviation.
Chi-squareA right-skewed distribution of squared quantities. Mean equals its degrees of freedom.
F distributionA ratio of two variances. Needs two degrees of freedom, and the order matters.
Type I errorA false positive: rejecting a true null. Its rate is alpha.
Type II errorA false negative: failing to reject a false null. Its rate is beta.
Power1 minus beta. The probability of detecting an effect that is really there.
Goodness of fitA chi-square test of whether observed counts match an expected pattern.
Test of independenceA chi-square test of whether two categorical variables are related.
ANOVAAnalysis of variance. Compares three or more means using an F statistic.
Welch's correctionAn adjustment for unequal variances that produces fractional degrees of freedom.
Optional stoppingCollecting more data until the result clears the bar. Badly inflates false positives.
Multiple comparisonsRunning many tests, each with its own alpha, so errors accumulate across the family.
Pre-registrationRecording alpha, tail and test before data collection, so the choices are verifiable.
Effect sizeHow large a difference is, independent of sample size. What a critical value cannot tell you.

📚 22. References

  1. Student [Gosset, W. S.] (1908). The probable error of a mean. Biometrika, 6(1), 1-25. doi.org/10.2307/2331554
  2. Fisher, R. A. (1925). Statistical Methods for Research Workers. Oliver and Boyd. archive.org
  3. Fisher, R. A. (1922). On the interpretation of chi-square from contingency tables, and the calculation of P. Journal of the Royal Statistical Society, 85(1), 87-94. doi.org/10.2307/2340521
  4. Pearson, K. (1900). On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling. Philosophical Magazine, 50(302), 157-175. doi.org/10.1080/14786440009463897
  5. Neyman, J., & Pearson, E. S. (1933). On the problem of the most efficient tests of statistical hypotheses. Philosophical Transactions of the Royal Society A, 231, 289-337. doi.org/10.1098/rsta.1933.0009
  6. Snedecor, G. W., & Cochran, W. G. (1989). Statistical Methods (8th ed.). Iowa State University Press. wiley.com
  7. Welch, B. L. (1947). The generalization of Student's problem when several different population variances are involved. Biometrika, 34(1-2), 28-35. doi.org/10.1093/biomet/34.1-2.28
  8. Wasserstein, R. L., & Lazar, N. A. (2016). The ASA statement on p-values: Context, process, and purpose. The American Statistician, 70(2), 129-133. doi.org/10.1080/00031305.2016.1154108
  9. Greenland, S., et al. (2016). Statistical tests, p-values, confidence intervals, and power: A guide to misinterpretations. European Journal of Epidemiology, 31, 337-350. doi.org/10.1007/s10654-016-0149-3
  10. Wasserstein, R. L., Schirm, A. L., & Lazar, N. A. (2019). Moving to a world beyond "p < 0.05". The American Statistician, 73(sup1), 1-19. doi.org/10.1080/00031305.2019.1583913
  11. Simmons, J. P., Nelson, L. D., & Simonsohn, U. (2011). False-positive psychology. Psychological Science, 22(11), 1359-1366. doi.org/10.1177/0956797611417632
  12. Cohen, J. (1994). The earth is round (p < .05). American Psychologist, 49(12), 997-1003. doi.org/10.1037/0003-066X.49.12.997
  13. Lakens, D. (2013). Calculating and reporting effect sizes to facilitate cumulative science. Frontiers in Psychology, 4, 863. doi.org/10.3389/fpsyg.2013.00863
  14. Delacre, M., Lakens, D., & Leys, C. (2017). Why psychologists should by default use Welch's t-test instead of Student's t-test. International Review of Social Psychology, 30(1), 92-101. doi.org/10.5334/irsp.82
  15. Cochran, W. G. (1952). The chi-square test of goodness of fit. Annals of Mathematical Statistics, 23(3), 315-345. doi.org/10.1214/aoms/1177729380
  16. Box, G. E. P. (1953). Non-normality and tests on variances. Biometrika, 40(3-4), 318-335. doi.org/10.1093/biomet/40.3-4.318
  17. Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. (2007). Numerical Recipes: The Art of Scientific Computing (3rd ed.). Cambridge University Press. numerical.recipes
  18. Abramowitz, M., & Stegun, I. A. (1964). Handbook of Mathematical Functions. National Bureau of Standards. personal.math.ubc.ca
  19. Virtanen, P., et al. (2020). SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods, 17, 261-272. doi.org/10.1038/s41592-019-0686-2
  20. R Core Team (2024). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. r-project.org
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Important Plots & Charts

Most Popular