Fisher Z Calculator — Pearson r ↔ Fisher Z Converter
What Is Fisher's Z Transformation?
Pearson's r measures the strength of a linear relationship between two variables, but its sampling distribution is not normal — especially when r is far from zero. Ronald A. Fisher solved this problem in 1915 by deriving a transformation that produces a quantity with an approximately normal distribution regardless of the true population correlation.
That quantity is called Fisher's Z (also written Z' or z'), defined by the formula Z = arctanh(r) = 0.5 × ln[(1 + r) / (1 − r)]. The transformed value Z has a sampling distribution that is approximately normal with mean arctanh(ρ) and standard error SE = 1/√(n − 3), where n is the sample size and ρ is the true population correlation.
Why this matters in practice: Because Z is normally distributed with a known SE, you can construct confidence intervals for ρ and test differences between correlations using standard normal distribution methods. Working directly with r would require more complex procedures because the distribution of r depends on ρ in a non-trivial way.
Fisher's Z-Transformation Table (r = 0.00 to 0.99)
Each row shows a Pearson r value and its corresponding Fisher Z. The table covers r from 0.00 to 0.99 in steps of 0.01. For negative r values, the Fisher Z carries the same negative sign: Z for r = −0.60 is −0.6931. Click any row to load it into the calculator above.
Fisher Z = arctanh(r) = 0.5 × ln[(1+r)/(1−r)]. For negative r, Z takes the same sign. Z is undefined at r = ±1. Table values validated against Fisher, R. A. (1921) and NIST/SEMATECH e-Handbook of Statistical Methods.
Fisher's Z Transformation Formula
Two equivalent forms of the formula exist. Both give the same result — the first is how it is typically written in textbooks, and the second is what software uses internally.
Forward Transformation: Pearson r → Fisher Z
ln is the natural logarithm. arctanh is the inverse hyperbolic tangent. Both formulas are mathematically identical.
Inverse Transformation: Fisher Z → Pearson r
e is Euler's number ≈ 2.71828. tanh is the hyperbolic tangent.
Standard Error of Fisher Z
n = number of paired observations. This SE is constant — it does not depend on r or Z. That is what makes the Fisher Z so practical for inference.
How to Build a Confidence Interval Using the Fisher Z Table
The most common use of the Fisher Z table is constructing a confidence interval for ρ, the true population correlation. The procedure has six steps.
Step 1 — Compute Pearson r
Calculate r from your paired data. r can range from −1 to +1. Any statistics package (R, Python, SPSS, Excel) gives you this directly. The formula is r = Σ[(xᵢ − x̄)(yᵢ − ȳ)] / √[Σ(xᵢ − x̄)² × Σ(yᵢ − ȳ)²].
Step 2 — Convert r to Fisher Z
Look up your r value in the table above, or compute Z = arctanh(r). Software functions:
Step 3 — Compute the Standard Error
SE = 1 / √(n − 3). With n = 52: SE = 1/√49 = 0.1429. With n = 28: SE = 1/√25 = 0.200. With n = 103: SE = 1/√100 = 0.100.
Step 4 — Find Z-Scale Confidence Limits
Multiply SE by the critical value from the standard normal distribution and add/subtract from Z:
z* = 1.96 for 95% CI | z* = 2.576 for 99% CI
Step 5 — Convert Back to Pearson r
R: tanh(Z) | Python: np.tanh(Z) | Excel: =TANH(Z)
Step 6 — Report the Result
State r, n, the confidence level, and the interval in the original r metric. Example: r = 0.60, n = 52, 95% CI [0.42, 0.74]. The interval is asymmetric around r because the tanh function is not linear.
Worked Example 1 — Confidence Interval for Pearson r
Scenario: A psychology researcher finds r = 0.65 between anxiety scores and reaction time in a sample of n = 52 participants. She needs a 95% confidence interval for the true population correlation ρ.
Solution — Step by Step
| Step | Calculation | Result |
|---|---|---|
| 1 | Given r | r = 0.65 |
| 2 | Z = arctanh(0.65) | Z = 0.7753 |
| 3 | SE = 1/√(52−3) = 1/√49 | SE = 0.1429 |
| 4 | Z_L = 0.7753 − 1.96 × 0.1429 | Z_L = 0.4952 |
| 4b | Z_U = 0.7753 + 1.96 × 0.1429 | Z_U = 1.0554 |
| 5 | r_L = tanh(0.4952) | r_L = 0.459 |
| 5b | r_U = tanh(1.0554) | r_U = 0.784 |
| 6 | 95% CI for ρ | [0.46, 0.78] |
Interpretation
With r = 0.65 and n = 52, the 95% confidence interval for ρ is [0.46, 0.78]. Because this interval does not include zero, the correlation is statistically significant at α = 0.05. Notice that the interval is not symmetric around r = 0.65 — the distance to the lower bound (0.65 − 0.46 = 0.19) is smaller than the distance to the upper bound (0.78 − 0.65 = 0.13). This asymmetry is a normal consequence of back-transforming from the Z scale.
Worked Example 2 — Comparing Two Independent Correlations
Scenario: A researcher wants to know whether the correlation between study hours and exam scores differs significantly between male students (n₁ = 40, r₁ = 0.55) and female students (n₂ = 35, r₂ = 0.38). The test is two-tailed at α = 0.05.
Solution — Step by Step
| Step | Calculation | Result |
|---|---|---|
| 1 | Z₁ = arctanh(0.55) | Z₁ = 0.6184 |
| 2 | Z₂ = arctanh(0.38) | Z₂ = 0.3997 |
| 3 | SE_diff = √(1/(40−3) + 1/(35−3)) = √(1/37 + 1/32) | SE_diff = √(0.0270 + 0.0313) = 0.2414 |
| 4 | z = (Z₁ − Z₂) / SE_diff = (0.6184 − 0.3997) / 0.2414 | z = 0.906 |
| 5 | Compare |z| = 0.906 to z* = 1.96 (α = 0.05, two-tailed) | 0.906 < 1.96 → Fail to reject H₀ |
Interpretation
The two correlations (r₁ = 0.55 and r₂ = 0.38) do not differ significantly at α = 0.05. The z-statistic (0.906) falls below the critical value (1.96). The observed difference of 0.17 in r could reasonably arise from sampling variation when the samples are this small. A larger sample would be needed to detect this magnitude of difference with adequate statistical power.
Fisher Z in Meta-Analysis
When combining results from multiple independent studies that each report a Pearson r, researchers convert each r to Fisher Z before averaging. Working directly with r values would produce biased averages because r has a skewed distribution near ±1. Fisher Z values average correctly.
Unweighted Average
Convert all k correlations to Fisher Z values. Compute the mean Z̄ = (Z₁ + Z₂ + ... + Zₖ) / k. Convert Z̄ back to r using r = tanh(Z̄). This gives the unweighted average correlation across studies.
Weighted Average (Preferred)
Weight each Zᵢ by wᵢ = nᵢ − 3, where nᵢ is the sample size of study i. Compute Z̄_w = Σ(wᵢ × Zᵢ) / Σwᵢ. Convert back to r. Studies with larger samples receive more weight, which gives a more precise estimate of the population correlation.
Practical Note on Meta-Analysis Software
R packages metafor and meta perform these conversions automatically. In Python, the pymare library handles Fisher Z pooling. SPSS requires manual transformation using ATANH() before pooling correlations across studies.
How r and Fisher Z Differ Across the Range
The gap between r and Z grows as r approaches ±1. For small correlations, r and Z are close in value. For large correlations, Fisher Z grows much faster than r. This is what corrects the skew in the sampling distribution of r.
| Pearson r | Fisher Z | Z − r (divergence) | Skew of r's sampling distribution |
|---|---|---|---|
| 0.00 | 0.0000 | 0.000 | Symmetric (near-normal) |
| 0.30 | 0.3095 | 0.009 | Mild skew |
| 0.50 | 0.5493 | 0.049 | Moderate skew |
| 0.70 | 0.8673 | 0.167 | Substantial skew |
| 0.90 | 1.4722 | 0.572 | Severe skew |
| 0.99 | 2.6467 | 1.657 | Extremely severe skew |
The Pearson r sampling distribution is symmetric only when ρ = 0. As |ρ| increases, the distribution becomes increasingly skewed because r is bounded by ±1. Fisher Z removes this boundary problem.
Common Mistakes When Using Fisher's Z Transformation
These errors appear frequently in student work and research papers. Each has a specific consequence for the validity of the analysis.
Mistake 1 — Using n − 2 instead of n − 3 in the SE formula
The standard error of Fisher Z is 1/√(n − 3), not 1/√(n − 2). Confusing this with the degrees of freedom used in the Pearson r significance test (df = n − 2) is common. With n = 28, the correct SE is 1/√25 = 0.200. Using n − 2 gives 1/√26 = 0.196 — a small error, but it compounds in confidence interval calculations.
Mistake 2 — Averaging r values directly instead of averaging Z values
The mean of several r values is not an unbiased estimate of the population mean correlation. Fisher Z values must be averaged first, then converted back. For example, averaging r₁ = 0.30 and r₂ = 0.90 gives r̄ = 0.60, but tanh[(arctanh(0.30) + arctanh(0.90))/2] = tanh[(0.3095 + 1.4722)/2] = tanh(0.8909) = 0.713, a substantially different result.
Mistake 3 — Applying the transformation to r = ±1
Fisher Z is undefined at r = ±1 because ln(0) is undefined. In practice, a correlation of exactly ±1 cannot arise from real data unless the variables are perfectly linearly dependent (which would make the correlation trivially obvious). Software will return ±Inf or an error at r = ±1.
Mistake 4 — Reporting the Fisher Z value as if it were a correlation
Fisher Z is not a correlation coefficient. It is unbounded (it can exceed 1 in absolute value, unlike r). Reporting Z = 0.87 as a "correlation of 0.87" is wrong — Z = 0.87 corresponds to r = tanh(0.87) = 0.70. All final results should be reported in the original r metric after back-transformation.
Fisher's Z Transformation vs Related Approaches
Understanding when to use Fisher's Z rather than other correlation methods or test statistics saves time and avoids analytical errors.
| Method | When to Use It | Key Limitation |
|---|---|---|
| Fisher's Z transformation | CI for ρ, comparing two r values, pooling correlations in meta-analysis | Requires bivariate normal data; imprecise with very small samples (n < 10) |
| Pearson r significance test | Testing whether a single r differs from zero | Cannot directly compare two correlations or build CI for ρ |
| Spearman correlation | Ordinal data or when Pearson assumptions are violated | Fisher Z is not directly applicable to Spearman r (different sampling theory) |
| Bootstrap CI for r | When normality assumptions are questionable or samples are small | Computationally intensive; requires software |
| Kendall's tau | Ordinal data with many ties; small samples | Less commonly used; different scale than r; no direct Fisher Z equivalent |
Symbol and Formula Glossary
Every symbol appearing in Fisher Z calculations is defined below. The right-hand column lists the most frequent source of confusion for each symbol.
| Symbol | Name | Definition | Common Confusion |
|---|---|---|---|
| r | Pearson r | Sample correlation coefficient; −1 ≤ r ≤ +1 | Treating r as interchangeable with ρ |
| ρ | Population correlation | True correlation in the full population; unknown; estimated by r | Confusing ρ (rho) with r (sample) |
| Z | Fisher Z | Z = arctanh(r) = 0.5 × ln[(1+r)/(1−r)]; unbounded | Reporting Z as if it were a correlation |
| SE | Standard error of Z | SE = 1/√(n − 3); constant regardless of r | Using n − 2 instead of n − 3 |
| n | Sample size | Number of paired (x, y) observations | Counting individuals instead of pairs |
| z* | Normal critical value | 1.96 (95% CI) or 2.576 (99% CI) from the standard normal distribution | Using t critical instead of z* (Z is already normal) |
| arctanh | Inverse hyperbolic tangent | The function applied to r to get Z; atanh() in R, np.arctanh() in Python, ATANH() in Excel | Confusing with arctan (trigonometric) |
| tanh | Hyperbolic tangent | The inverse function; converts Z back to r; tanh() in R/Python, TANH() in Excel | Forgetting to back-transform after CI calculation |
Fisher Z in R, Python, Excel, and SPSS
Every major statistics package has built-in functions for the Fisher Z transformation. The code below gives the complete confidence interval procedure for each platform.
R — Complete CI Procedure
r <- 0.65
n <- 52
alpha <- 0.05
Z <- atanh(r) # Forward transform
SE <- 1 / sqrt(n - 3) # Standard error
z_crit <- qnorm(1 - alpha/2) # 1.96 for 95% CI
CI_Z <- c(Z - z_crit * SE, Z + z_crit * SE)
CI_r <- tanh(CI_Z) # Back-transform
cat("Fisher Z:", round(Z, 4), "\n")
cat("95% CI for rho:", round(CI_r, 3), "\n")
Python (NumPy / SciPy) — Complete CI Procedure
import numpy as np
from scipy import stats
r = 0.65
n = 52
alpha = 0.05
Z = np.arctanh(r) # Forward transform
SE = 1 / np.sqrt(n - 3) # Standard error
z_crit = stats.norm.ppf(1 - alpha/2) # 1.96 for 95% CI
CI_Z = [Z - z_crit * SE, Z + z_crit * SE]
CI_r = np.tanh(CI_Z) # Back-transform
print(f"Fisher Z: {Z:.4f}")
print(f"95% CI for rho: [{CI_r[0]:.3f}, {CI_r[1]:.3f}]")
Excel — Cell Formulas
| Cell | Formula | Description |
|---|---|---|
| B1 | =ATANH(A1) | Fisher Z (A1 = Pearson r) |
| B2 | =1/SQRT(n-3) | Standard error (n in named cell) |
| B3 | =TANH(B1-1.96*B2) | Lower 95% CI bound for ρ |
| B4 | =TANH(B1+1.96*B2) | Upper 95% CI bound for ρ |
SPSS
In SPSS, use COMPUTE FisherZ = ATANH(r) in the Syntax editor to transform a correlation variable. CI bounds are then computed manually: COMPUTE CI_lower = TANH(FisherZ - 1.96 * (1 / SQRT(n - 3))). SPSS does not have a dedicated Fisher Z confidence interval dialog in standard editions.
Practice Problems with Answers
Work through these problems to test your understanding. Each comes from a different research context to show the range of applications.
Problem 1 — Healthcare (CI Construction)
A health researcher finds r = 0.42 between blood pressure and sodium intake in n = 78 patients. Construct a 95% confidence interval for ρ.
Show Solution
Z_L = 0.4477 − 1.96 × 0.1155 = 0.2213 | Z_U = 0.4477 + 1.96 × 0.1155 = 0.6741
r_L = tanh(0.2213) = 0.218 | r_U = tanh(0.6741) = 0.590
95% CI for ρ: [0.22, 0.59]
Problem 2 — Psychology (Comparing Two Correlations)
Study A (n = 60, r = 0.45) and Study B (n = 80, r = 0.28) both examine the correlation between extraversion and social media use. Do these correlations differ significantly at α = 0.05?
Show Solution
SE_diff = √(1/57 + 1/77) = √(0.01754 + 0.01299) = √0.03053 = 0.1747
z = (0.4847 − 0.2877) / 0.1747 = 0.1970 / 0.1747 = 1.128
|1.128| < 1.96 → Fail to reject H₀. The correlations do not differ significantly.
Problem 3 — Education (Meta-Analysis Average)
Three studies report correlations between feedback quality and student learning: r₁ = 0.35 (n = 45), r₂ = 0.52 (n = 62), r₃ = 0.41 (n = 30). Calculate the weighted average correlation using Fisher Z.
Show Solution
Z̄_w = (42×0.3654 + 59×0.5763 + 27×0.4356) / (42+59+27)
Z̄_w = (15.35 + 34.00 + 11.76) / 128 = 61.11 / 128 = 0.4774
r_avg = tanh(0.4774) = 0.445
Frequently Asked Questions
Can Fisher's Z be applied to Spearman r or Kendall's tau?
The standard Fisher Z procedure assumes that r is a Pearson product-moment correlation from bivariate normal data. Applying it to Spearman or Kendall correlations is technically incorrect because their sampling distributions differ. Some researchers do apply it as an approximation to Spearman r, but this should be noted as a limitation. For rigorous inference on Spearman r, bootstrapping is preferred.
Is Fisher's Z accurate for small samples?
The normal approximation underlying the Fisher Z procedure improves as n increases. With very small samples (n < 10), the approximation is rough and confidence intervals may be inaccurate. A minimum of n = 20–25 is commonly recommended, with n ≥ 50 producing reliable intervals for most values of ρ. For small samples, the bias-corrected bootstrap CI is a more reliable alternative.
What is the minimum n needed for Fisher's Z?
The formula requires n ≥ 4 because SE = 1/√(n − 3) is undefined at n = 3 and produces a very large standard error at n = 4. For practical purposes, the standard recommendation is n ≥ 20 before the normal approximation becomes reliable. APA guidelines suggest reporting confidence intervals alongside r regardless of sample size.
Does Fisher's Z assume bivariate normality?
Yes. The derivation of SE = 1/√(n − 3) assumes that (X, Y) follow a bivariate normal distribution. When this assumption is violated — for example, with ordinal data or heavily skewed variables — the procedure is not strictly valid, though it is often still used as an approximation. Checking for bivariate normality through scatter plots and tests is good practice before applying the Fisher Z method.
How do I test whether r differs from a specific non-zero value?
Convert both the sample r and the hypothesized value ρ₀ to Fisher Z. Then compute z = (Z − Z₀) / SE, where Z₀ = arctanh(ρ₀) and SE = 1/√(n − 3). Compare |z| to 1.96 (α = 0.05) or 2.576 (α = 0.01). This is more accurate than testing r directly against ρ₀ because the Z scale is symmetric and approximately normal regardless of ρ₀.
References & Further Reading
Fisher, R. A. (1915). Frequency distribution of the values of the correlation coefficient in samples from an indefinitely large population. Biometrika, 10(4), 507–521. doi:10.2307/2331838 — The original paper in which Fisher derived the transformation and its sampling distribution.
Fisher, R. A. (1921). On the "probable error" of a coefficient of correlation deduced from a small sample. Metron, 1, 3–32. — Fisher's follow-up paper establishing the z' notation and providing practical tables for confidence intervals.
Cohen, J., Cohen, P., West, S. G., & Aiken, L. S. (2003). Applied Multiple Regression/Correlation Analysis for the Behavioral Sciences (3rd ed.). Lawrence Erlbaum. doi:10.4324/9780203774441 — The standard behavioral science reference for correlation inference including Fisher Z procedures.
NIST/SEMATECH e-Handbook of Statistical Methods (2013). Section 1.3.5.11: Fisher Z Transformation. National Institute of Standards and Technology. itl.nist.gov — Government reference covering the formula, assumptions, and applications of the Fisher Z transformation.
Hedges, L. V., & Olkin, I. (1985). Statistical Methods for Meta-Analysis. Academic Press. — The foundational reference for using Fisher Z in combining and comparing correlations across studies in meta-analysis.
Penn State STAT 505: Applied Multivariate Statistical Analysis. Lesson 7.3 — Testing for Differences Between Two Correlations. Pennsylvania State University. online.stat.psu.edu/stat505/ — Open-access course material covering the Fisher Z comparison procedure with worked examples.
Related Statistical Tables & Resources
What Makes Fisher's Z Transformation Work
Why Pearson r Cannot Be Averaged Directly
Pearson's r is bounded between −1 and +1, and its sampling distribution becomes increasingly skewed as |ρ| approaches 1. Treating r values as if they were normally distributed and averaging them yields biased estimates. The Fisher Z transformation removes the boundary constraint and produces a variable with a symmetric, approximately normal distribution, making averaging and interval estimation valid.
The Variance-Stabilizing Property
The most useful property of Fisher Z is variance stabilization. The variance of r depends on ρ (larger |ρ| means smaller variance), which complicates inference. Fisher Z has variance approximately equal to 1/(n − 3) regardless of the true ρ. This constant variance means a single SE formula applies across all values of ρ, simplifying hypothesis tests and confidence intervals. See the confidence intervals guide on Statistics Fundamentals for related methods.
Historical Context and Ronald A. Fisher
Ronald A. Fisher introduced this transformation in 1915 while working on the sampling distribution of the correlation coefficient, building on the work of Karl Pearson. Fisher showed that the natural logarithm transformation arctanh(r) produces near-normality even for moderate sample sizes. The transformation became a standard tool in behavioral science, psychometrics, and meta-analysis, and remains the standard approach for correlation inference. For the historical development of statistics, the inferential statistics section provides broader context.