Effect sizes and intervals · Calculate
Effect size calculator: mean difference, Cohen's d and Hedges' g with confidence intervals
From means, SDs and group sizes (or a t statistic), get the mean difference with its interval, Hedges' g and Cohen's d with an exact interval, for two groups or paired data.
Calculator
Enter your summary statistics to calculate.
Convert for a meta-analysis or a reviewer (independent groups only)
Use the effect sizes above in your paper; these conversions are for combining with studies that report another measure.
Computed in your browser; nothing you type is sent anywhere. Share links keep the inputs after the # sign, which browsers do not send to any server.
On this page
Quick answer. Enter the means, SDs and group sizes (or a t statistic and the group sizes). The calculator gives the mean difference in your units with its Welch interval first — the number a reader of your paper can interpret — then Hedges’ g (Cohen’s d corrected for small samples) and Cohen’s d with an exact 95% interval for the standardised difference δ. For paired data it gives d_z, the standardised change.
Terms used below. Mean difference: group 1 minus group 2, in the outcome’s own units. Pooled SD: the two groups’ SDs combined, weighted by their degrees of freedom. Cohen’s d: the mean difference divided by the pooled SD. Hedges’ g: d multiplied by a factor just below 1 that removes d’s tendency to overestimate in small samples. δ (delta): the population value that d and g estimate. Noncentral t: the distribution of the t statistic when there is a real difference; inverting it gives the interval for δ. d_z: for paired data, the mean of the differences divided by their SD. d_av: the mean difference divided by the average of the two SDs.
What the numbers mean
Lead with the difference in your units. “ALT rose by 11.0 U/L (95% CI 0.7 to 21.3)” tells a reader how much changed and how precisely you know it. Report that first whenever the units mean something to your readers.
Then add the standardised effect. d and g express the difference in SDs, which lets readers compare studies on different scales and plan sample sizes. Report g with fewer than 20 per group: Lakens (2013) notes that d overestimates in small samples and that it is “preferable (and just as easy) to report Hedges’s g”. The calculator uses the exact correction factor (Hedges 1981); the familiar approximation 1 − 3/(4(n₁ + n₂) − 9) differs from it by at most 1.3% (with 2 per group) and by 0.04% with 6 per group.
Read the interval for δ, not a size label. The interval shows which standardised differences are compatible with your data. The calculator prints no “small, medium, large” label: Cohen’s benchmarks (0.2, 0.5, 0.8) “are arbitrary and should not be interpreted rigidly” (Lakens 2013). Compare your g with effects reported in your own field instead.
For paired data, choose the version for the job. d_z (mean change ÷ SD of the changes) is the one used in paired sample-size calculations and gets the exact interval. It is not comparable with a d from two independent groups. When you need that comparison, use d_av (mean change ÷ average SD), which the calculator shows when you enter both SDs — without an interval, because its uncertainty depends on the correlation between the two measurements.
Do this: report the mean difference with its interval, then Hedges’ g with the interval for δ, and name the version (g, d, d_z or d_av) every time you give a standardised value.
Worked example
Six mice per group; ALT (U/L) in treated mice 58.17 (SD 8.13) and in vehicle mice 47.17 (SD 7.94) — the data of the sample-size response guide, rounded to two decimals as a paper would report them.
| Quantity | Value |
|---|---|
| Mean difference (treated − vehicle) | 11.0 U/L, 95% CI 0.7 to 21.3 (Welch, 9.99 df) |
| Pooled SD | 8.04 U/L |
| Cohen’s d | 1.37 |
| Hedges’ g (exact factor 0.9227 for 10 df) | 1.26 |
| 95% CI for δ (noncentral t, 10 df) | 0.07 to 2.62 |
| Point-biserial r (conversion) | 0.60, 95% CI 0.04 to 0.82 |
| Odds ratio (approximate conversion) | 12.0, 95% CI 1.13 to 116 |
The sentence to write:
Treated − Vehicle: mean difference 11.0 U/L (95% CI 0.7 to 21.3; Welch’s t interval). Hedges’ g = 1.26 (Cohen’s d = 1.37), 95% CI for δ 0.07 to 2.62 (noncentral t); n = 6 and 6.
The interval for δ runs from almost no difference to a very large one: six mice per group pin down that the effect is positive, not how large it is. From the raw data the guide reports, d is 1.368953; the rounded summary statistics give 1.368915, so rounding to two decimals changes d only in the fifth decimal.
Do this: copy the calculator’s sentence into your Results and keep the R or Python code with your analysis files, so a reviewer can reproduce every number.
Before you use it
- Two independent groups or paired? If each animal was measured under both conditions, choose Paired — see paired vs unpaired. The independent-groups d from paired data is wrong, and so is the converse.
- Unequal SDs. When your SDs differ by more than ×2 (or ×1.5 with unequal group sizes — this calculator’s own rule), report the Welch interval for the mean difference as the main result; the calculator also shows Glass’s Δ (difference ÷ control SD) with each group as the control, because Cohen’s d pools the two SDs; the δ interval is then labelled “assumes equal SDs”.
- A t from a paper. Use Student’s (pooled) t: d = t·√(1/n₁ + 1/n₂) (Lakens 2013, eq. 2). A Welch t cannot give the pooled d; enter the means and SDs instead.
- Raw data. Paste the R or Python code into your own analysis and replace the summary statistics, or use
effectsize::hedges_g(x, y)in R. - Conversions. The point-biserial r is exact for your group sizes; the odds ratio is an approximation that assumes the outcome, cut into yes/no, would follow a logistic distribution. Both are behind “Convert”, for meta-analyses and reviewers who ask for them.
Do this: choose the design and the input form that match your paper, then check the flags under the result before you copy anything.
How it is calculated
| Quantity | Formula |
|---|---|
| Welch interval | D ± t₍ν, 1−α/2₎ · √(SD₁²/n₁ + SD₂²/n₂), with ν from the Welch–Satterthwaite formula (Welch 1947) |
| Cohen’s d | D / s_p, s_p = √{[(n₁−1)SD₁² + (n₂−1)SD₂²] / (n₁ + n₂ − 2)} (Lakens 2013, eq. 1) |
| Hedges’ g | J(m)·d, J(m) = Γ(m/2) / [√(m/2)·Γ((m−1)/2)], m = n₁ + n₂ − 2 (Hedges 1981) |
| Interval for δ | [λ_L, λ_U]·√(1/n₁ + 1/n₂), where the noncentral t CDF at the observed t equals 1 − α/2 at λ_L and α/2 at λ_U (Cumming & Finch 2001) |
| d_z (paired) | mean of the differences / SD of the differences = t/√n (Lakens 2013, eqs. 6–7); interval as above with n − 1 df and √(1/n) |
| d_av (paired) | mean difference / [(SD₁ + SD₂)/2] (Lakens 2013, eq. 10) |
| Point-biserial r | d / √(d² + N(N − 2)/(n₁n₂)), N = n₁ + n₂; equal to t/√(t² + df) |
| Odds ratio | exp(d·π/√3) (logistic approximation; Borenstein et al. 2009, ch. 7; Hasselblad & Hedges 1995) |
The noncentral t CDF is Lenth’s algorithm AS 243, the same code as the sample size calculator. The interval is solved with Brent’s method on |t| and reflected, and computed only while |t| and the noncentrality stay within 37.62 and the degrees of freedom are at most 100,000; otherwise the calculator shows it as not computed, and the R and Python code set it to NA. With more than 199 degrees of freedom, J(m) comes from a series that matches the exact value to 10⁻¹³.
Do this: copy the R or Python code to reproduce a result — it uses these formulas and prints every number the calculator shows.
Checked against mpmath and R
77 cases (2 to 100,000 per group, paired designs from 2 pairs, t from 0 to beyond the supported range, confidence levels from 50% to 99.9%) and 567 points of the noncentral t distribution, compared with independent high-precision values from mpmath 1.4.1 and with R version 4.3.3 (2024-02-29) (closed forms, uniroot on pt(), effectsize 0.8.6). A failing check blocks publication.
| Check | Reference | Comparisons | Largest difference | Tolerance |
|---|---|---|---|---|
| Point estimates and Welch df | mpmath | 329 | 6.8 × 10⁻¹⁶ | relative 10⁻¹² |
| Point estimates and Welch df | R closed forms | 166 | 2.6 × 10⁻¹³ | relative 10⁻¹² |
| Point estimates and Welch df | R effectsize | 40 | 2.6 × 10⁻¹³ | relative 10⁻¹² |
| Hedges factor J | mpmath | 80 | 1.3 × 10⁻¹⁵ | relative 10⁻¹³ |
| Welch interval for the difference | mpmath | 42 | 2.5 × 10⁻¹¹ | 10⁻¹² × ( |
| Welch interval for the difference | R closed forms | 42 | 2.5 × 10⁻¹¹ | 10⁻¹² × ( |
| Paired interval for the mean change | mpmath | 15 | 1.1 × 10⁻¹⁴ | 10⁻¹² × ( |
| Paired interval for the mean change | R closed forms | 15 | 1.1 × 10⁻¹⁴ | 10⁻¹² × ( |
| Noncentral-t interval for δ | mpmath | 71 | 1.7 × 10⁻¹⁰ | relative 10⁻⁹ on the noncentrality (10⁻⁸ above 10,000 df); 10⁻⁴ for effectsize |
| Noncentral-t interval for δ | R uniroot on pt() | 71 | 2.4 × 10⁻¹⁰ | relative 10⁻⁹ on the noncentrality (10⁻⁸ above 10,000 df); 10⁻⁴ for effectsize |
| Noncentral-t interval for δ | R effectsize | 53 | 1.7 × 10⁻⁵ | relative 10⁻⁹ on the noncentrality (10⁻⁸ above 10,000 df); 10⁻⁴ for effectsize |
| Noncentral t CDF (used by the interval) | mpmath | 504 | 4.5 × 10⁻¹³ | absolute 10⁻¹² in probability |
| Noncentral t CDF, 10,000 to 100,000 df | mpmath | 63 | 4.3 × 10⁻¹¹ | absolute 10⁻¹⁰ in probability |
| Point-biserial r | R cor() on matching raw data | 40 | 2.3 × 10⁻¹⁵ | relative 10⁻¹² |
The δ interval is computed only while |t| and both limits of the noncentrality stay within 37.62 (the range of R’s pt()) and the degrees of freedom are at most 100,000; outside that range the calculator shows the interval as not computed (the R and Python code set it to NA). Hedges’ g is compared with R only up to 1,000 degrees of freedom, because R’s exp(lgamma(…)) form of the correction loses accuracy beyond that (the calculator’s factor agrees with mpmath at every size). effectsize’s intervals are compared at 10⁻⁴ because its root-finder stops near 10⁻⁵; mpmath and R’s uniroot agree with the calculator to 10⁻⁹. Runs in Node.js (V8) on every change and in headless Chromium; Firefox and Safari were unavailable in the test environment.
Run pnpm test:tools to repeat every check; the reference values are regenerated by scripts/tools/effect_size_reference.py.
Questions a reviewer may ask
- “Why g and not d?” With small groups d overestimates; g removes that bias with Hedges’ exact factor. Both are shown, so you can report either with its name.
- “How was the interval computed?” By inverting the noncentral t distribution, the method of Cumming & Finch (2001); it is exact when both groups are normal with equal SDs.
- “R’s
effectsize::hedges_ggives 0.06 to 2.42 here.” effectsize multiplies the interval limits by Hedges’ factor; this calculator reports the interval for δ itself (0.07 to 2.62), which keeps its stated coverage. Say which one you report. - “Why does R’s
t_to_d()give 1.50?”effectsize::t_to_d(t, df)uses 2t/√df, which assumes equal group sizes and is an approximation; with the group sizes known, d = t·√(1/n₁ + 1/n₂) = 1.37. - “Is your d_z comparable with the literature?” Only with other d_z values. For a between-subject comparison, report d_av as well.
Do this: copy the answer that fits into your response letter and add the numbers from your own result.
Report it
ARRIVE 2.0 item 10b asks for “the effect size with a confidence interval” where applicable. Copy the sentence from the calculator, or adapt:
Independent groups: [Group 1] − [Group 2]: mean difference [D] [units] (95% CI [low] to [high]; Welch’s t interval). Hedges’ g = [g] (Cohen’s d = [d]), 95% CI for δ [low] to [high] (noncentral t); n = [n₁] and [n₂].
Paired: Mean change [D] [units] (95% CI [low] to [high]; paired t, [n] pairs). Cohen’s d_z = [d_z], 95% CI [low] to [high] (noncentral t).
Replace every bracketed item with your own values and name the software version in Methods.
References
- Borenstein M, Hedges LV, Higgins JPT, Rothstein HR (2009). Converting among effect sizes. In: Introduction to Meta-Analysis, ch. 7. Wiley. doi:10.1002/9780470743386.ch7
- Cumming G, Finch S (2001). A primer on the understanding, use, and calculation of confidence intervals that are based on central and noncentral distributions. Educational and Psychological Measurement 61:532–574. doi:10.1177/0013164401614002
- Hasselblad V, Hedges LV (1995). Meta-analysis of screening and diagnostic tests. Psychological Bulletin 117:167–178. doi:10.1037/0033-2909.117.1.167
- Hedges LV (1981). Distribution theory for Glass’s estimator of effect size and related estimators. Journal of Educational Statistics 6:107–128. doi:10.3102/10769986006002107
- Lakens D (2013). Calculating and reporting effect sizes to facilitate cumulative science: a practical primer for t-tests and ANOVAs. Frontiers in Psychology 4:863. doi:10.3389/fpsyg.2013.00863
- Lenth RV (1989). Algorithm AS 243: cumulative distribution function of the non-central t distribution. Applied Statistics 38:185–189.
- Percie du Sert N, et al. (2020). The ARRIVE guidelines 2.0, item 10 (Results). arriveguidelines.org
- Welch BL (1947). The generalization of ‘Student’s’ problem when several different population variances are involved. Biometrika 34:28–35. doi:10.1093/biomet/34.1-2.28
Cite this tool
- APA: Licklider. (2026). Effect size calculator: mean difference, Cohen’s d and Hedges’ g with confidence intervals (Version 1.0) [Web application]. https://www.licklider.ai/tools/effect-size-calculator/
- Vancouver: Licklider. Effect size calculator: mean difference, Cohen’s d and Hedges’ g with confidence intervals [Internet]. Version 1.0. 2026 [cited YYYY Mon DD]. Available from: https://www.licklider.ai/tools/effect-size-calculator/
- BibTeX:
@misc{licklider_effectsize_2026, author = {{Licklider}}, title = {Effect size calculator: mean difference, Cohen's d and Hedges' g with confidence intervals}, year = {2026}, note = {Version 1.0}, url = {https://www.licklider.ai/tools/effect-size-calculator/}}
Changelog. 1.0 (10 November 2026): first release. Last verified 10 November 2026.
How this page was made
- Built and published by Licklider. The formulas follow Lakens (2013), Hedges (1981) and Cumming & Finch (2001); the conversions follow Borenstein et al. (2009) and Hasselblad & Hedges (1995). Each is cited under References.
- Every release is checked automatically against independent high-precision values (mpmath) and R (closed forms, uniroot on pt() and the effectsize package); see 'Checked against mpmath and R'. A failing check blocks publication.
- The specification and the finished calculator were each reviewed independently, in separate review passes, before publication.