Cramér's V Calculator — Chi-Square Effect Size
Enter a contingency table of counts — or a chi-square value you already have — and get Cramér's V, the standard effect size for association between two nominal variables. You also get χ², degrees of freedom, φ², a bias-corrected V and a plain-English strength verdict, with every step shown. Runs entirely in your browser.
How it works
Cramér's V measures how strongly two categorical (nominal) variables are associated. A chi-square test of independence tells you whether two variables are related; Cramér's V tells you how strongly, on a 0-to-1 scale that is comparable across tables of different sizes. It was defined by Harald Cramér in Mathematical Methods of Statistics (1946).
The calculation starts from the same building blocks as the chi-square test. For an r×c table with grand total n, the expected count in each cell under independence is E_ij = (row i total × column j total) / n, and the Pearson chi-square is χ² = Σ (O − E)² / E summed over every cell (NIST §7.4.3). From there:
- Compute the mean-square contingency φ² = χ² / n. This is the phi coefficient squared, but on its own it can exceed 1 for tables larger than 2×2.
- Divide by k = min(r − 1, c − 1), the smaller of the two reduced dimensions. Dividing by k is exactly what bounds the result in [0, 1] and makes different table shapes comparable.
- Take the square root: V = √(φ² / k). Because the largest possible χ² is n × k, V can never exceed 1 — a value above 1 only ever comes from an arithmetic error or inconsistent inputs.
Interpreting V.The tool uses Cohen's (1988) effect-size benchmarks. Cohen's cut-offs are given for w (0.10 small, 0.30 medium, 0.50 large), and V relates to w through w = V·√df*, where df* = min(r − 1, c − 1). So the thresholds for V are those numbers divided by √df*: for a 2×2 table (df* = 1) they stay 0.10 / 0.30 / 0.50, while for df* = 2 they fall to roughly 0.07 / 0.21 / 0.35. The tool prints the exact thresholds for your table and colour-codes the verdict.
Bias correction. In small samples the ordinary V is biased upward. Bergsma (2013) proposes φ̃² = max(0, φ² − (r−1)(c−1)/(n−1)), shrinks the dimensions to r̃ = r − (r−1)²/(n−1) and c̃ = c − (c−1)²/(n−1), and computes V_corrected = √(φ̃² / min(r̃−1, c̃−1)). This corrected value is slightly smaller and is the better estimate for small n; the tool shows it alongside the classic V.
For a 2×2 table the tool cross-checks V against the phi coefficient φ = |ad − bc| / √((a+b)(c+d)(a+c)(b+d)), a formula that never touches the chi-square path — so agreement is a genuine second opinion. The chi-square p-value is shown for context only: with a large sample a trivially small V can still be statistically significant, so significance is not the same as effect size.
Worked examples
Frequently asked questions
Sources & references
- Cramér, H. (1946). Mathematical Methods of Statistics — §21.9 (definition of V)
- NIST/SEMATECH e-Handbook §7.4.3 — expected counts and chi-square for independence
- Bergsma, W. (2013). A bias correction for Cramér's V and Tschuprow's T
- SciPy — scipy.stats.contingency.association (parity cross-check)
The formulas on this page were last cross-checked against these sources and reconciled with SciPy on 2026-07-09. Cohen's effect-size benchmarks are from Statistical Power Analysis for the Behavioral Sciences (2nd ed., 1988).
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Found a bug, edge case, or want to suggest an improvement?
Email me at [email protected] — most fixes ship within 24 hours.