One-Way ANOVA Calculator Online (Post-Hoc Tests & Multiple Comparison Correction)
Compare means across three or more groups. Outputs the F statistic, degrees of freedom, p-value, ANOVA table, and effect size η², with optional post-hoc pairwise comparisons and Bonferroni or BH correction of p-values.
Why you cannot just run pairwise t-tests
Three groups yield 3 pairwise tests; four groups yield 6. With α = 0.05 per test, the probability of at least one false positive across three tests is about 14%, and about 26% across six — far above the 5% you assumed. ANOVA first uses a single test to answer “do any differences exist among these groups?”, keeping the overall false-positive rate at α.
A significant ANOVA only tells you “at least two groups differ” — it does not tell you which pair. To identify the specific pairs, you need post-hoc pairwise comparisons, and at that point you must correct p-values for multiple testing. This page chains both steps together.
How to read the ANOVA table
SS_between = Σ nᵢ(x̄ᵢ − x̄)² Between-group sum of squares — how far group means are from the grand mean
SS_within = Σ Σ (xᵢⱼ − x̄ᵢ)² Within-group sum of squares — scatter within each group
MS = SS / df Mean square = sum of squares ÷ degrees of freedom
F = MS_between / MS_within Ratio of the two variances
F is essentially asking: how many times larger is the between-group variation compared to the within-group random noise? An F close to 1 means group differences and within-group noise are on the same scale — nothing to report; only a large F warrants further investigation.
η² (eta squared) = SS_between / SS_total is the effect size: the proportion of total variance explained by the factor. The p-value tells you how unlikely the observed differences are under the null; η² tells you how large the differences are. With large samples, even tiny differences can yield very small p-values.
Choosing among the three methods
The page provides three methods, each suited to different assumptions:
Classic F-test assumes equal variances across groups. It is reasonably robust to this assumption when group sample sizes are similar, and is the default option.
Welch’s ANOVA does not assume variance homogeneity, at the cost of reduced degrees of freedom. When group sizes are unequal and variances are also unequal, the two methods can give dramatically different results — the example data on this page shows a dataset where the classic F gives p = 6.5×10⁻⁷ and Welch gives p = 0.0058, two orders of magnitude apart. In that situation the small p-value from the classic F is spurious.
Kruskal-Wallis is the nonparametric version, comparing ranks rather than means, and does not rely on a normality assumption. Use it when data are clearly skewed, contain extreme outliers, or are ordinal. It is the generalization of the Mann-Whitney U test to three or more groups.
Two assumptions to keep in mind
Group variances should be approximately equal (homogeneity of variance). The F-test on this page assumes variance homogeneity. When group sizes are similar, ANOVA is fairly robust to this assumption; when sample sizes differ substantially and variances also differ substantially, results are unreliable — switch to Welch’s ANOVA or the nonparametric Kruskal-Wallis test.
Observations must be independent. Repeated measurements on the same subject violate independence; those require repeated-measures ANOVA or a mixed-effects model and cannot be analyzed with this page.
Which post-hoc correction to use
Bonferroni is the most conservative: multiply each p-value by the number of comparisons. It is adequate when the number of comparisons is small (3–6) and is the simplest to explain.
BH (Benjamini-Hochberg) controls the false discovery rate and is less conservative than Bonferroni, making it more powerful when the number of comparisons is large. Both are provided on this page for direct comparison.
FAQ
The ANOVA is significant — what now?
ANOVA only answers 'at least two groups differ' — it does not identify which pair. To pinpoint the specific pairs, you need post-hoc pairwise comparisons with multiple-testing correction of p-values; this page chains both steps together. Skipping ANOVA and going straight to pairwise t-tests is wrong: it inflates the overall false-positive rate well above α.
Should I use Bonferroni or BH?
When the number of comparisons is small (3–6), Bonferroni is adequate and the simplest to explain: multiply each p-value by the number of comparisons. When the number of comparisons is large, Bonferroni becomes overly conservative and misses real differences; BH controls the false discovery rate and is more powerful in that setting. Both are provided on this page so you can compare them directly.
What is the F statistic actually measuring?
How many times larger the between-group variation is compared to the within-group random noise. An F close to 1 means they are on the same scale — nothing to report; only a large F indicates that the separation between group means exceeds what noise alone can explain. F is the ratio of two variances, which is also where the name 'analysis of variance' comes from.
What if variances are unequal?
When group sizes are similar, ANOVA is fairly robust to variance inequality. When group sizes differ substantially and variances also differ substantially (this page will warn you in that case), the F-test is unreliable — switch to Welch's ANOVA or the nonparametric Kruskal-Wallis test.
Why do the pairwise comparisons use Welch's t-test rather than pooled variance?
Welch's t-test does not assume equal variances between the two groups being compared, which is the safer choice. Using the pooled MS_within from the ANOVA as the denominator is another common approach (equivalent to Fisher's LSD); it borrows information from all groups and has more degrees of freedom, but requires variance homogeneity. When variances are unequal, Welch's t-test is safer, so this page uses it.
Related tools
Mann-Whitney U and Wilcoxon Signed-Rank Test Calculator
Two-group comparison for skewed or ordinal data: computes U/W statistics, exact or approximate p-values, effect size, and the minimum achievable p for your sample size.
Chi-Square and Fisher's Exact Test Calculator (with OR / RR)
Contingency table independence tests — Pearson chi-square, Yates' correction, and Fisher's exact p-value; OR and RR with confidence intervals for 2×2 tables.
Correlation Coefficient Calculator Online: Pearson, Spearman, and Kendall
Compute all three correlation coefficients with p-values in one step, plus Pearson's 95% CI and r², with automatic warnings for outliers or non-linearity.
Buy me a coffee