What the Z-Score to Percentile and P-Value Calculator does
This calculator turns a z-score into a percentile and a p-value - the area to the left, the area to the right and the two-tailed area - and works backwards from a percentile to the z-score that produces it. It also gives the area between two z-scores, draws the shaded region on the bell curve, and includes a full standard normal table you can read or download.
A z-score says how many standard deviations a value sits from the mean. Turning it into a probability needs the cumulative normal distribution, which has no simple closed form, so printed z tables were the classroom answer for a century. Here the areas are computed to about fourteen decimal places with a published algorithm, so you get the same value a statistics package gives, not an interpolation between table rows.
How to use it
- Choose what you start from: a z-score, a percentile, or two z-scores for the area between them.
- Type the value. Negative z-scores are fine, and you can paste a minus sign copied from a document.
- For a single z-score, choose which area to shade - left of z (the percentile), right of z (an upper one-tailed p-value), both tails (the two-tailed p-value) or the middle.
- Read the big number first, then the tiles, which list every other area for the same z-score so you never need to subtract from 1 by hand.
- If you have a raw score rather than a z-score, open "Have a raw score", enter the value, mean and standard deviation, and the z-score is filled in for you.
Reading the results
The area to the left of z is the proportion of a normal population below that value. Multiply by 100 and it is the percentile: z = 1 is about the 84th percentile, z = 2 about the 98th.
The one-tailed p-value is the area beyond z in the direction your hypothesis predicts. The two-tailed p-value counts both tails, so it is double the smaller tail: z = 1.96 gives 0.025 in one tail and 0.05 in two. Which one you report depends on the hypothesis you set before looking at the data, not on which looks better.
Going the other way, a percentile gives a cut-off. The 95th percentile is z = 1.645; the value that leaves 2.5% in each tail is 1.96. These are the critical values behind 90% and 95% confidence intervals.
Worked example: a test score of 130 when the mean is 100 and the SD is 15
The z-score is (130 - 100) / 15 = 2.00.
The area to the left of z = 2.00 is 0.97725, so the score is at about the 97.7th percentile: roughly 977 of every 1,000 people in a normal population score lower.
The area to the right is 1 - 0.97725 = 0.02275. That is the one-tailed p-value, and doubling it gives the two-tailed p-value 0.0455.
Working backwards, the 90th percentile of the same test is z = 1.2816, so the score needed is 100 + 1.2816 x 15 = 119.2.
Formulas and scoring rules
- Z-score from a raw value
z = (x - mu) / sigma- Percentile (area to the left)
Phi(z) = P(Z <= z) = integral from -infinity to z of exp(-t^2 / 2) / sqrt(2 pi) dtComputed with Hart's algorithm 5666 as published by West (2005); absolute error below 1e-14. Tails are computed directly, not as 1 minus a number close to 1.- One-tailed p-values
p_left = Phi(z); p_right = 1 - Phi(z) = Phi(-z)- Two-tailed p-value
p_two = 2 x Phi(-|z|)- Area between two z-scores
P(a < Z < b) = Phi(b) - Phi(a)- Percentile to z (inverse)
z = Phi^-1(percentile / 100)Acklam's rational approximation (relative error 1.15e-9) refined with one Halley step, which matches R's qnorm to the digits shown. Results are shown to 5 decimal places for areas and 4 for z.
How this differs from the Z-Score Calculator
The existing Z-Score Calculator on a2z.tools takes a raw value, a mean and a standard deviation and gives you the z-score. This page starts where that one stops: from the z-score it gives one- and two-tailed p-values, the inverse from a percentile back to z, the area between two z-scores with the curve shaded, and the complete table. A small raw-score box is included only so you do not need to switch pages for the first step.
Reading a printed z table correctly
Most textbook tables give the area to the left of z. The row holds the units and first decimal, the column the second decimal, so z = 1.96 is row 1.9, column 0.06. On the negative half the column is added away from zero: row -1.2, column 0.05 is z = -1.25, area 0.10565. Some books instead print the area between 0 and z, or the upper tail; if a printed value for z = 1 reads 0.3413 rather than 0.8413, it is the 0-to-z kind and you need to add 0.5.
Limitations: what the result does not prove
- Every number assumes a normal distribution. If the data are skewed or heavy-tailed, a percentile from a z-score can be badly wrong; use the real distribution or the empirical percentile instead.
- A z-score from a sample mean and sample standard deviation is really a t statistic. With small samples, a p-value from the normal curve is too small; use a t distribution.
- A p-value is not the probability that the null hypothesis is true, and a small one does not show that an effect is large or important.
- Percentiles of exactly 0 or 100 correspond to minus and plus infinity and are refused rather than rounded.
Privacy: where your data goes
Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.
Standards and sources
- NIST/SEMATECH e-Handbook of Statistical Methods - 1.3.6.6.1 Normal distribution
- NIST/SEMATECH e-Handbook - 1.3.6.7.1 Cumulative distribution function of the standard normal
- NIST Digital Library of Mathematical Functions - 7.2 Error functions
- OpenStax Introductory Statistics - The standard normal distribution
Frequently asked questions
How do I convert a z-score to a percentile?
Find the area to the left of the z-score under the standard normal curve and multiply by 100. For z = 1.5 the area is 0.93319, so the value is at the 93.3rd percentile. Choose "A z-score", type 1.5 and the percentile is shown with the shaded curve.
What is the p-value for a z-score of 1.96?
The two-tailed p-value is 0.0500 and the one-tailed (upper) p-value is 0.0250. That is why 1.96 is the critical value for a two-sided test at the 5% level and for a 95% confidence interval.
How do I find the z-score for a given percentile?
Use the inverse normal: choose "A percentile" and type it. The 90th percentile is z = 1.2816, the 95th is 1.6449, the 97.5th is 1.9600 and the 99th is 2.3263. Below the 50th percentile the z-score is negative.
What is the area between z = -1 and z = 1?
About 0.6827, or 68.27%. Between -2 and 2 it is 0.9545 and between -3 and 3 it is 0.9973 - the 68-95-99.7 rule. Choose "Two z-scores" to get the area for any pair, in either order.
Should I use a one-tailed or two-tailed p-value?
Use one tail only if, before seeing the data, your alternative hypothesis predicted a direction (greater than, or less than). If any difference would count, use two tails. The two-tailed value is always double the smaller one-tailed value.
Why does my textbook z table give 0.3413 for z = 1?
That table shows the area between the mean and z, not the area to the left. Add 0.5 to get the cumulative value 0.8413 that this calculator, Excel's NORM.S.DIST(z, TRUE) and most software report.
How accurate are these normal distribution values?
The cumulative values come from Hart's double-precision algorithm (absolute error below 1e-14) and the inverse from Acklam's method with a Halley correction (about 1e-15). They agree with published tables to every printed digit and with R or Excel to the digits shown.
Can a z-score percentile be used for data that is not normal?
Only approximately, and sometimes not at all. The conversion is exact for a normal distribution. For skewed data such as incomes or waiting times, rank the actual values to find a percentile instead of converting a z-score.
Last reviewed by the A2Z.Tools team against the sources listed above.