How to Calculate a Z-Score and Turn It Into a Percentile

A z-score counts how many standard deviations a value sits from the mean. Learn the formula, how to read it as a percentile and where it breaks down.

A z-score tells you how many standard deviations a value is above or below the mean: z = (x − μ) ÷ σ. On a test with a mean of 500 and a standard deviation of 100, a score of 650 has z = (650 − 500) ÷ 100 = 1.5. If scores are normally distributed, that z-score places it at about the 93rd percentile, higher than roughly 93% of test takers.

Z-scores put values from different scales on one common ruler. That makes them useful for comparing results from different tests, flagging outliers, and finding probabilities from the normal distribution.

The z-score formula

For a population with known mean μ and standard deviation σ:

z = (x − μ) ÷ σ

For a sample, use the sample mean and sample standard deviation:

z = (x − x̄) ÷ s

Steps

  1. Subtract the mean from the value. This is the deviation.
  2. Divide by the standard deviation.
  3. Read the sign (above or below the mean) and the size (how far).

If you need the standard deviation first, see how to calculate standard deviation by hand or use the standard deviation calculator.

Reading a z-score

z-score Meaning
0 Exactly at the mean
+1 One standard deviation above the mean
−0.5 Half a standard deviation below the mean
±2 Unusual; outside about 95% of normal data
±3 Very unusual; outside about 99.7% of normal data

Converting a z-score to a percentile

When data follow a normal (bell-shaped) distribution, each z-score corresponds to a fixed cumulative probability, the share of values below it.

z Percent below z Percent below
−3.0 0.13% 1.0 84.13%
−2.0 2.28% 1.28 89.97%
−1.5 6.68% 1.5 93.32%
−1.0 15.87% 1.645 95.00%
−0.5 30.85% 2.0 97.72%
0.0 50.00% 2.326 99.00%
0.5 69.15% 3.0 99.87%

In Excel or Google Sheets, =NORM.S.DIST(1.5,TRUE) returns 0.9332. The z-score calculator converts both ways and shades the area under the curve.

Probabilities between and above values

Using the same test (mean 500, SD 100):

Below 420: z = (420 − 500) ÷ 100 = −0.8 → 21.19% of scores are lower

Above 650: z = 1.5 → 1 − 0.9332 = 6.68% score higher

Between 450 and 600: z from −0.5 to 1.0 → 0.8413 − 0.3085 = 53.28%

The area between z = −1 and z = 1 is 68.27%, which is where the “68” in the 68–95–99.7 rule comes from. The normal distribution calculator finds any of these areas directly.

Working backward: from a percentile to a value

To find the score that marks a given percentile, look up the z-score for that percentile and rearrange the formula:

x = μ + z × σ

What score is needed to reach the 90th percentile?

The z-score with 90% below it is 1.2816

x = 500 + 1.2816 × 100 ≈ 628

In a spreadsheet, =NORM.S.INV(0.9) returns 1.2816, and =NORM.INV(0.9,500,100) returns the score directly. Common landmarks: the 25th and 75th percentiles are at z = ±0.674, and the 95th is at z = 1.645.

Comparing scores from different tests

Raw scores from different tests are not directly comparable, but z-scores are.

Student Score Class mean Class SD z-score
Ava (biology) 82 74 6 (82 − 74) ÷ 6 = 1.33
Ben (history) 88 80 10 (88 − 80) ÷ 10 = 0.80

Ben’s raw score is higher, but Ava did better relative to her class. Her score is 1.33 standard deviations above average, roughly the 91st percentile, while Ben’s is at roughly the 79th. Standardized test scales, such as IQ scores (mean 100, SD 15), are built on exactly this idea.

Z-scores for sample means

When the question is about an average of n observations rather than a single value, divide by the standard error instead of the standard deviation:

z = (x̄ − μ) ÷ (σ ÷ √n)

A single score of 530 on the test above is unremarkable (z = 0.3). But a class of 25 students averaging 530 gives z = (530 − 500) ÷ (100 ÷ 5) = 1.5, because averages vary much less than individual scores. This version of the z-score is the basis of the z-test; see what is a p-value for how it becomes a significance test.

Using z-scores to find outliers

A common rule flags values with |z| > 3 as potential outliers. Under a normal distribution, only about 0.27% of values fall that far out, roughly 1 in 370. Some fields use |z| > 2 or 2.5 for a stricter screen.

Be careful with small data sets: one extreme value inflates both the mean and the standard deviation, which shrinks its own z-score and can hide it. The interquartile range method is more robust in that situation; the outlier calculator runs both tests side by side, and how to find quartiles and the IQR explains the IQR rule.

Standardizing a whole data set

Converting every value in a data set to a z-score is called standardizing. The result always has a mean of 0 and a standard deviation of 1, whatever the original units. For five commute times of 22, 25, 19, 30 and 24 minutes (mean 24, sample SD 4.06), the z-scores are −0.49, 0.25, −1.23, 1.48 and 0. The 30-minute day stands out at nearly 1.5 standard deviations above average.

Standardizing is routine before combining measurements on different scales, such as height in centimeters and weight in kilograms, so that one variable does not dominate simply because its numbers are bigger. In a spreadsheet, =STANDARDIZE(x, mean, sd) returns the z-score for a single value.

When z-scores mislead

  • Skewed data. For incomes or waiting times, z = 2 might be the 90th percentile rather than the 97.7th. Compute the z-score for distance, but get the percentile from the data itself with the percentile calculator.
  • Small samples. With an estimated standard deviation from a few values, use the t-distribution for probabilities.
  • Mixing population and sample formulas. Use σ when the full population’s spread is known, s when it is estimated.

Used with these caveats, z-scores are one of the most versatile tools in statistics: one subtraction, one division, and any value can be compared with any other.

Frequently asked questions

What is the formula for a z-score?

z = (x − μ) ÷ σ, where x is the value, μ is the mean and σ is the standard deviation. For a score of 650 on a test with mean 500 and standard deviation 100, z = (650 − 500) ÷ 100 = 1.5.

What does a negative z-score mean?

It means the value is below the mean. A z-score of −2 is two standard deviations below average. The sign gives the direction and the size gives the distance.

What is a good z-score?

It depends on whether high values are good. On a test, z = 1 beats about 84% of a normally distributed group and z = 2 beats about 98%. For quality measurements, values near 0 are usually best, and anything beyond ±3 is commonly flagged as unusual.

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

Look up the cumulative probability of the standard normal distribution for that z, from a z-table, a calculator, or NORM.S.DIST(z, TRUE) in Excel. Multiply by 100. For z = 1.5, the cumulative probability is 0.9332, so the value is at about the 93rd percentile.

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

You can always compute a z-score to measure distance from the mean in standard deviations. But converting it to a percentile with the normal table is only accurate when the data is roughly bell-shaped. For skewed data, use the actual percentile rank instead.