How to Find the Confidence Level From a Z-Score

To find a confidence level from a z-score, you calculate the total area under the standard normal curve between the negative and positive values of that z-score. For a two-tailed confidence interval, this means finding the probability that falls between -z and +z. The result, expressed as a percentage, is your confidence level.

The Core Formula

A z-score (also called a critical value) marks how many standard deviations from the center of a normal distribution you’re willing to go. The confidence level is simply the percentage of the distribution captured between -z and +z. Mathematically, you’re computing the cumulative normal distribution from -z to +z.

Here’s the logic in plain terms. The cumulative distribution function (CDF) for a z-score tells you the probability that a value falls below that point on the bell curve. If you find the CDF at your positive z-score and subtract the CDF at the negative z-score, the difference is your confidence level. Because the normal distribution is symmetric, this simplifies to: take the CDF at your z-score, subtract 0.5, double it, and you have the confidence level as a decimal.

For example, the CDF at z = 1.96 is about 0.975. Subtract 0.5 to get 0.475, double it to get 0.95, and you have a 95% confidence level. That’s why 1.96 is the most commonly referenced critical value in statistics.

Common Z-Scores and Their Confidence Levels

Most statistics courses and textbooks rely on the same handful of pairings. Memorizing these saves time and gives you quick reference points:

  • z = 1.645 → 90% confidence level
  • z = 1.96 → 95% confidence level
  • z = 2.33 → 98% confidence level
  • z = 2.575 → 99% confidence level

If your z-score doesn’t match one of these standard values, you’ll need a z-table or software to convert it.

Using a Z-Table by Hand

A standard normal distribution table (z-table) lists z-scores along the rows and columns, with the body of the table showing the area to the left of that z-score. To find a confidence level from a z-score using this table:

First, locate your z-score in the table. The rows typically show the ones and tenths digit (like 1.9), and the columns show the hundredths digit (like 0.06). For z = 1.96, you’d find row 1.9 and column 0.06. The value in that cell is the left-tail area, which should be approximately 0.9750.

Next, calculate the area in both tails combined. Since the table gives you the area to the left of your positive z-score, the right tail beyond +z is 1 minus that value: 1 – 0.9750 = 0.0250. By symmetry, the left tail beyond -z is also 0.0250. The total tail area (called alpha) is 0.0250 + 0.0250 = 0.05.

Finally, subtract the total tail area from 1 to get the confidence level: 1 – 0.05 = 0.95, or 95%. Alternatively, you can skip straight to this by taking the table value, subtracting the left-tail complement (1 minus the table value) from the table value itself: 0.9750 – 0.0250 = 0.95.

One-Tailed vs. Two-Tailed Calculations

The calculation above assumes a two-tailed scenario, which is standard for confidence intervals. In a two-tailed setup, the alpha (the area outside the confidence region) is split equally between both ends of the bell curve. A 95% confidence level has 2.5% in each tail.

For a one-tailed test, all of the alpha sits in just one tail. This changes the relationship between z-scores and confidence levels. A z-score of 1.645 corresponds to a 90% confidence level in a two-tailed context, but it corresponds to a 95% confidence level in a one-tailed context, because the single tail beyond 1.645 contains exactly 5% of the distribution.

The practical rule: if you’re working with a one-tailed z-score, look up the CDF for your z-score in the table. That single value (for a right-tailed scenario) already represents your confidence level directly. For example, the CDF at z = 1.645 is about 0.95, so the one-tailed confidence level is 95%. For a two-tailed confidence level with the same z-score, the result is 90% because you lose area from both ends.

Using Excel or Google Sheets

Spreadsheet software makes this conversion straightforward. The function you need is NORM.S.DIST, which returns the cumulative area to the left of a given z-score in a standard normal distribution.

For a two-tailed confidence level, enter this formula (using z = 1.96 as an example):

=NORM.S.DIST(1.96, TRUE) - NORM.S.DIST(-1.96, TRUE)

This returns approximately 0.95, or 95%. The TRUE argument tells the function to use the cumulative distribution rather than the probability density at a single point. Because the normal distribution is symmetric, you can also use a simplified version:

=2 * NORM.S.DIST(1.96, TRUE) - 1

This works because doubling the left-tail area and subtracting 1 removes the duplicate counting of the left half of the curve. Both formulas give the same result. Google Sheets uses the identical function name and syntax.

Using Python

In Python, the scipy.stats library provides the same cumulative distribution function. Import the normal distribution and call its cdf method:

from scipy.stats import norm
confidence = norm.cdf(1.96) - norm.cdf(-1.96)

This returns 0.9500, confirming a 95% confidence level. You can also write it as 2 * norm.cdf(1.96) - 1 for the same result. To convert any z-score, just replace 1.96 with your value.

If you want to check the tail probability instead, you can use the survival function. Calling norm.sf(1.96) returns approximately 0.025, which is the area in the right tail. Double that to get the total alpha (0.05), then subtract from 1 to get the confidence level.

Working Backward From Alpha

Sometimes you’ll encounter the significance level (alpha) instead of a z-score. The relationship is simple: confidence level = 1 – alpha. If alpha is 0.05, the confidence level is 95%. The z-score associated with that confidence level is the value where the tails beyond it contain exactly alpha worth of area.

For a two-tailed test, each tail contains alpha/2. So for alpha = 0.05, each tail holds 0.025. The z-score where the right tail starts at 0.025 is 1.96. In Excel, you can find this z-score with =NORM.S.INV(1 - 0.025), which returns 1.96. In Python, the equivalent is norm.ppf(1 - 0.025). These inverse functions are useful when you need to go from a desired confidence level to the z-score, rather than the other direction.