Z-Score Calculator

Enter a value, the mean and the standard deviation to get its z-score, its probability and its percentile under a normal distribution. Or paste a data set to standardize every value in it.

Related guides: how to read a z-table for turning z-scores into probabilities by hand, and the empirical rule (68-95-99.7) for the whole-number shortcuts.

How to calculate a z-score

A z-score, or standard score, says how many standard deviations a value lies from the mean. Subtract the mean from the value, then divide by the standard deviation. A positive z-score is above the mean, a negative one is below it, and 0 means the value equals the mean. Because the result has no units, z-scores let you compare values measured on different scales, such as an exam mark and a height.

z = (x − μ) / σ for a population

z = (x − x̄) / s for a sample

x = μ + zσ to go back from a z-score to the value

Probability = P(Z ≤ z) = Φ(z), Percentile = Φ(z) × 100%

The probability and percentile come from the standard normal distribution and are exact to the digits shown, not read from a rounded table. For the reverse direction see the percentile to z-score calculator, and for a fuller table of areas use the z-score to percentile calculator or the z table.

Worked example: an exam score

A student scores 85 on an exam where the mean is 75 and the standard deviation is 5. Entering x = 85, μ = 75 and σ = 5 (this is what Load example fills in) gives:

  1. Subtract the mean: 85 − 75 = 10.
  2. Divide by the standard deviation: 10 ÷ 5 = 2, so z = 2.
  3. Look up the cumulative probability: Φ(2) = 0.97725.
  4. Convert it to a percentile: 0.97725 × 100 = 97.72%.

The student scored two standard deviations above average and beat about 97.7% of test takers; only 2.28% scored higher. The two-tailed p-value, the chance of a score at least this far from the mean in either direction, is 0.0455. A score of 65 works the same way in reverse: z = −2 and a percentile of 2.28%.

Z-scores of a data set

Switch the first selector to a data set to standardize a whole list. The calculator finds the mean and the standard deviation for you, then gives every value its z-score, or just one value if you enter it in the optional field. For the numbers 4, 8, 6, 5 and 12 the mean is 7; the sample standard deviation is 3.162278 and the population standard deviation is 2.828427.

Value (x)x − x̄z, sample (s = 3.162278)z, population (σ = 2.828427)
4-3-0.948683-1.06066
810.3162280.353553
6-1-0.316228-0.353553
5-2-0.632456-0.707107
1251.5811391.767767

Choose the sample option when the numbers are a sample from a larger group, which is the usual case, and the population option when they are every value you care about. Either way the z-scores of a data set average 0 and have a standard deviation of 1, and the largest z-score possible in a sample of n values is (n − 1) ÷ √n, so a z-score of 3 cannot occur in a sample of 10. The standard deviation calculator shows the steps behind s and σ.

What counts as a large z-score?

Distance from the meanShare of a normal distribution beyond itReading
More than 1 standard deviation31.73%Common: about one value in three
More than 2 standard deviations4.55%Unusual: about one value in 22
More than 3 standard deviations0.27%Rare: about one value in 370
More than 4 standard deviations0.0063%Very rare: about one value in 15,800

These shares assume a normal distribution; see the empirical rule and the normal distribution calculator. The z-score itself only needs the mean and standard deviation, but the probability, percentile and p-values are meaningful only when the values are roughly bell-shaped. Outliers also pull the mean and inflate the standard deviation, which makes their own z-scores look smaller than they should.

Software equivalents

Softwarez-score of one valuez-scores of a data set
Excel / Sheets=STANDARDIZE(x, mean, standard_dev)=STANDARDIZE(A2, AVERAGE($A$2:$A$6), STDEV.S($A$2:$A$6))
R(x - mu) / sigmaas.numeric(scale(data))
Python (SciPy)(x - mu) / sigmascipy.stats.zscore(data, ddof=1)
TI-84(x-μ)/σL2 = (L1-mean(L1))/stdDev(L1)

The R and TI-84 versions use the sample standard deviation, like the default sample option here; SciPy divides by n unless you pass ddof=1. To turn the z-score into an area, the TI-84 function is normalcdf.

Frequently Asked Questions

What is the z-score formula?

z = (x − μ) / σ: subtract the mean from the value and divide by the standard deviation. For a sample the mean and standard deviation are x̄ and s. To go back from a z-score to the value use x = μ + zσ.

What does a negative z-score mean?

A negative z-score means the value lies below the mean. For example, z = -1.5 indicates the value is one and a half standard deviations below average. The sign only conveys direction; the magnitude conveys how unusual the value is.

What counts as an unusually high or low z-score?

Under a normal distribution, about 95% of values fall within z = -2 to z = +2, and about 99.7% within -3 to +3. Values beyond |z| = 2 are commonly treated as unusual and beyond |z| = 3 as rare, though the right threshold depends on your field.

How do I calculate a z-score in Excel?

Use =STANDARDIZE(x, mean, standard_dev). For every value in a column, use =STANDARDIZE(A2, AVERAGE($A$2:$A$6), STDEV.S($A$2:$A$6)) and fill it down, or =STANDARDIZE(A2, AVERAGE($A$2:$A$6), STDEV.P($A$2:$A$6)) if the numbers are a whole population.

Should I use the sample or the population standard deviation?

Use the population version (divide by n) when the numbers are every value you care about, and the sample version (divide by n − 1) when they are a sample used to describe a larger group. If the mean and standard deviation come from elsewhere, such as published test norms, enter them directly in the first mode.

What is the difference between a z-score and a t-score?

A z-score assumes the population standard deviation is known. When you only have a small sample and must estimate the standard deviation from it, the t-distribution (and hence a t-score) accounts for the extra uncertainty. With large samples the two converge.

Can I use z-scores if my data is not normally distributed?

You can always standardize data by subtracting the mean and dividing by the standard deviation. However, the probability and percentile this calculator reports assume normality, so for clearly skewed or heavy-tailed data those values will be misleading.

Why does the percentile use the area to the left of my value?

By convention, a percentile states the share of the population at or below a value. The calculator integrates the standard normal curve from negative infinity up to your z-score, which is exactly that left-tail area.

Embed This Calculator

Add this free calculator to your course page or LMS.

Adjust the height value to fit your page.