How many standard deviations out — and whether the percentile means anything.
How many standard deviations out — and what that is worth
Standardise against your own data, or against a known mean and SD.
(78.00 − 67.33) ÷ 8.85
1.2059
This value sits 1.21 standard deviations above the mean. A normal distribution would put that at the 88.6th percentile; in your actual data it is at the 88.9th.
z
1.2059
standard deviations from the mean
Normal percentile
88.6%
if the data were normal
Actual percentile
88.9%
share of YOUR data at or below
Beyond ±|z|
22.78%
normal two-tailed area
The two percentiles agree to within 0.3 points, so the normal reading is a reasonable approximation for this data.
What this tool shows
Every z-score calculator prints a percentile from the normal table. That percentile is only true if your data is normal — so this one also prints the share of your actual observations below the value, and warns you when the two disagree. On the salaries preset they differ by 27 points.
A z-score from your data or from μ and σ
The normal-table percentile it implies
The share of your data actually below it
A warning when those two disagree
Two-tailed area beyond ±|z|
Why |z| > 3 cannot happen on small samples
Normal vs actual percentile Flags non-normal data Data or known parameters Chebyshev bound included
The z-score is always right; the percentile attached to it may not be.
Updated 7 September 2026 · Works in any browser, no installation
z = (x − mean) ÷ standard deviation. It answers one question exactly: how many standard deviations from the centre is this value? Everything else usually attached to it — percentiles, probabilities, “how unusual” — needs an extra assumption that is often untrue.
At a glance
Formula shown
z = (x − μ) / σ for a population, or (x − x̄) / s for a sample. The transformed values have mean 0 and standard deviation 1 by construction, whatever the original units were.
Scenario support
Comparing scores from tests with different scales; flagging unusual observations; standardising features before clustering or regression; converting a measurement into a percentile — when the distribution supports it.
Educational estimate
Planning support from the values you enter — not professional advice.
What a z-score is measuring
A z-score answers a comparison question that raw numbers cannot.
Suppose you scored 78 on one test and 82 on another. Which was better? Unanswerable as stated. If the first test averaged 65 with a standard deviation of 10 and the second averaged 80 with a standard deviation of 2, then the first score is 1.3 standard deviations above average and the second is 1.0. The lower raw mark was the stronger performance.
That is the whole job: putting differently-scaled measurements onto one axis by expressing each as a distance from its own mean, measured in its own standard deviations.
Because it is a distance in units of spread, a z-score is dimensionless. The units cancel. A height in centimetres and a weight in kilograms both become plain numbers, which is exactly what makes them comparable — and exactly why a z-score on its own tells you nothing about the original quantity.
Standardising a whole dataset gives it mean 0 and standard deviation 1 by construction. Not approximately: exactly, for any data at all.
Standardising is not normalising
This is the misunderstanding the page exists for, and it is encouraged by the vocabulary: people say “normalise the data” when they mean “standardise”, and the word “normal” does the rest.
Subtracting the mean and dividing by the standard deviation is a linear transformation. It shifts and rescales. It cannot bend a distribution into a different shape, any more than converting Celsius to Fahrenheit changes what the weather was.
So if your data was skewed, the z-scores are skewed by exactly the same amount — skewness and kurtosis are both unchanged by standardising. If it was bimodal, the z-scores are bimodal. The centre and the spread move; nothing else does.
Which matters because of what people do next. “z = 2, so this is the 97.7th percentile” reads that number off the normal distribution’s table. If the data is not normal, the z-score is still exactly right and the percentile is simply wrong.
The tool shows this rather than describing it. Load the salaries preset: a salary of 72,000 has a z of about 0.39, which the normal table reads as the 65th percentile. In that actual dataset it is the 92nd — it beats eleven of twelve values. A gap of 27 percentage points, from a rule applied where it does not hold. Then load two groups: there the normal reading is 30 points wrong, on a value that sits exactly at the median.
On the exam marks preset, which is roughly symmetric, the two agree to within half a point. The rule is not useless — it just has a precondition, and the precondition is checkable.
The bound nobody mentions
A widely repeated rule says a value with |z| greater than 3 is an outlier. On small samples that rule cannot fire at all, for a reason that is pure arithmetic.
When the standard deviation is computed from the same sample, an extreme value inflates the very denominator that is meant to expose it. Push one observation further out and s grows with it, so z climbs towards a ceiling instead of rising without limit.
That ceiling has an exact value: (n − 1) ÷ √n.
At n = 5 the largest possible |z| is 1.79. At n = 10 it is 2.85. So in a sample of ten,no value can ever have |z| > 3, no matter how absurd it is — put one observation at a billion and the rest at zero and you still get 2.85. The rule reports no outliers because it mathematically cannot report one.
Ten is the last sample size where that holds: at n = 11 the ceiling is 3.02 and the rule becomes possible, barely. You need roughly n = 12 before “|z| > 3” is a test rather than a guarantee, and considerably more before it is a sensible one.
The practical consequence: on small samples use theinterquartile-range fences instead. They are built from quartiles, which an extreme value cannot inflate, so they do not have this failure mode. This page asserts the (n − 1)/√n bound against a constructed worst case in its verification suite, because a claim this specific should not be taken on trust.
When you need t rather than z
There is a second assumption hidden in the usual z-score workflow, separate from normality.
The z-table assumes you know the population standard deviation σ. Almost nobody does. What you have is s, estimated from the same sample — and s carries its own error, which the z-table does not account for.
Student’s t distribution exists for exactly this. It looks like the normal but with heavier tails, and the extra weight in the tails is precisely the extra uncertainty from estimating σ. It has one parameter, the degrees of freedom, which is n − 1.
The gap is largest on small samples and vanishes on large ones. For a 95% interval the multiplier is 1.96 with a known σ; using an estimate it is 2.78 at n = 5, 2.26 at n = 10, 2.04 at n = 30, and 1.98 at n = 100. Past about n = 30 the difference stops mattering for most purposes, which is where the familiar rule of thumb comes from.
The useful summary: a z-score is always a fine descriptive statistic, whatever n is. It is when you convert it into a probability or a confidence interval on a small sample that t is the correct distribution and z is optimistic.
What holds for any distribution at all
Given that the normal reading can be badly wrong, is there anything you can say about a z-score without knowing the shape? Yes, and it is a genuinely useful fallback.
Chebyshev’s inequality: for any distribution whatsoever, at least 1 − 1/k² of the data lies within k standard deviations of the mean.
At k = 2 that is at least 75%. At k = 3, at least 88.9%. At k = 4, at least 93.75%. No assumption about shape, symmetry, tails or anything else — it holds for skewed data, bimodal data, anything with a finite variance.
Compare that with the empirical rule for normal data: 68% within one SD, 95% within two, 99.7% within three. Chebyshev’s 75% against the normal’s 95% at k = 2 shows what the normality assumption is actually buying you — a great deal of precision, at the cost of being wrong when it does not hold.
Chebyshev is a bound, not an estimate. It says “at least”, and for most real data the true proportion is far higher. It is worth reaching for when you need a guarantee rather than a good guess: a claim that survives whatever shape the data turns out to have.
Where z-scores are actually used
Four settings, with the caveat that applies to each.
Standardised testing. IQ scales, SAT sections and similar are built by computing z-scores against a reference population and rescaling to a friendlier range — IQ to mean 100 with SD 15, so an IQ of 130 is exactly z = 2. The percentile is meaningful here precisely because those scales are constructed to be normal.
Machine learning. Standardising features before k-means, PCA, SVMs or any distance-based method stops a variable measured in thousands from dominating one measured in units. Note that this is a case where the shape genuinely does not matter — the point is putting features on a comparable scale, not attaching probabilities.
Process control. Manufacturing control charts flag a process when a measurement passes three standard deviations from target. The rule works because the sigma is estimated from a long, stable history rather than from the handful of points being tested.
Finance. Returns expressed in standard deviations are routine, and this is the clearest cautionary case: financial returns have famously heavy tails, so events the normal model calls once-in-a-century turn up every few years. The z-score is not wrong; the normal probability attached to it is.
Method. The z-score uses the sample standard deviation (n − 1) when you supply data, matching Excel and R. The normal percentile comes from Φ(z) via an Abramowitz-Stegun error function accurate to about 1.5 × 10⁻⁷, which is far finer than the one decimal place displayed. The “actual percentile” column is a plain count of observations at or below the value — no curve, no interpolation — which is what makes the comparison meaningful. The (n − 1)/√n ceiling is asserted against a constructed worst case at seven sample sizes rather than quoted from the algebra, and the claim that n = 10 is the last size where |z| > 3 is unreachable was off by one in an earlier draft until that assertion caught it. The three presets’ labels each state how far the normal reading strays, and each of those figures is asserted too. That engine is verified on every change against 44 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
Standard DeviationSample and population standard deviation, plus variance, mean, median, quartiles, z-scores, outliers, and confidence intervals.
VarianceSample and population variance from your data, with a live simulation that shows exactly how much the wrong divisor costs — 20% low at n = 5, closing as the sample grows.
PercentileThe value at any percentile and the percentile rank of any value, with all nine standard methods — and the round trip that shows the two directions are not inverses.
Mean, Median and ModeAll three centres marked on your own data, every mode rather than just the first, and the mean-median gap read as a direct measure of skew.
IQRInterquartile range, the 1.5 × IQR outlier fences, and exactly which values fall outside — with a slider that corrupts one value so you can watch the range move while the IQR does not.
QuartileQ1, Q2 and Q3 by all eleven conventions in common use — Excel, R, Tukey hinges and the TI-84 rule — with a warning when they disagree.
An educational tool. The percentile attached to a z-score assumes a normal distribution; where your data allows it, this page checks that assumption rather than making it silently.
Published a z-score calculator that prints the normal-table percentile beside the share of the reader's own data actually below that value, and warns when they diverge. On the salaries preset the normal reading is 27 points wrong; on the bimodal preset, 30.
States the ceiling on a sample z-score, (n-1)/root-n, which makes the popular 'absolute z above 3 is an outlier' rule impossible to trigger at n of 10 or fewer. An earlier draft said eleven; the assertion against a constructed worst case caught it.
Separates the two assumptions usually bundled together: normality, which the percentile needs, and a known sigma, which is what Student's t exists to relax.
Add this calculator to your site
Responsive embed — and private: nothing your visitors type leaves their browser.