Normal Distribution Probabilities, Percentiles & Curves
Calculate Z-Score, PDF, and CDF of a normal distribution. Visualize the bell curve and shaded probability area.
Calculate Z-Score, PDF, and CDF of a normal distribution. Visualize the bell curve and shaded probability area.
Φ(z) is the standard normal CDF, the probability that a standard normal random variable lands at or below z. Everything on this page reduces to evaluating Φ in one of four directions: forward (z → p), inverse (p → z, the percentile), one-tailed (Φ(z) or 1 − Φ(z)), or two-tailed (2·(1 − Φ(|z|))). For non-standard normals, z = (x − μ)/σ moves you onto the standard scale before any of the above runs.
The CDF uses a rational Chebyshev approximation; absolute error stays under 1.5×10⁻⁷, which matches NIST tables to six decimal places. Two practical notes. If your source reports σ² rather than σ, take the square root before entering. Typing 100 when σ is really 10 collapses every tail probability toward 0.5. And on Wald-style confidence intervals built off this CDF: fine for n ≥ 100, but for binomial proportions near 0 or 1 they undercover at small n. Switch to Wilson or Clopper-Pearson there.
Normal distribution probability calculations answer four distinct questions, and selecting the wrong mode returns the wrong number. Before computing anything, match your question to a mode.
The left-tail mode returns cumulative probability from negative infinity up to your threshold. Use this when your question asks "what fraction falls below" or "how many score less than." CDF(x) is the left-tail probability—50% at the mean, approaching 0 far below and 1 far above.
The right-tail mode equals 1 − CDF(x). Use this when you care about values exceeding a limit—defect rates above a tolerance, scores surpassing a cutoff, or claims exceeding a threshold. The right-tail shrinks as x moves above the mean.
The between mode computes CDF(b) − CDF(a) directly. Range questions—"what percentage of parts lie within spec" or "how likely is a reading between 80 and 90"—belong here. Enter both bounds; the calculator subtracts for you.
The two-tail mode sums probability in both extremes—below −|z| and above +|z|. Two-sided hypothesis tests and symmetric confidence intervals require this mode. For z = 1.96 the two-tailed probability is 0.05, placing 2.5% in each tail.
Common mistake: Confusing right-tail with two-tail doubles the error. Right-tail at z = 1.96 is about 2.5%, not 5%. Always confirm which tail structure your problem demands before interpreting results.
The calculator renders an interactive bell curve after you enter μ, σ, and your query value. Shaded regions visualize probability—area under the curve equals probability.
The curve height at any point is the probability density function (PDF). PDF values are densities, not probabilities—units are "probability per unit x." The peak sits at μ, and the curve is symmetric around the mean. Taller and narrower curves indicate smaller σ; flatter and wider curves indicate larger σ.
The shaded region corresponds to your chosen probability mode. Left-tail shades everything from the left edge up to x. Right-tail shades from x out to the right edge. Between-bounds shades the interval from a to b. Two-tail shades both extreme tails simultaneously, leaving the center unshaded.
The numeric result panel shows the exact probability to several decimal places. Cross-check visually: a small sliver of shading should return a small probability, while most of the curve shaded should return a value near 1.
The bell curve chart doubles as presentation material. Screenshot the shaded region for reports, lectures, or documentation. The visual clarifies which portion of the distribution you computed—helpful when explaining results to stakeholders or students.
Any normal distribution can be converted to the standard normal (μ = 0, σ = 1) using z = (x − μ) / σ, and reversed with x = μ + zσ. Both forms produce identical probabilities—only the scale differs.
Use raw x values when your question involves concrete measurements—test scores, weights, dollars, inches. Clients and non-statisticians understand "the probability of scoring below 70" better than "the probability at z = −0.5." Reporting results in original units improves interpretability.
Use z-scores when comparing across different distributions. A student scoring z = 1.2 in Math and z = 0.8 in English performed relatively better in Math, regardless of raw score scales. Z-scores also simplify referencing published critical values—statistics textbooks list z = 1.645, z = 1.96, z = 2.576 for common confidence levels.
The calculator converts automatically. Enter x along with μ and σ, and it computes z. Enter z directly with μ = 0, σ = 1 (or toggle z-mode if available) to skip conversion. Either way, CDF and tail probabilities match—standardization is purely a scaling operation.
Quick check: z = 0 always corresponds to x = μ. A positive z means x lies above the mean; negative z means x lies below. The magnitude tells how many standard deviations away from center.
Percentiles (quantiles) invert the CDF: given a probability p, return the x or z where P(X ≤ x) = p. Use the inverse CDF mode to compute arbitrary percentiles. Below are common critical values you encounter repeatedly in statistics.
| Percentile | z-score | Typical Use |
|---|---|---|
| 50th (median) | 0.000 | Center of distribution |
| 84th | ≈ 1.000 | One σ above mean |
| 90th | ≈ 1.282 | One-sided 90% bound |
| 95th | ≈ 1.645 | One-sided 95% bound |
| 97.5th | ≈ 1.960 | Two-sided 95% CI upper |
| 99th | ≈ 2.326 | One-sided 99% bound |
| 99.5th | ≈ 2.576 | Two-sided 99% CI upper |
For quick mental estimates: 68% of values lie within ±1σ, 95% within ±2σ, 99.7% within ±3σ. Values beyond three standard deviations are rare—less than 0.3% probability—and often flagged as outliers in quality control.
Enter the target probability in inverse CDF mode. The calculator returns the x (or z) cutoff. For the 75th percentile, input 0.75—the result is the value below which 75% of the distribution falls.
Entering incorrect μ or σ invalidates every downstream probability. Check for these common errors before trusting output.
The calculator expects σ (standard deviation), not σ² (variance). If your source reports variance, take the square root first. Entering variance directly inflates spread dramatically—a variance of 100 implies σ = 10, not σ = 100.
For sample means, the relevant spread is the standard error σ/√n, not the population σ. Forgetting to divide by √n widens confidence intervals incorrectly. For individual observations, use σ directly.
Standard deviation must be strictly positive. σ = 0 collapses the distribution to a spike at μ (no randomness), and negative σ is mathematically undefined. The calculator will reject these inputs.
If your parameters imply values below zero for inherently positive quantities (e.g., income, time, weight), the normal assumption may be inappropriate. Consider log-normal or truncated distributions for bounded data. Always sanity-check whether μ ± 3σ produces plausible values.
Edge case: Extremely small σ relative to x − μ pushes z-scores into far tails where CDF rounds to 0 or 1. If you see probability = 0.0000 or 1.0000, confirm your σ is correct before concluding the event is impossible or certain.
CDF(x) is the probability that a randomly drawn value falls at or below x. It equals the shaded area from the left edge of the curve up to x. At the mean, CDF = 0.5—half the distribution lies below, half above.
Compute 1 − CDF(x), or select right-tail mode. If CDF(x) = 0.85, the probability above x is 0.15.
Two-tailed probability counts both extremes—below −|z| and above +|z|. It is roughly double the one-tailed probability for the same |z|. Use two-tailed for symmetric hypotheses ("different from"), one-tailed for directional claims ("greater than" or "less than").
Use the t-distribution when the population σ is unknown and estimated from a small sample (n < 30). The t-distribution has heavier tails, producing wider intervals and larger p-values. As n grows, t converges to normal.
The calculator uses high-precision numerical algorithms accurate to many decimal places—matching R, Python SciPy, and statistical tables. For extremely small tail probabilities (below 10⁻¹⁰), minor rounding may appear, but results are reliable for all practical work.
Verify normality with histograms, Q-Q plots, or formal tests (Shapiro-Wilk, Anderson-Darling). Skewed, heavy-tailed, or bounded data may require transformations or alternative distributions. The calculator assumes perfect normality—results degrade if that assumption fails.
Seven textbook-flavored problems with the work shown. Numerical answers match scipy.stats.norm and standard z-tables to four decimals.
Problem. Find Φ(0.6875), the standard normal CDF at z = 0.6875.
The standard normal CDF has no closed form. Using the relation Φ(z) = 0.5·(1 + erf(z/√2)) with z = 0.6875: z/√2 ≈ 0.4861, and erf(0.4861) ≈ 0.5081, so Φ(0.6875) = 0.5·(1 + 0.5081) ≈ 0.7540. Linear interpolation between table values Φ(0.68) = 0.7517 and Φ(0.69) = 0.7549 lands at the same place.
Linear interpolation works here because the standard normal density is smooth, so over a small interval like [0.68, 0.69] the CDF is nearly linear. For wider intervals or values near extreme percentiles (above z = 3 or below z = -3), interpolation introduces bigger errors and a rational-approximation routine like the one in scipy.stats.norm.cdf is more accurate.
Answer: Φ(0.6875) ≈ 0.7540. Right tail P(Z > 0.6875) ≈ 0.2460.
Problem. Find the 95th percentile of the standard normal: z* such that P(Z ≤ z*) = 0.95.
The inverse CDF Φ⁻¹(0.95). To four decimals it's 1.6449, often rounded to 1.645 in textbooks. This is the critical value for a one-tailed (upper) test at α = 0.05 and for a 90% two-sided confidence interval. Not the same as 1.96, which is the 97.5th percentile.
Answer: z₀.₉₅ ≈ 1.6449. R: qnorm(0.95). Python: scipy.stats.norm.ppf(0.95).
Problem. Find Φ⁻¹(0.975), the 97.5th percentile.
The canonical critical value for a 95% two-sided confidence interval, since 95% of the area sits between z = -1.96 and z = +1.96 (each tail holds 2.5%). The full-precision value is 1.959963984540054, written 1.96 in almost every published paper.
Don't confuse with z₀.₉₅ = 1.6449. The naming convention "97.5th percentile gives a 95% two-sided CI" trips up students every term. Mnemonic: for a 1 − α two-sided interval, look up the (1 − α/2) quantile, not the (1 − α) one.
Answer: z₀.₉₇₅ ≈ 1.9600.
Problem. Find the 99th percentile, Φ⁻¹(0.99).
Used in one-tailed tests at α = 0.01 and in 98% two-sided intervals. To four decimals, 2.3263 (textbooks round to 2.326). For comparison, the 99.5th percentile is 2.5758 (the two-sided 99% CI critical value) and the 99.9th is 3.0902.
Answer: z₀.₉₉ ≈ 2.3263.
Problem. X ~ N(μ = 15.5, σ = 1.72). Find P(14 < X < 16).
Standardize both endpoints. z₁ = (14 − 15.5) / 1.72 ≈ -0.8721, z₂ = (16 − 15.5) / 1.72 ≈ 0.2907. The probability is Φ(z₂) − Φ(z₁). Using symmetry, Φ(-0.8721) = 1 − Φ(0.8721) ≈ 1 − 0.8084 = 0.1916, and Φ(0.2907) ≈ 0.6144. So P = 0.6144 − 0.1916 = 0.4228.
The strict inequality (14 < X < 16) gives the same probability as the closed inequality (14 ≤ X ≤ 16) because X is continuous and a single point has zero probability. That equivalence breaks for discrete distributions like binomial or Poisson, where the difference between < and ≤ is a non-zero PMF value at the boundary.
Answer: P(14 < X < 16) ≈ 0.4228.
Problem. Convert raw score z = 1.453 to its CDF value.
Direct lookup. To four decimals, Φ(1.453) ≈ 0.9269. The right tail is P(Z > 1.453) ≈ 0.0731. As a percentile, 1.453 sits at the 92.69th percentile of the standard normal.
In context: if Z is a standardized exam score, a raw z of 1.453 puts a student above 92.7% of test-takers. Useful for class-rank percentile reporting. Note that z is already standardized, so no μ or σ conversion is needed for the lookup.
Answer: Φ(1.453) ≈ 0.9269.
Problem. X ~ N(100, 15²) (the standard IQ scale). What fraction of the population scores between 70 and 130?
Both bounds are exactly 2σ from the mean. z₁ = (70 − 100) / 15 = -2, z₂ = (130 − 100) / 15 = +2. P(70 ≤ X ≤ 130) = Φ(2) − Φ(-2) = 0.9772 − 0.0228 = 0.9545. The empirical 68-95-99.7 rule rounds this to 95%, but the four-decimal answer is 0.9545.
Answer: ≈ 95.45% of scores fall within ±2σ of the mean.
Normality is the model. Skewed, heavy-tailed, or bounded-below-zero data needs a different distribution. Run a Q-Q plot or Shapiro-Wilk before reporting normal probabilities.
μ and σ treated as known. If you estimated them from sample data with small n, the t-distribution gives more honest tail probabilities. Switch when n is below ~30.
Independence: matters for any inference built off these probabilities. Time-series and clustered data violate it and need specialized models.
Note: Probability outputs are only as good as the parameter estimates feeding them. Garbage in, garbage out. For computation, scipy.stats.norm and Wolfram Alpha both match the rational Chebyshev approximation used here to about 7 decimal places. NIST/SEMATECH e-Handbook §1.3.6.6.1 is the algorithmic reference.
Φ(z) is the standard normal CDF, the probability that a standard normal random variable is at or below z. For Φ(0.6875), the value is about 0.7541, so 75.41% of the distribution sits below z = 0.6875. The closed form is Φ(z) = ½[1 + erf(z/√2)] where erf is the error function. By hand, look it up in a z-table. With software, scipy.stats.norm.cdf(0.6875) and R's pnorm(0.6875) both return 0.7541216 to seven decimals. The inverse Φ⁻¹ takes you the other way: Φ⁻¹(0.7541) ≈ 0.6875.
These are critical values, the z where Φ(z) hits a target probability. Φ(1.645) ≈ 0.95, so 1.645 is the 95th percentile and the one-tailed 5% rejection cutoff. Φ(1.96) ≈ 0.975, so 1.96 cuts off 2.5% in the upper tail and is the two-tailed critical value at α = 0.05. Φ(2.326) ≈ 0.99, the 99th percentile. NIST/SEMATECH e-Handbook §1.3.6.7.1 lists the long-form values to six decimals (1.95996 and 2.32635). They show up everywhere in confidence intervals and one-sided hypothesis tests at common α.
The PDF f(x) = (1/(σ√2π))·exp(−(x−μ)²/(2σ²)) is the height of the bell curve at x. It's a density, not a probability, with units of "probability per unit x." The CDF F(x) is the area under the PDF from −∞ up to x, a true probability bounded by [0, 1]. PDF tells you the relative likelihood of values near x; CDF tells you P(X ≤ x). For probabilities of intervals, integrate the PDF or subtract two CDF values: P(a ≤ X ≤ b) = F(b) − F(a).
The bell curve usually means the standard normal N(0, 1), with mean 0 and standard deviation 1. Any normal N(μ, σ²) has the same bell shape, just shifted by μ and stretched by σ. The transform z = (x − μ)/σ moves any normal to the standard scale, and probabilities are identical between the two as long as you transform the bounds correctly. So the bell curve is a special case of the normal, and "normal distribution" is the more general family. Most calculators and z-tables work in the standard scale internally and convert.
One-tailed right gives p = 1 − Φ(z). For one-tailed left, the formula is just Φ(z). The two-tailed conversion is p = 2 · (1 − Φ(|z|)). For z = 1.96, the two-tailed p is 2 · (1 − 0.975) = 0.05. The same z gives a one-tailed right p of 0.025, exactly half. The factor of two for two-tailed is the part people drop most often. Pre-register which tail before seeing the data; switching after the fact halves your p and is a textbook p-hacking move.
For P(a ≤ X ≤ b), compute Φ(b) − Φ(a) on the standard scale, or convert raw bounds with z₁ = (a − μ)/σ and z₂ = (b − μ)/σ first. Example: with μ = 70, σ = 5, the probability of falling between 65 and 80 is Φ((80−70)/5) − Φ((65−70)/5) = Φ(2) − Φ(−1) ≈ 0.9772 − 0.1587 = 0.8186. Roughly 82% lies in that range. The page handles this directly when you enter both bounds.
Use the standard normal when you already have z-scores from a hypothesis test, a published critical value, or a textbook problem stated in z. Use custom μ and σ when working with raw measurements: test scores N(75, 10²), part dimensions N(50.0, 0.3²), reaction times N(420, 80²). The probabilities are identical, just on different scales. If you started with raw data and have μ and σ in hand, leave them in. You'll lose interpretability if you standardize unnecessarily.
Far in the tails the CDF rounds. Beyond about |z| = 7, the result hits the floating-point floor (around 10⁻¹⁵) and reads as 0 or 1. That doesn't mean the event is impossible or certain. It means the probability is below the precision of the underlying approximation. Before concluding anything from a 0.0000, double-check σ. A small σ relative to (x − μ) is the usual culprit. NIST tables stop near |z| = 6 for the same reason. For extreme tail work, use log-probabilities or asymptotic expansions, not the raw CDF.