New here? Try a worked example

Each button loads real data and picks the matching test | just press Run Analysis to see the result. Explore how the output changes across tests and formats.

t-tests
ANOVA
Correlation
Formats & robustness

Statistical Test Calculator

Paste from Excel or upload a CSV. Both wide (one column per group) and long/tidy (a value column plus a group-label column) layouts are supported, the format is auto-detected, and you can override it below.

1. Input Data

Wide = each column is a group. Long = one value column split by a label column.
0 Rows • 0 Variables

2. Configure Test

Method & References

What each test computes, and how to read it

Every statistic is computed in your browser from its standard definition; the distribution tail probabilities (Student t, central F, χ², normal) come from jStat. The independent-samples default is Welch's t-test, which does not assume equal variances, and every parametric test reports an effect size and, where standard, a 95% confidence interval. Assumptions are checked automatically and a non-parametric alternative is suggested when they fail.

The tests

TestUse whenStatistic & df
Welch's t-test (default)Two independent groups; variances may differ (the common real-world case).t with Welch–Satterthwaite df
Student's pooled t-testTwo independent groups with equal variances (confirm with Levene).t, df = n₁+n₂−2
Paired t-testTwo measurements on the same units (before/after).t on differences, df = n−1
One-way ANOVAThree or more independent groups (also valid for 2, where F = t²).F, df = (k−1, N−k)
Pearson correlationLinear association between two continuous variables.r, t = r√((n−2)/(1−r²))
Mann–Whitney UTwo independent groups when normality fails.U, normal approximation (tie-corrected)
Wilcoxon signed-rankPaired data when the differences aren't normal.W, normal approximation

The Welch–Satterthwaite degrees of freedom are generally non-integer and smaller than the pooled df, which is the price of not assuming equal variances. For two groups the one-way ANOVA reduces exactly to the pooled t-test (F = t²), a useful internal check.

Effect sizes & intervals

A p-value tells you whether an effect is distinguishable from zero, not how big it is. Each test therefore reports a standardized effect size and, where standard, a confidence interval.

TestEffect sizeRough benchmarks
Independent tCohen's d (pooled SD); Hedges' g corrects small-sample bias0.2 small · 0.5 medium · 0.8 large
Paired tCohen's dz = d̄ / sdsame d benchmarks
ANOVAη² (variance explained); ω² is less biased0.01 small · 0.06 medium · 0.14 large
Pearsonr and r² (shared variance)|r|: 0.1 weak · 0.3 moderate · 0.5 strong
Mann–Whitney / Wilcoxonrank-biserial r / z⁄√nsame r benchmarks

The 95% CI for the mean difference uses the same standard error and df as the test. The CI for Pearson's r uses the Fisher z-transformation, which stabilises the variance of r before building a symmetric interval and transforming back. Benchmarks (Cohen) are conventions, not laws, interpret them against your field's typical effects.

Assumption checks

Two automatic checks run alongside each parametric comparison, and the tool tells you when to switch tests.

CheckWhat it testsIf it fails
D'Agostino–Pearson K²Normality, via combined skewness and kurtosis tests (omnibus). Needs n ≥ 8.Use Mann–Whitney (independent) or Wilcoxon (paired).
Levene's test (Brown–Forsythe, median-centred)Homogeneity of variance across groups.Prefer Welch's t / Welch's ANOVA over pooled versions.

The median-centred (Brown–Forsythe) form of Levene's test is more robust to non-normality than the original mean-centred version, which is why it's used here. Normality is assessed per group (or on the paired differences); with n < 8 the K² test is skipped and the tool says so rather than guessing.

APA-style reporting

The publication summary follows APA conventions: test name, descriptives, the test statistic with df, an exact p-value (or p < .001), a confidence interval, and an effect size with its interpretation. Example:

"Welch's independent-samples t-test compared Group A (M = 5.45, SD = 0.52, n = 8) and Group B (M = 6.78, SD = 0.40, n = 8). The difference was statistically significant, t(13.28) = −5.62, p < .001, 95% CI [−1.84, −0.83], Cohen's d = −2.81 (large)."

Leading zeros are dropped from p-values (APA style: p = .032, not 0.032). p-values below .001 are reported as "< .001" rather than a spuriously precise figure. For a significant ANOVA with k > 2 groups, the summary reminds you to run post-hoc pairwise tests (e.g. Tukey HSD) to locate which groups differ.

References

  1. Welch, B. L. (1947). The generalization of "Student's" problem when several different population variances are involved. Biometrika, 34(1–2), 28–35. doi:10.1093/biomet/34.1-2.28.
  2. Student [W. S. Gosset] (1908). The probable error of a mean. Biometrika, 6(1), 1–25.
  3. Fisher, R. A. (1925). Statistical Methods for Research Workers. Oliver & Boyd. (ANOVA, F-distribution, and the z-transformation of the correlation coefficient.)
  4. Cohen, J. (1988). Statistical Power Analysis for the Behavioral Sciences (2nd ed.). Lawrence Erlbaum. (Cohen's d, η², and the small/medium/large benchmarks.)
  5. Hedges, L. V. (1981). Distribution theory for Glass's estimator of effect size and related estimators. Journal of Educational Statistics, 6(2), 107–128. (Small-sample bias correction, "Hedges' g".)
  6. D'Agostino, R. B., & Pearson, E. S. (1973). Tests for departure from normality. Biometrika, 60(3), 613–622. See also D'Agostino, Belanger & D'Agostino (1990), The American Statistician, 44(4), 316–321.
  7. Levene, H. (1960). Robust tests for equality of variances. In Contributions to Probability and Statistics (pp. 278–292). Stanford Univ. Press. Brown, M. B., & Forsythe, A. B. (1974), JASA, 69, 364–367 (median-centred variant).
  8. Mann, H. B., & Whitney, D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. Annals of Mathematical Statistics, 18(1), 50–60. Wilcoxon, F. (1945). Individual comparisons by ranking methods. Biometrics Bulletin, 1(6), 80–83.
  9. American Psychological Association (2020). Publication Manual of the APA (7th ed.). (Statistical reporting conventions.)
  10. jStat, JavaScript statistical library (distribution CDFs and inverse CDFs). jstat.github.io. Formulas typeset with KaTeX.

All computation runs entirely in your browser, your data never leaves your device. Results are a rigorous starting point; for regulatory or high-stakes analyses, confirm in a validated package (R, SciPy, SAS).

Frequently asked questions

Why is Welch's t-test the default instead of the classic Student's t-test?
Because the equal-variance assumption behind the pooled Student's t-test is often violated in real data, and when it is, the pooled test's error rates are wrong. Welch's t-test does not assume equal variances, controls the Type I error rate well across a wide range of conditions, and loses very little power when variances happen to be equal. It's the modern recommended default; the pooled version is still offered for when you've confirmed equal variances.
What changed from a "p-value only" tool?
Three things reviewers now expect: an effect size for every test (Cohen's d, η²/ω², r/r², or a rank-biserial correlation), a 95% confidence interval where one is standard, and automatic assumption checks (normality and equality of variance) that recommend a non-parametric test when needed. The ANOVA is also a genuine k-group analysis rather than a two-column comparison.
What data layouts are supported | wide or long?
Both. Wide format puts each group in its own column (e.g. columns GroupA, GroupB, GroupC). Long / tidy format, the default export from R, pandas and most statistical software, puts all the numbers in one value column and the group labels in another (e.g. value, group). The tool auto-detects which you've pasted; if the guess is wrong, use the Format dropdown to force Wide or Long, and in Long mode pick which column holds the values and which holds the group labels.
How do I run an ANOVA on more than two groups?
Choose "One-Way ANOVA" and the group selector switches to a multi-select, hold Ctrl/Cmd (or Shift) to pick every column that represents a group. Each selected column is treated as one independent group, and the F-test uses df = (k−1, N−k). In long format, every level of your group column automatically becomes a selectable group.
When should I trust the non-parametric tests instead?
When the normality check flags a departure (especially with small samples), or when your data are ordinal or have heavy outliers. Mann–Whitney U replaces the independent t-test; Wilcoxon signed-rank replaces the paired t-test. Both test distributional shift via ranks and make no normality assumption. Here they use a normal approximation, which is accurate for moderate-to-large n; for very small samples, confirm against exact tables.
Why are my p-values reported without a leading zero?
That's APA style, probabilities that can't exceed 1 are written as p = .032, not 0.032. Values below .001 are shown as "< .001" because the exact figure isn't meaningfully precise at that scale.
Is my data sent anywhere?
No. Parsing (PapaParse) and all statistics run locally in your browser. Nothing you paste or upload is transmitted or stored.

Built for reproducible, defensible statistical reporting.