How to calculate a z-score

A z-score tells you how many standard deviations a value is from the mean. It takes one subtraction and one division, and it lets you compare results on completely different scales.

By Ahmad Saleem, M.Sc. Mathematics & Statistics · Updated

Skip the manual work Use the free z-score calculator Find how many standard deviations a value sits from the mean, plus its percentile.

The z-score formula

z = x − μσ

  • x is the value you're looking at
  • μ is the mean of the group it comes from
  • σ is the standard deviation of that group

With sample data, use the sample mean and sample standard deviation instead: z = (x − x) / s. The steps are identical.

Step by step

A class's exam scores have a mean of 70 and a standard deviation of 10. You scored 85. What is your z-score?

  1. Subtract the mean: how far above or below average is the value?
    85 − 70 = 15
  2. Divide by the standard deviation: how many standard deviations is that?
    z = 1510 = 1.5

Your score is 1.5 standard deviations above the class average.

Turn the z-score into a percentile

If the scores are roughly normal (bell-shaped), the z-score tells you what share of the class scored below you. Find the area to the left of z = 1.5 under the standard normal curve:

  • In a z-table: row 1.5, column .00 gives 0.9332.
  • In Excel or Google Sheets: =NORM.S.DIST(1.5,TRUE) also returns 0.9332.

So about 93% of the class scored lower: you're at roughly the 93rd percentile.

Z-scores in Excel and Google Sheets

With the value in A2, the mean in B2 and the standard deviation in C2:

D2=STANDARDIZE(A2,B2,C2)
ABCDE
1ScoreMeanSDzPercentile
28570101.50.9332
STANDARDIZE does (x − mean) / SD. E2 holds =NORM.S.DIST(D2,TRUE) for the percentile.

To give every value in a column its z-score, compute the mean and standard deviation once and lock them with $ signs:

  • =STANDARDIZE(A2,AVERAGE($A$2:$A$31),STDEV.S($A$2:$A$31)), then fill it down the column.
  • Or simply =(A2-AVERAGE($A$2:$A$31))/STDEV.S($A$2:$A$31).

Compare scores on different scales

Z-scores really earn their keep when two numbers aren't directly comparable. Say you scored 1,250 on the SAT (mean 1,050, SD 200) and a friend scored 27 on the ACT (mean 21, SD 5.5):

  • Your SAT: z = (1,250 − 1,050) / 200 = 1.00
  • Your friend's ACT: z = (27 − 21) / 5.5 = 1.09

Relative to other test-takers, your friend did very slightly better, even though 27 looks nothing like 1,250. (These means and SDs are round illustrative figures; use the current published norms for real comparisons.)

How to interpret a z-score

  • z = 0: exactly average.
  • Between −1 and 1: typical; about 68% of values fall here in a normal distribution.
  • Beyond ±2: unusual; only about 5% of values are this far out.
  • Beyond ±3: rare, about 0.3%. Check whether it's an error or a genuine outlier.

These benchmarks come from the 68-95-99.7 rule and assume the data are roughly bell-shaped. For skewed data, the z-score still measures distance from the mean, but its percentile can be off.

To skip the arithmetic, the z-score calculator gives the z-score, percentile and tail areas with a shaded normal curve.

Frequently asked questions

Can a z-score be negative?

Yes. A negative z-score means the value is below the mean; z = −1.2 is 1.2 standard deviations below average. Only the size tells you how far; the sign tells you which side.

What is a good z-score?

It depends on whether higher is better. For a test score, z = 1 beats about 84% of people and z = 2 about 98%. For something like a defect rate, a negative z is the good one. In general, |z| above 2 is unusual and above 3 is rare.

Do I use the population or sample standard deviation?

Use the population mean and standard deviation (μ and σ) when they are known, such as published test norms. If you only have your own sample, use its mean and its sample standard deviation (STDEV.S in Excel). The formula is the same either way.

How do I convert a z-score to a percentile?

Find the area to its left under the standard normal curve and multiply by 100. In Excel or Google Sheets that is =NORM.S.DIST(z,TRUE)*100; on paper, look it up in a z-table. z = 1.5 gives 93.32, so the value is at about the 93rd percentile.