HomeDescriptive StatisticsNormal Distribution Calculator: Probability, Z Table & Plots

Normal Distribution Calculator: Probability, Z Table & Plots

Normal Distribution Calculator: Probability, Z Table & Plots

Normal Distribution Calculator

Find any normal probability in seconds. Enter a mean and standard deviation, or paste your own data, and get P(X ≤ x), P(X ≥ x), the area between two values, z scores, percentiles, a Shapiro-Wilk normality check and four clear charts, with every step shown.

ProbabilityZ ScoreZ TablePercentilesNormality TestBinomial ApproximationMulti-Group

⚡ 0. Quick Answer

A normal distribution calculator turns a value into a probability. First convert the value to a z score, z = (x − μ) ÷ σ, then read the area under the bell curve to the left of z.

Example: leaf lengths have mean 52.44 mm and SD 4.19 mm. For x = 60, z = 1.80, so P(X ≤ 60) = 0.9643. About 96.4% of leaves are 60 mm or shorter.

z = (x − μ) ÷ σ  →  P(X ≤ x) = Φ(z)

Rule of thumb: 68% of values fall within 1 SD of the mean, 95% within 2 SD and 99.7% within 3 SD. The total area under a normal curve is always exactly 1.

🔑 Key Takeaways

  • A normal distribution calculator needs only 2 numbers: the mean μ and the standard deviation σ.
  • Every normal curve is symmetric, so the mean, median and mode are equal and exactly 50% of values lie below the mean.
  • The z score tells you how many SDs a value is from the mean. z = 1.96 cuts off the top 2.5%.
  • The empirical rule: 68.27% within 1 SD, 95.45% within 2 SD, 99.73% within 3 SD.
  • Before you trust a normal probability for real data, check normality. A Shapiro-Wilk p > 0.05 means no clear evidence against normality.
  • For a binomial count, the normal curve is a good approximation when np ≥ 5 and n(1 − p) ≥ 5, with a 0.5 continuity correction.

📚 1. What Is the Normal Distribution?

The normal distribution is a smooth, bell-shaped curve that describes how many natural measurements spread around their average. Most values sit close to the middle. Fewer values sit far away. The curve falls off the same way on both sides. It is also called the Gaussian distribution or the bell curve.

Normal distribution notation. We write X ~ N(μ, σ²). Read it as "X is normally distributed with mean μ and variance σ²". The mean sets the centre of the curve. The standard deviation σ sets its width. The special case N(0, 1) is the standard normal distribution, and its values are called z scores.

The equation of a normal distribution (its probability density function) is:

f(x) = [1 ÷ (σ√(2π))] × e−(x − μ)² ÷ (2σ²)

The height of this curve is not a probability. Probability is the area under the curve between two points. The total area under any normal curve is exactly 1, which is 100%.

Characteristics of a normal distribution:

  • It is symmetric around the mean, so the mean, median and mode are all equal.
  • It is unimodal: one single peak at μ.
  • The tails never touch the x axis. They get closer forever but never reach zero.
  • The inflection points, where the curve changes from bending down to bending up, are at μ − σ and μ + σ.
  • Skewness is 0 and excess kurtosis is 0.
  • The expected value of a normal distribution is μ, and its variance is σ².
  • The sum of normal distributions is also normal. If X and Y are independent normals, X + Y ~ N(μX + μY, σ²X + σ²Y).

A worked one-liner: leaf length has μ = 52.44 mm and σ = 4.19 mm. A 60 mm leaf has z = (60 − 52.44) ÷ 4.19 = 1.80, and the area to the left of z = 1.80 is 0.9643.

Leaf length: P(X ≤ 60) = 0.964339.8544.0548.2452.4456.6360.8365.02Leaf length (mm), ticks at the mean and ±1, 2, 3 SDx = 60
The normal curve for leaf length, N(52.44, 4.19²). The shaded area to the left of 60 mm is 0.9643. The dotted lines mark 1, 2 and 3 standard deviations from the mean.

Who uses it: doctors use it to set reference ranges for blood tests. Teachers use it to turn raw marks into percentiles. Engineers use it for quality control and tolerance limits. Psychologists scale IQ tests to N(100, 15²). Ecologists use it for body size and measurement error. Finance uses it (with care) for returns. Nearly every t test, ANOVA and regression assumes normal errors.

Why it is everywhere: the central limit theorem says that the mean of many independent small effects tends toward a normal distribution, whatever the shape of each effect. That is why sample means are close to normal even when raw data are not.

Related ideas. A bivariate normal distribution describes two variables that are jointly normally distributed, such as height and weight. It adds a correlation ρ to the two means and two SDs, and its contour lines are ellipses. A non normal distribution is any shape that breaks the bell: skewed, heavy tailed, bounded or with two peaks.

FeatureNormal distributionStandard normal distributionStudent t distribution
NotationN(μ, σ²)N(0, 1)t(df)
Meanμ00
Standard deviationσ1√(df ÷ (df − 2))
TailsThinThinHeavier, approach normal as df grows
Use it whenYou know or estimate μ and σReading a z tableσ is unknown and n is small

🧮 2. Set Up Your Data

Supports .csv, .txt, .xlsx and .xls. The first row is read as column names. Click the columns you want: each selected column becomes its own group (cluster).

Type one value per cell. Each column becomes a group. Edit the column names in the top row. Empty cells are ignored.


Your probability question

Choose the second option for textbook questions, or for the standard normal N(0, 1).

📊 3. Results

Enter or load your data above, then press Calculate Normal Distribution. Your probability, z scores, percentiles, normality checks, four charts and auto-filled report sentences will appear here.

🧠 4. Interpretation of Results, In Detail

Run the calculator to fill the boxes marked Your result with your own numbers. The twelve sub-sections below explain every part of the output: ___ is shown until then.

4.1 Your probability, in plain words

Your result: P = ___. Run the analysis above.

A normal probability is a share of the whole population. P(X ≤ 60) = 0.9643 means that, if the variable really follows this normal curve, 96.43% of all values are 60 or less. It also means that one randomly chosen value has a 96.43% chance of being 60 or less. Both readings are correct. Use whichever is easier for your reader.

Always say which side of the value you mean. "The probability of 60" has no meaning for a continuous variable, because the chance of any single exact value is zero. You need "at most 60", "at least 60" or "between 45 and 60".

4.2 The z score: how unusual is this value?

Your result: z = ___.

The z score is the distance from the mean in standard deviation units. z = 0 is exactly average. z = 1 is one SD above the mean. z = −2 is two SDs below. A z score lets you compare values measured on different scales, such as a height in cm and a score out of 100.

|z|Share of values further from the meanPlain meaning
below 1more than 31.7%Ordinary. Most values look like this.
1 to 24.6% to 31.7%A bit high or low, still common.
2 to 30.27% to 4.6%Unusual. About 1 in 20 to 1 in 370.
above 3less than 0.27%Very rare. Check for a data error first.

4.3 Left tail, right tail, between and outside

These four areas are linked. Once you have one, the others follow:

  • Right tail = 1 − left tail. P(X ≥ 60) = 1 − 0.9643 = 0.0357.
  • Between = left tail at b minus left tail at a. P(45 ≤ X ≤ 60) = 0.9643 − 0.0381 = 0.9262.
  • Outside = 1 − between = 0.0738.

For a continuous variable, ≤ and < give the same answer. P(X < 60) equals P(X ≤ 60). This is not true for counts, which is why the binomial approximation needs a continuity correction (Section 4.10).

4.4 Percentiles and the inverse normal

Your result: the ___th percentile is x = ___.

The inverse normal answers the reverse question: "Which value cuts off the lowest p%?" For leaf length, the 90th percentile is 57.81 mm. So 90% of leaves are shorter than 57.81 mm and 10% are longer. The formula is x = μ + zp × σ, where zp comes from the z table read backwards. Reference ranges in medicine are built this way: the central 95% runs from μ − 1.96σ to μ + 1.96σ.

4.5 The empirical rule, and what your data say about it

Your result: ___% within 1 SD, ___% within 2 SD, ___% within 3 SD.

For a perfect normal distribution, 68.27% of values lie within 1 SD of the mean, 95.45% within 2 SD and 99.73% within 3 SD. Chart 4 compares your data with these targets. Small samples wobble. With 16 values, 62.5% in place of 68.3% is normal chance. But if far more than 68% sit within 1 SD, the curve is too peaked. If far fewer than 95% sit within 2 SD, the tails are too heavy. Both are signs of a non normal distribution.

4.6 How to tell if data is normally distributed: the Shapiro-Wilk test

Your result: W = ___, p = ___.

The Shapiro-Wilk test asks: "Could these data come from a normal distribution?" W runs from 0 to 1. Values near 1 mean the sorted data match normal quantiles closely.

  • p > α (usually 0.05): no clear evidence against normality. It does not prove the data are normal.
  • p ≤ α: the data depart from normality. Look at the Q-Q plot to see how.

The test depends heavily on sample size. With 8 values it misses almost everything. With 2000 values it flags differences too small to matter. So always read the p value together with Charts 2 and 3.

4.7 Skewness and kurtosis

Your result: skewness = ___, excess kurtosis = ___.

Skewness measures lopsidedness. 0 is symmetric. Positive means a long right tail (income, reaction time). Negative means a long left tail (easy exam scores). Excess kurtosis measures tail weight. 0 is normal. Positive means heavy tails and more outliers. Negative means light tails and a flat top.

A simple rule from Kim (2013): divide each by its standard error. For n under 50, |z| above 1.96 is a problem. For n from 50 to 300, use 3.29. For n above 300, look at the raw values: |skewness| above 2 or |excess kurtosis| above 7 is a real departure.

4.8 Reading the histogram and the Q-Q probability plot

Chart 2, the normal distribution histogram. A histogram of normal distribution data looks like a rough bell. The bars should follow the line. Count data with few values will look lumpy. That is fine. What matters is a clear lean to one side, two peaks, or a long tail.

Chart 3, the normal probability plot. Each point pairs a sorted value with the value a perfect normal would give. Points on the straight line mean the data are normally distributed. The shape of the bend tells you the problem:

Q-Q patternMeaning
Points follow the lineApproximately normal
Curve bending upward at the right (a smile)Right skew
Curve bending down at the left (a frown)Left skew
S shape, ends pulling away from the lineHeavy tails (positive kurtosis)
Reverse S, ends flattening toward the lineLight tails (negative kurtosis)
One or two points far off at an endOutliers
Steps or flat runsRounded or discrete data

4.9 Could the graph represent a variable with a normal distribution?

This is a common exam question. Answer "yes" only if all of these hold: the graph has one peak; it is roughly symmetric about that peak; it falls off smoothly on both sides; and it does not stop abruptly at a boundary such as zero. Answer "no" if the graph is skewed, has two humps, is flat, or is cut off on one side. The mean of the normal distribution shown is always the x value under the peak.

4.10 Normal approximation to the binomial distribution

Your result: shown when you choose the binomial question.

A binomial count X (successes in n trials) has mean np and SD √(np(1 − p)). When np ≥ 5 and n(1 − p) ≥ 5, its shape is close to normal. Because counts are whole numbers, widen each bar by 0.5 on each side. That is the continuity correction: P(X ≤ 25) becomes P(Y ≤ 25.5). For n = 50 and p = 0.4, the approximation gives 0.9438 and the exact binomial is 0.9427. Without the correction you would get 0.9255, which is much worse.

4.11 Decision guide

What you seeWhat to do
Shapiro-Wilk p > α, straight Q-Q plot, bell-shaped histogramUse the normal model Report the probability with μ and σ.
p ≤ α but n is large and the plots look close to normalUse with care Middle probabilities are fine. Tail probabilities (beyond 2 SD) may be off.
Clear right skew, positive values onlyTransform Try a log transform, then check again. Or use empirical percentiles.
Two peaksSplit the groups You probably have two populations mixed together.
Normal model gives a big chance of impossible values (below 0)Do not use The normal curve does not fit a bounded variable.

4.12 Common mistakes this calculator prevents

  • Reading the wrong side of the z table. The tool always states which area it found and shades it on Chart 1.
  • Using the population SD by accident. The default is the sample SD, matching R and Excel STDEV.S.
  • Trusting a normal probability for skewed data. Every run checks normality, skewness and kurtosis, and warns you.
  • Forgetting the continuity correction for binomial counts. It is applied and shown.
  • Treating "not significant" as proof of normality. The wording in Section 5 avoids that claim.
  • Mixing up a negative z value with a negative probability. Probabilities are always between 0 and 1.

✍ 5. How to Write Your Results in Research

▶ Run the analysis above to auto-fill all five examples with your results.

A good write-up of a normal distribution result always has four parts: (1) the variable and its units, (2) the model, N(μ, σ²), with n if the parameters came from data, (3) the probability or percentile with the exact question, and (4) evidence that the normal model fits. Leave out part 4 and a reviewer will ask for it.

Example 1, APA 7th Edition
Leaf length was approximately normally distributed, W = ___, p = ___ (M = ___, SD = ___, n = ___). Under this model, P(X ≤ ___) = ___, z = ___.
📌 Key conventions for this style
  • Italicise statistical symbols: M, SD, W, p, z, n.
  • Report exact p values to two or three decimals; write p < .001 for very small values.
  • APA drops the leading zero for values that cannot exceed 1, such as p and probabilities (p = .954).
  • Say "approximately normal" or "no evidence against normality", never "the data are normal".
Example 2, Thesis / Dissertation
Normality was assessed with the Shapiro-Wilk test, a normal Q-Q plot and a histogram. ___
📌 Key conventions for this style
  • Name every normality check you used, both formal tests and plots.
  • State the significance level before the result.
  • Say whether the SD used n or n − 1.
  • If the check fails, say what you did next: transform, trim or switch method.
  • Put the Q-Q plot in an appendix if the main text is short on space.
Example 3, Plain-Language Summary
The values follow a bell-shaped pattern around an average of ___. About ___ in 100 are expected to be ___.
📌 Key conventions for this style
  • Turn probabilities into "out of 100" frequencies. People understand 4 in 100 better than 0.0357.
  • No symbols, no z, no p.
  • Give units every time a number appears.
  • Say "about" because the normal model is an approximation.
Example 4, Structured Abstract / Poster
Methods: ___ Results: ___ Conclusion: ___
📌 Key conventions for this style
  • One line each for Methods, Results and Conclusion.
  • Lead the Results line with the headline probability.
  • Use a percentage in the Conclusion for a lay audience.
  • Keep decimal places the same throughout the poster.
Example 5, Replication / Pre-Registration
Parameters were estimated from the sample with the ___ standard deviation. ___
📌 Key conventions for this style
  • Give every setting another person needs to repeat the result: SD type, α, question type and cut-off values.
  • Name the normality test and the software.
  • Pre-register your plan for a failed normality check before you see the data.
  • Share the raw data or at least n, mean and SD to four decimals.

5.1 Phrases to use, and phrases to avoid

Write thisNot thisWhy
"approximately normally distributed""normally distributed" (as a proven fact)A test can only fail to find a departure.
"no evidence of departure from normality, W = .98, p = .954""normality was confirmed"A large p value is not confirmation.
"the expected proportion below 60 mm is 96.4%""96.4% of leaves are below 60 mm"The first is a model prediction; the second claims an observed count.
"P(X ≥ 130) = .023""the probability of 130 is .023"A single exact value has probability zero.
"z = 1.80""z = 1.8029" in running textTwo decimals is enough for z in prose.

5.2 What to put in a table

For several groups, give one row per group with columns n, M, SD, W, p (Shapiro-Wilk) and the probability you computed. Add a note under the table: "Probabilities assume a normal distribution with the sample mean and SD; SD uses n − 1."

∑ 6. Formulas Used

①
Z Score (Standardising a Value)
z = (x − μ) ÷ σ
zStandard score, unitless. Distance from the mean in SD units
xThe value you are asking about, in the data's units
μMean of the distribution, in the data's units
σStandard deviation, in the data's units, must be above 0
Example(60 − 52.4375) ÷ 4.1947 = 1.8029
②
Normal Probability Density (The Bell Curve Equation)
f(x) = [1 ÷ (σ√(2π))] · exp[−(x − μ)² ÷ (2σ²)]
f(x)Height of the curve at x, in 1 per data unit. Not a probability
π, eConstants 3.14159 and 2.71828, unitless
PeakHighest at x = μ, where f = 1 ÷ (σ√(2π))
Examplef(60) = 0.0187 for N(52.4375, 4.1947²)
③
Cumulative Probability (Area Under the Curve)
P(X ≤ x) = Φ(z) = ½[1 + erf(z ÷ √2)]
Φ(z)Standard normal CDF, the z table value, between 0 and 1
erfThe error function, computed to about 15 digits here
Right tailP(X ≥ x) = 1 − Φ(z)
BetweenP(a ≤ X ≤ b) = Φ(zb) − Φ(za)
RuleΦ(−z) = 1 − Φ(z), so a negative z table is a mirror of the positive one
④
Inverse Normal (Percentile to Value)
xp = μ + zp · σ,   where zp = Φ−1(p)
pPercentile as a proportion, between 0 and 1, unitless
zpz score with area p to its left, unitless
xpValue at that percentile, in the data's units
CentralCentral p interval: μ ± Φ−1((1 + p) ÷ 2) · σ
Example90th percentile: 52.4375 + 1.2816 × 4.1947 = 57.8133
⑤
Estimating μ and σ From Data
x̄ = Σxi ÷ n  ·  s = √[Σ(xi − x̄)² ÷ (n − 1)]
x̄Sample mean, the estimate of μ, in the data's units
sSample SD, the estimate of σ, in the data's units
nNumber of values, a count
NotePopulation SD divides by n. It is slightly smaller
Sum ruleFor independent normals, means add and variances add: Var(X + Y) = σ²X + σ²Y
⑥
Shapiro-Wilk Normality Test
W = (Σ ai x(i))² ÷ Σ(xi − x̄)²
x(i)The i-th smallest value, in the data's units
aiWeights from expected normal order statistics, unitless (Royston 1995)
WBetween 0 and 1, unitless. Close to 1 means close to normal
Requires3 to 5000 values that are not all identical
Rulep ≤ α: reject normality. p > α: no evidence against it
⑦
Normal Approximation to the Binomial
μ = np,   σ = √[np(1 − p)],   P(X ≤ k) ≈ Φ((k + 0.5 − np) ÷ σ)
nNumber of trials, a count
pProbability of success in one trial, unitless
kNumber of successes, a count
±0.5Continuity correction: P(X ≥ k) uses k − 0.5; P(X = k) uses k − 0.5 to k + 0.5
Requiresnp ≥ 5 and n(1 − p) ≥ 5

🔀 7. Normal Distribution Calculation Flowchart, Step by Step

This flowchart shows how a normal distribution probability is calculated, step by step, from raw data to a checked answer. Every box uses the same worked example as the Excel, R and Python sections: 16 leaf lengths in mm, and the question "what share of leaves are 60 mm or shorter?"

Start or result Data step Calculation step Yes or no check
Start Raw measurements and a question 16 leaf lengths in mm. Find P(X ≤ 60).
1
Put every value in one column 52, 48, 55, 61, 47, 50, 58, 53, 49, 56, 51, 54, 46, 57, 50, 52
CheckIs any cell blank, text or a missing-value code?
YesRemove it. Never type 0, which drags the mean down and inflates the SD.
NoKeep every value. Here all 16 are real.
2
Estimate the mean μ ≈ x̄ = Σx ÷ n 839 ÷ 16 = 52.4375
3
Estimate the standard deviation s = √[Σ(x − x̄)² ÷ (n − 1)] √(263.9375 ÷ 15) = 4.1947
CheckIs the Shapiro-Wilk p value at or below 0.05?
Yes, stopThe data are not normal. Transform them or use empirical percentiles.
NoW = 0.9789, p = 0.9541. No evidence against normality.
4
Convert x to a z score z = (x − μ) ÷ σ (60 − 52.4375) ÷ 4.1947 = 1.8029
5
Read the area to the left of z P(X ≤ x) = Φ(z) Φ(1.8029) = 0.9643
CheckDid you want the area to the right, or between two values?
YesRight tail = 1 − 0.9643 = 0.0357. Between 45 and 60 = 0.9643 − 0.0381 = 0.9262.
NoKeep the left tail, 0.9643.
Result P(X ≤ 60) = 0.9643 for N(52.44, 4.19²) Normality OKz = 1.80 About 96 in 100 leaves are expected to be 60 mm or shorter.

Check any box yourself: the Excel sheet in Section 9, the R script in Section 10 and the Python script in Section 11 all return a mean of 52.4375, an SD of 4.1947, z = 1.8029 and P(X ≤ 60) = 0.9643.

📝 8. How to Use This Calculator

  1. Enter your data. The default box takes comma-separated numbers, as the placeholder shows: 52, 48, 55, 61, 47, .... Spaces, tabs, semicolons and new lines also work, so a column pasted from Excel is fine.
  2. Name each group. The name field above each box is editable. Type something like Site A and it appears in the table, the charts and the report.
  3. Add groups to compare. Press Add group. Each group gets its own mean, SD, normal curve and normality test.
  4. Or upload a file. On the Upload tab, choose a CSV or Excel file and click the column names you want. Each column you click becomes its own group.
  5. Or skip the data. For a textbook question, set "Where do μ and σ come from?" to "I will type μ and σ myself". Use μ = 0 and σ = 1 for the standard normal distribution.
  6. Pick your question. Left tail, right tail, between, outside, percentile, central interval or the binomial approximation.
  7. Type the values. For example x = 60, or a = 45 and b = 60, or p = 90 for the 90th percentile.
  8. Press Calculate Normal Distribution. Nothing is computed until you do. Changing any input clears old results so you never read stale numbers.
  9. Read the answer and the checks. The top box gives the probability. The assumption table tells you whether the normal model fits your data.
  10. Use the charts and export. Chart 1 shows the shaded area. Section 5 fills in five report styles. Download the text report or a print-ready PDF.

📈 9. How to Calculate Normal Distribution in Excel

Excel has built-in functions for every normal distribution calculation: the left-tail probability, the density, the inverse and the z score. What trips people up is the TRUE or FALSE last argument, the right tail, and the fact that Excel has no Shapiro-Wilk test.

The whole thing in one line: with your numbers in A2:A17, type =NORM.DIST(60, AVERAGE(A2:A17), STDEV.S(A2:A17), TRUE). That is P(X ≤ 60), here 0.9643.

9.1 The functions you need

You wantExcel functionNote
P(X ≤ x), left tail=NORM.DIST(x, mean, sd, TRUE)TRUE means cumulative area
Curve height f(x)=NORM.DIST(x, mean, sd, FALSE)FALSE gives the density, not a probability
P(X ≥ x), right tail=1-NORM.DIST(x, mean, sd, TRUE)There is no right-tail function
P(a ≤ X ≤ b)=NORM.DIST(b,m,s,TRUE)-NORM.DIST(a,m,s,TRUE)Upper minus lower
z table value Φ(z)=NORM.S.DIST(z, TRUE)Standard normal N(0, 1)
x for a percentile=NORM.INV(p, mean, sd)Inverse normal
z for a percentile=NORM.S.INV(p)=NORM.S.INV(0.975) gives 1.96
z score=STANDARDIZE(x, mean, sd)Same as (x − mean) ÷ sd
Skewness, excess kurtosis=SKEW(rng), =KURT(rng)Bias-corrected, like this page
The FALSE trap. =NORM.DIST(60, 52.44, 4.19, FALSE) returns 0.0187. That is the height of the curve, not a probability. Almost every wrong answer posted online comes from this. For areas, always use TRUE.

9.2 Step by step

1 Put your numbers in one column

Paste the values down column A with a label in row 1. The 16 leaf lengths fill A2:A17.

Xnormal-distribution.xlsx - ExcelA2fx52A1Leaf length (mm)252348455561647750858953

The first eight of the 16 leaf lengths in A2:A17, with the header in A1.

2 Estimate the mean and standard deviation

=AVERAGE(A2:A17)=STDEV.S(A2:A17)=COUNT(A2:A17)

Put these in D2, D3 and D4 so later formulas can point at them.

Xnormal-distribution.xlsx - ExcelD3fx=STDEV.S(A2:A17)ACD1Leaf length (mm)StatisticValue252Mean52.4375348SD4.1947455n16561

Mean 52.4375, SD 4.1947, n 16. These are μ and σ for every formula that follows.

3 Convert x to a z score

=STANDARDIZE(60,D2,D3)

This tells you 60 mm is 1.80 SD above the mean.

Xnormal-distribution.xlsx - ExcelD6fx=STANDARDIZE(60,D2,D3)ACD1Leaf length (mm)StatisticValue252Mean52.4375348SD4.1947455n16561x60647z score1.8029

z = 1.8029 for x = 60. Look up 1.80 in the z table in Section 12 and you get 0.9641; the exact value is 0.9643.

4 Get the left, right and between probabilities

=NORM.DIST(60,D2,D3,TRUE)=1-NORM.DIST(60,D2,D3,TRUE)=NORM.DIST(60,D2,D3,TRUE)-NORM.DIST(45,D2,D3,TRUE)
Xnormal-distribution.xlsx - ExcelD8fx=NORM.DIST(60,D2,D3,TRUE)-NORM.DIST(45,D2,D3,TRUE)CD1QuestionValue2Mean52.43753SD4.19476P(X <= 60)0.96437P(X >= 60)0.03578P(45 <= X <= 60)0.9262

P(X ≤ 60) = 0.9643, P(X ≥ 60) = 0.0357, P(45 ≤ X ≤ 60) = 0.9262. The left and right tails add to exactly 1.

5 Go backwards: percentiles and critical values

=NORM.INV(0.9,D2,D3)=NORM.S.INV(0.975)=NORM.DIST(60,D2,D3,FALSE)
Xnormal-distribution.xlsx - ExcelD9fx=NORM.INV(0.9,D2,D3)CD1QuestionValue990th percentile57.813310Critical z, 95%1.960011Height f(60)0.0187

90th percentile 57.8133 mm, critical z 1.9600, and the curve height at 60, 0.0187, which is not a probability.

9.3 The awkward cases

  • No Shapiro-Wilk in Excel. Neither the functions nor the Analysis ToolPak include it. Use this calculator, R or Python for the test, and use SKEW and KURT in Excel as a rough check (here 0.3853 and −0.4360).
  • Normal probability plot in Excel. Sort the data in column A. In B2 type =NORM.S.INV((ROW()-1-0.375)/(COUNT($A$2:$A$17)+0.25)) and fill down. Insert a scatter chart of B (x axis) against A (y axis). Points on a straight line mean normal data.
  • Histogram with a normal curve. The Analysis ToolPak Histogram tool (File → Options → Add-ins → Excel Add-ins → tick Analysis ToolPak) makes the bars. Add a second series of =NORM.DIST(bin_mid,m,s,FALSE)*n*bin_width and change it to a line.
  • Normal approximation to the binomial. =NORM.DIST(25.5, 50*0.4, SQRT(50*0.4*0.6), TRUE) gives 0.9438. Compare with the exact =BINOM.DIST(25,50,0.4,TRUE), 0.9427.
  • Old function names. NORMDIST, NORMSDIST, NORMINV and NORMSINV still work but are kept only for compatibility. Use the dotted versions.

9.4 Why your Excel answer might differ from R or Python

SituationWhat happensFix
Used STDEV.PSD is 4.0615 instead of 4.1947, so every probability shiftsUse STDEV.S; it matches R sd()
Python np.std(x)NumPy defaults to the population SD, ddof = 0Use np.std(x, ddof=1) or x.std(ddof=1)
Rounded μ and σ typed by hand52.44 and 4.19 give 0.9644, not 0.9643Point at the cells instead of retyping
Read a printed z tablez rounded to 1.80 gives 0.9641Use NORM.S.DIST(z,TRUE) for full precision
Skewness differs from PythonSciPy skew() defaults to the biased versionUse stats.skew(x, bias=False) to match Excel SKEW
Kurtosis differs from R packagesSome report raw kurtosis (normal = 3), others excess (normal = 0)Excel KURT and this page report excess kurtosis
ToolP(X ≤ x)InverseDensity
Excel=NORM.DIST(x,m,s,TRUE)=NORM.INV(p,m,s)=NORM.DIST(x,m,s,FALSE)
Google Sheets=NORM.DIST(x,m,s,TRUE)=NORM.INV(p,m,s)=NORM.DIST(x,m,s,FALSE)
Rpnorm(x, m, s)qnorm(p, m, s)dnorm(x, m, s)
Python SciPynorm.cdf(x, m, s)norm.ppf(p, m, s)norm.pdf(x, m, s)
TI-84normalcdf(-1E99, x, m, s)invNorm(p, m, s)normalpdf(x, m, s)

9.5 Drawing a normal distribution curve in Excel

  1. In column F, make x values from μ − 4σ to μ + 4σ in small steps, for example =$D$2-4*$D$3+(ROW()-2)*$D$3/10, filled down 81 rows.
  2. In G2 type =NORM.DIST(F2,$D$2,$D$3,FALSE) and fill down.
  3. Select F and G, then Insert → Charts → Scatter with Smooth Lines.
  4. To shade P(X ≤ 60), add column H: =IF(F2<=60,G2,NA()), add it as a series and change it to an Area chart.
  5. Label the axes with the variable name and units. Chart 1 on this page draws the same figure automatically.

9.6 Excel errors you will probably hit

Excel showsWhyFix
#NUM! from NORM.DISTThe SD is zero or negativeCheck the SD cell; all values may be identical
#NUM! from NORM.INVp is 0, 1, or outside 0 to 1Type 0.9, not 90
#VALUE!Text in an argument, such as "60 mm"Keep units in a separate column
#DIV/0! in STANDARDIZESD cell is emptyFill in D3 first
Probability above 1Used FALSE, which returns a densityChange the last argument to TRUE
#NAME?Typo, or an old Excel without NORM.DISTCheck spelling or use NORMDIST in Excel 2007

📈 10. How to Calculate Normal Distribution in R

R has four normal functions built in: pnorm for probabilities, qnorm for percentiles, dnorm for the curve height and rnorm for random values. The script below estimates μ and σ, finds every probability, runs the Shapiro-Wilk test, prints a plain-English verdict and saves one figure at 300 dpi. It uses base R only.

Copy the whole block. It runs top to bottom in RStudio, VS Code or Rscript. Change only the x <- c(...) line and the question values.

10.1 The complete script

R, base only, saves normal_distribution_plot.png

# ============================================================
# Normal distribution calculator in R
# StatsUnlock - https://statsunlock.com/normal-distribution-calculator/
# Base R only. No packages to install.
# ============================================================

# ---- 1. Your data ------------------------------------------
# Replace with your own values, or read a CSV:
#   x <- read.csv("data.csv")$column_name
x <- c(52, 48, 55, 61, 47, 50, 58, 53,
       49, 56, 51, 54, 46, 57, 50, 52)
x <- x[!is.na(x)]                 # drop missing values

label   <- "Leaf length"
units   <- "mm"
x_value <- 60                     # P(X <= x_value)
a <- 45; b <- 60                  # P(a <= X <= b)
pct <- 0.90                       # percentile to find

# ---- 2. Estimate mu and sigma ------------------------------
n     <- length(x)
mu    <- mean(x)
sigma <- sd(x)                    # n - 1, same as Excel STDEV.S

# ---- 3. Probabilities --------------------------------------
z         <- (x_value - mu) / sigma
p_left    <- pnorm(x_value, mean = mu, sd = sigma)
p_right   <- pnorm(x_value, mean = mu, sd = sigma, lower.tail = FALSE)
p_between <- pnorm(b, mu, sigma) - pnorm(a, mu, sigma)
x_pct     <- qnorm(pct, mean = mu, sd = sigma)

# ---- 4. Normality check ------------------------------------
sw <- shapiro.test(x)
d  <- x - mu
g1 <- mean(d^3) / mean(d^2)^1.5
g2 <- mean(d^4) / mean(d^2)^2 - 3
skew <- g1 * sqrt(n * (n - 1)) / (n - 2)                     # same as Excel SKEW
kurt <- ((n + 1) * g2 + 6) * (n - 1) / ((n - 2) * (n - 3))   # same as Excel KURT

# ---- 5. Print a plain-English report -----------------------
cat(sprintf("n = %d, mean = %.4f, SD = %.4f\n", n, mu, sigma))
cat(sprintf("z for x = %g: %.4f\n", x_value, z))
cat(sprintf("P(X <= %g) = %.4f\n", x_value, p_left))
cat(sprintf("P(X >= %g) = %.4f\n", x_value, p_right))
cat(sprintf("P(%g <= X <= %g) = %.4f\n", a, b, p_between))
cat(sprintf("%.0fth percentile = %.4f %s\n", pct * 100, x_pct, units))
cat(sprintf("Shapiro-Wilk W = %.4f, p = %.4f\n", sw$statistic, sw$p.value))
cat(sprintf("Skewness = %.4f, excess kurtosis = %.4f\n", skew, kurt))
if (sw$p.value > 0.05) {
  cat("Verdict: no evidence against normality, so the normal model is reasonable.\n")
  cat(sprintf("About %.1f%% of values are expected to be %g %s or less.\n",
              p_left * 100, x_value, units))
} else {
  cat("Verdict: the data depart from normality. Treat normal probabilities with caution.\n")
}

# ---- 6. One figure: histogram + normal curve + shaded area -
set.seed(1)                       # nothing random here, but seeded for habit
png("normal_distribution_plot.png", width = 7, height = 4.5, units = "in", res = 300)
xs <- seq(mu - 4 * sigma, mu + 4 * sigma, length.out = 400)
hist(x, freq = FALSE, col = "#bfdbfe", border = "#1e40af",
     xlim = range(xs), ylim = c(0, dnorm(mu, mu, sigma) * 1.15),
     main = sprintf("N(%.2f, %.2f^2), Shapiro-Wilk p = %.3f", mu, sigma, sw$p.value),
     xlab = sprintf("%s (%s)", label, units), ylab = "Density")
left <- xs[xs <= x_value]
polygon(c(min(left), left, max(left)), c(0, dnorm(left, mu, sigma), 0),
        col = adjustcolor("#16a34a", alpha.f = 0.3), border = NA)
lines(xs, dnorm(xs, mu, sigma), col = "#1d4ed8", lwd = 2)
abline(v = x_value, lty = 2, col = "#16a34a")
legend("topright", bty = "n",
       legend = c("Normal curve", sprintf("P(X <= %g) = %.4f", x_value, p_left)),
       col = c("#1d4ed8", "#16a34a"), lwd = c(2, 8))
dev.off()
cat("Saved normal_distribution_plot.png\n")

Printed output:

n = 16, mean = 52.4375, SD = 4.1947
z for x = 60: 1.8029
P(X <= 60) = 0.9643
P(X >= 60) = 0.0357
P(45 <= X <= 60) = 0.9262
90th percentile = 57.8133 mm
Shapiro-Wilk W = 0.9789, p = 0.9541
Skewness = 0.3853, excess kurtosis = -0.4360
Verdict: no evidence against normality, so the normal model is reasonable.
About 96.4% of values are expected to be 60 mm or less.

10.2 What each line does

Line or functionWhat it does, and why it is there
x[!is.na(x)]Drops missing values. mean() and sd() return NA if even one value is missing.
sd(x)Sample SD with n − 1. Matches Excel STDEV.S and this page's default.
pnorm(x, mean, sd)Area to the left of x. Add lower.tail = FALSE for the right tail.
qnorm(p, mean, sd)Inverse normal. qnorm(0.975) gives the famous 1.959964.
dnorm(x, mean, sd)Curve height, used here only to draw the bell curve.
shapiro.test(x)Shapiro-Wilk test, Royston's version. Needs 3 to 5000 values.
skew, kurtBias-corrected skewness and excess kurtosis, the same formulas as Excel SKEW and KURT.
png(..., res = 300)Opens a 300 dpi image file. dev.off() closes and saves it.
polygon()Shades the area under the curve to the left of x_value.

10.3 What the figure shows

The saved figure has the histogram of your data (blue bars), the fitted normal curve (dark blue line) and the shaded area for P(X ≤ 60) (green). The title carries the model and the Shapiro-Wilk p value, so the figure stands on its own in a report. If the bars follow the curve, the normal model is a fair description.

10.4 Problems and fixes

ProblemFix
sample size must be between 3 and 5000Shapiro-Wilk limit. For bigger data use a Q-Q plot, or test a random sample of 5000.
Result is NAMissing values. Keep the x[!is.na(x)] line.
Probability looks wrongCheck argument order: pnorm(q, mean, sd), and that sd is not the variance.
Right tail is tiny and prints 0Use pnorm(..., lower.tail = FALSE) or format(p, scientific = TRUE).
No plot file appearsYou forgot dev.off(), or the working folder is not where you expect. Run getwd().

10.5 One-liners

pnorm(1.96)                         # 0.9750, z table value
pnorm(-1.96)                        # 0.0250, negative z table
qnorm(0.95)                         # 1.6449, one-tailed 5% critical z
pnorm(130, 100, 15, lower.tail = FALSE)   # 0.0228, IQ above 130
pnorm(25.5, 20, sqrt(12))           # 0.9438, binomial approximation
qqnorm(x); qqline(x)                # normal probability plot

📈 11. How to Calculate Normal Distribution in Python

In Python, scipy.stats.norm does the work. cdf gives left-tail probabilities, sf gives right tails, ppf gives percentiles and pdf gives the curve height. The script below mirrors the R script line for line and gives the same numbers.

numpyArrays, mean and SD
scipy.statsnorm, shapiro, skew, kurtosis
matplotlibThe 300 dpi figure

Install once with pip install numpy scipy matplotlib.

11.1 The complete script

Python 3, saves normal_distribution_plot.png

# ============================================================
# Normal distribution calculator in Python
# StatsUnlock - https://statsunlock.com/normal-distribution-calculator/
# Needs: numpy, scipy, matplotlib
# ============================================================
import numpy as np
from scipy import stats
import matplotlib
matplotlib.use("Agg")            # draw without a screen
import matplotlib.pyplot as plt

# ---- 1. Your data ------------------------------------------
# Replace with your own values, or read a CSV:
#   import pandas as pd
#   x = pd.read_csv("data.csv")["column_name"].dropna().to_numpy()
x = np.array([52, 48, 55, 61, 47, 50, 58, 53,
              49, 56, 51, 54, 46, 57, 50, 52], dtype=float)
x = x[~np.isnan(x)]              # drop missing values

label = "Leaf length"
units = "mm"
x_value = 60                     # P(X <= x_value)
a, b = 45, 60                    # P(a <= X <= b)
pct = 0.90                       # percentile to find

# ---- 2. Estimate mu and sigma ------------------------------
n = len(x)
mu = x.mean()
sigma = x.std(ddof=1)            # ddof=1 matches R sd() and Excel STDEV.S

# ---- 3. Probabilities --------------------------------------
z = (x_value - mu) / sigma
p_left = stats.norm.cdf(x_value, loc=mu, scale=sigma)
p_right = stats.norm.sf(x_value, loc=mu, scale=sigma)
p_between = stats.norm.cdf(b, mu, sigma) - stats.norm.cdf(a, mu, sigma)
x_pct = stats.norm.ppf(pct, mu, sigma)

# ---- 4. Normality check ------------------------------------
w, p_sw = stats.shapiro(x)
skew = stats.skew(x, bias=False)
kurt = stats.kurtosis(x, bias=False)     # excess kurtosis

# ---- 5. Print a plain-English report -----------------------
print(f"n = {n}, mean = {mu:.4f}, SD = {sigma:.4f}")
print(f"z for x = {x_value}: {z:.4f}")
print(f"P(X <= {x_value}) = {p_left:.4f}")
print(f"P(X >= {x_value}) = {p_right:.4f}")
print(f"P({a} <= X <= {b}) = {p_between:.4f}")
print(f"{pct*100:.0f}th percentile = {x_pct:.4f} {units}")
print(f"Shapiro-Wilk W = {w:.4f}, p = {p_sw:.4f}")
print(f"Skewness = {skew:.4f}, excess kurtosis = {kurt:.4f}")
if p_sw > 0.05:
    print(f"Verdict: no evidence against normality, so the normal model is reasonable.")
    print(f"About {p_left*100:.1f}% of values are expected to be {x_value} {units} or less.")
else:
    print("Verdict: the data depart from normality. Treat normal probabilities with caution.")

# ---- 6. One figure: histogram + normal curve + shaded area -
np.random.seed(1)                # nothing random here, but seeded for habit
fig, ax = plt.subplots(figsize=(7, 4.5))
ax.hist(x, bins="sturges", density=True, color="#bfdbfe", edgecolor="#1e40af", label="Data")
grid = np.linspace(mu - 4 * sigma, mu + 4 * sigma, 400)
ax.plot(grid, stats.norm.pdf(grid, mu, sigma), color="#1d4ed8", lw=2, label="Normal curve")
fill = grid[grid <= x_value]
ax.fill_between(fill, stats.norm.pdf(fill, mu, sigma), color="#16a34a", alpha=0.3,
                label=f"P(X <= {x_value}) = {p_left:.4f}")
ax.axvline(x_value, color="#16a34a", ls="--")
ax.set_xlabel(f"{label} ({units})")
ax.set_ylabel("Density")
ax.set_title(f"N({mu:.2f}, {sigma:.2f}^2), Shapiro-Wilk p = {p_sw:.3f}")
ax.legend(frameon=False)
fig.tight_layout()
fig.savefig("normal_distribution_plot.png", dpi=300)
print("Saved normal_distribution_plot.png")

Printed output: identical to the R output in Section 10.1, ending with Saved normal_distribution_plot.png.

11.2 What each line does

Line or functionWhat it does, and why it is there
x[~np.isnan(x)]Drops missing values, which would otherwise turn every result into nan.
x.std(ddof=1)Sample SD. Without ddof=1 NumPy divides by n and disagrees with R and Excel.
stats.norm.cdf(x, loc, scale)Left-tail probability. loc is μ, scale is σ.
stats.norm.sf(x, loc, scale)Right tail, 1 − cdf, but accurate even for tiny tails.
stats.norm.ppf(p, loc, scale)Inverse normal, the percentile.
stats.shapiro(x)Shapiro-Wilk W and p. Same algorithm as R.
bias=FalseBias-corrected skewness and kurtosis, matching Excel SKEW and KURT.
fig.savefig(..., dpi=300)Saves the figure at print quality.

11.3 What the figure shows

The same three layers as the R figure: histogram, fitted normal curve and the shaded probability. matplotlib.use("Agg") lets the script run on a server or in a terminal with no screen.

11.4 Problems and fixes

ProblemFix
ModuleNotFoundError: scipyRun pip install scipy in the same environment as your editor.
SD disagrees with ExcelAdd ddof=1.
Warning: p-value may not be accurate for N > 5000Use a Q-Q plot for very large samples.
Skewness disagrees with ExcelAdd bias=False.
Result is nanMissing values remain. Keep the isnan line, or use .dropna() in pandas.

11.5 One-liners

from scipy import stats
from scipy.stats import norm
norm.cdf(1.96)                  # 0.9750, z table value
norm.cdf(-1.96)                 # 0.0250, negative z table
norm.ppf(0.95)                  # 1.6449, one-tailed 5% critical z
norm.sf(130, 100, 15)           # 0.0228, IQ above 130
norm.cdf(25.5, 20, 12 ** 0.5)   # 0.9438, binomial approximation
stats.probplot(x, plot=plt)     # normal probability plot

📋 12. Reference Tables

12.1 Standard normal distribution table, negative z values (z table, left tail)

Each cell is Φ(z), the area to the left of z. Read the row for the first decimal and the column for the second. Example: z = −1.80 is row −1.8, column 0.00, giving 0.0359.

z0.000.010.020.030.040.050.060.070.080.09
−3.40.00030.00030.00030.00030.00030.00030.00030.00030.00030.0002
−3.30.00050.00050.00050.00040.00040.00040.00040.00040.00040.0003
−3.20.00070.00070.00060.00060.00060.00060.00060.00050.00050.0005
−3.10.00100.00090.00090.00090.00080.00080.00080.00080.00070.0007
−3.00.00130.00130.00130.00120.00120.00110.00110.00110.00100.0010
−2.90.00190.00180.00180.00170.00160.00160.00150.00150.00140.0014
−2.80.00260.00250.00240.00230.00230.00220.00210.00210.00200.0019
−2.70.00350.00340.00330.00320.00310.00300.00290.00280.00270.0026
−2.60.00470.00450.00440.00430.00410.00400.00390.00380.00370.0036
−2.50.00620.00600.00590.00570.00550.00540.00520.00510.00490.0048
−2.40.00820.00800.00780.00750.00730.00710.00690.00680.00660.0064
−2.30.01070.01040.01020.00990.00960.00940.00910.00890.00870.0084
−2.20.01390.01360.01320.01290.01250.01220.01190.01160.01130.0110
−2.10.01790.01740.01700.01660.01620.01580.01540.01500.01460.0143
−2.00.02280.02220.02170.02120.02070.02020.01970.01920.01880.0183
−1.90.02870.02810.02740.02680.02620.02560.02500.02440.02390.0233
−1.80.03590.03510.03440.03360.03290.03220.03140.03070.03010.0294
−1.70.04460.04360.04270.04180.04090.04010.03920.03840.03750.0367
−1.60.05480.05370.05260.05160.05050.04950.04850.04750.04650.0455
−1.50.06680.06550.06430.06300.06180.06060.05940.05820.05710.0559
−1.40.08080.07930.07780.07640.07490.07350.07210.07080.06940.0681
−1.30.09680.09510.09340.09180.09010.08850.08690.08530.08380.0823
−1.20.11510.11310.11120.10930.10750.10560.10380.10200.10030.0985
−1.10.13570.13350.13140.12920.12710.12510.12300.12100.11900.1170
−1.00.15870.15620.15390.15150.14920.14690.14460.14230.14010.1379
−0.90.18410.18140.17880.17620.17360.17110.16850.16600.16350.1611
−0.80.21190.20900.20610.20330.20050.19770.19490.19220.18940.1867
−0.70.24200.23890.23580.23270.22960.22660.22360.22060.21770.2148
−0.60.27430.27090.26760.26430.26110.25780.25460.25140.24830.2451
−0.50.30850.30500.30150.29810.29460.29120.28770.28430.28100.2776
−0.40.34460.34090.33720.33360.33000.32640.32280.31920.31560.3121
−0.30.38210.37830.37450.37070.36690.36320.35940.35570.35200.3483
−0.20.42070.41680.41290.40900.40520.40130.39740.39360.38970.3859
−0.10.46020.45620.45220.44830.44430.44040.43640.43250.42860.4247
−0.00.50000.49600.49200.48800.48400.48010.47610.47210.46810.4641

Conclusion: every value in the negative normal distribution table is below 0.5, because negative z values lie left of the mean.

12.2 Standard normal distribution table, positive z values

Example: z = 1.80 is row 1.8, column 0.00, giving 0.9641. For z = 1.96, row 1.9 and column 0.06 give 0.9750.

z0.000.010.020.030.040.050.060.070.080.09
0.00.50000.50400.50800.51200.51600.51990.52390.52790.53190.5359
0.10.53980.54380.54780.55170.55570.55960.56360.56750.57140.5753
0.20.57930.58320.58710.59100.59480.59870.60260.60640.61030.6141
0.30.61790.62170.62550.62930.63310.63680.64060.64430.64800.6517
0.40.65540.65910.66280.66640.67000.67360.67720.68080.68440.6879
0.50.69150.69500.69850.70190.70540.70880.71230.71570.71900.7224
0.60.72570.72910.73240.73570.73890.74220.74540.74860.75170.7549
0.70.75800.76110.76420.76730.77040.77340.77640.77940.78230.7852
0.80.78810.79100.79390.79670.79950.80230.80510.80780.81060.8133
0.90.81590.81860.82120.82380.82640.82890.83150.83400.83650.8389
1.00.84130.84380.84610.84850.85080.85310.85540.85770.85990.8621
1.10.86430.86650.86860.87080.87290.87490.87700.87900.88100.8830
1.20.88490.88690.88880.89070.89250.89440.89620.89800.89970.9015
1.30.90320.90490.90660.90820.90990.91150.91310.91470.91620.9177
1.40.91920.92070.92220.92360.92510.92650.92790.92920.93060.9319
1.50.93320.93450.93570.93700.93820.93940.94060.94180.94290.9441
1.60.94520.94630.94740.94840.94950.95050.95150.95250.95350.9545
1.70.95540.95640.95730.95820.95910.95990.96080.96160.96250.9633
1.80.96410.96490.96560.96640.96710.96780.96860.96930.96990.9706
1.90.97130.97190.97260.97320.97380.97440.97500.97560.97610.9767
2.00.97720.97780.97830.97880.97930.97980.98030.98080.98120.9817
2.10.98210.98260.98300.98340.98380.98420.98460.98500.98540.9857
2.20.98610.98640.98680.98710.98750.98780.98810.98840.98870.9890
2.30.98930.98960.98980.99010.99040.99060.99090.99110.99130.9916
2.40.99180.99200.99220.99250.99270.99290.99310.99320.99340.9936
2.50.99380.99400.99410.99430.99450.99460.99480.99490.99510.9952
2.60.99530.99550.99560.99570.99590.99600.99610.99620.99630.9964
2.70.99650.99660.99670.99680.99690.99700.99710.99720.99730.9974
2.80.99740.99750.99760.99770.99770.99780.99790.99790.99800.9981
2.90.99810.99820.99820.99830.99840.99840.99850.99850.99860.9986
3.00.99870.99870.99870.99880.99880.99890.99890.99890.99900.9990
3.10.99900.99910.99910.99910.99920.99920.99920.99920.99930.9993
3.20.99930.99930.99940.99940.99940.99940.99940.99950.99950.9995
3.30.99950.99950.99950.99960.99960.99960.99960.99960.99960.9997
3.40.99970.99970.99970.99970.99970.99970.99970.99970.99970.9998

Conclusion: to get a right-tail area, subtract the table value from 1. P(Z ≥ 1.96) = 1 − 0.9750 = 0.0250.

12.3 Critical z values for common confidence levels

Confidence levelOne-tailed zTwo-tailed z (±)
80%0.84161.2816
90%1.28161.6449
95%1.64491.9600
98%2.05372.3263
99%2.32632.5758
99.5%2.57582.8070
99.9%3.09023.2905

Conclusion: the famous 1.96 is the two-tailed 95% value. For a one-tailed 5% test use 1.645.

12.4 The empirical rule, exact percentages

RangeInsideOutsideRarity of a value outside
±1 SD68.2689%31.7311%1 in 3
±1.645 SD90.0030%9.9970%1 in 10
±1.96 SD95.0004%4.9996%1 in 20
±2 SD95.4500%4.5500%1 in 22
±2.576 SD99.0005%0.9995%1 in 100
±3 SD99.7300%0.2700%1 in 370
±4 SD99.9937%0.0063%1 in 15,787

Conclusion: "68-95-99.7" is rounded. Exact values are 68.27%, 95.45% and 99.73%.

12.5 Percentiles of the normal distribution

Percentilez scoreLeaf length example, N(52.44, 4.19²)
1th-2.326342.68 mm
2.5th-1.960044.22 mm
5th-1.644945.54 mm
10th-1.281647.06 mm
20th-0.841648.91 mm
25th-0.674549.61 mm
50th0.000052.44 mm
75th0.674555.27 mm
80th0.841655.97 mm
90th1.281657.81 mm
95th1.644959.34 mm
97.5th1.960060.66 mm
99th2.326362.20 mm

Conclusion: the 50th percentile is always the mean. Percentiles are symmetric: the 10th and 90th sit the same distance below and above it.

12.6 Skewness and kurtosis cut-offs by sample size

Sample sizeUseTreat as non-normal when
under 50z = statistic ÷ SE|z| > 1.96
50 to 300z = statistic ÷ SE|z| > 3.29
over 300Raw statistic|skewness| > 2 or |excess kurtosis| > 7

Conclusion: large samples make any z huge, so switch to raw values above n = 300 (Kim, 2013).

12.7 Normal approximation to the binomial: continuity correction

Binomial questionNormal versionExample, n = 50, p = 0.4
P(X ≤ k)P(Y ≤ k + 0.5)P(X ≤ 25) ≈ P(Y ≤ 25.5) = 0.9438
P(X < k)P(Y ≤ k − 0.5)P(X < 25) ≈ P(Y ≤ 24.5) = 0.9030
P(X ≥ k)P(Y ≥ k − 0.5)P(X ≥ 25) ≈ P(Y ≥ 24.5) = 0.0970
P(X > k)P(Y ≥ k + 0.5)P(X > 25) ≈ P(Y ≥ 25.5) = 0.0562
P(X = k)P(k − 0.5 ≤ Y ≤ k + 0.5)P(X = 25) ≈ 0.0408

Conclusion: the rule is "widen to include the whole bar of every count you want". Valid when np ≥ 5 and n(1 − p) ≥ 5.

📈 13. Example Results

Eight worked examples, each with its own normal curve. They cover a textbook case, a tail probability, an interval, a percentile, a small sample, a large sample where the test is significant but the effect is small, a clear failure of normality, and the binomial approximation.

1
TEXTBOOK CASE

Leaf length below 60 mm

The worked example used throughout this page.

Sixteen leaves from a botany practical. What share of leaves are 60 mm or shorter?

n = 16M = 52.44SD = 4.19z = 1.80P = 0.9643
StatisticValueNote
Mean52.4375Estimate of μ
SD4.1947Estimate of σ
z for 601.8029SDs above the mean
P(X ≤ 60)0.9643Area to the left
Shapiro-WilkW = 0.9789, p = 0.9541No evidence against normality
P(X ≤ 60) = 0.964339.8544.0548.2452.4456.6360.8365.02Leaf length (mm)x = 60
The green area left of 60 mm covers 96.43% of the curve.

What it means: The normal model fits well, and 60 mm sits 1.80 SD above the mean. About 96 in 100 leaves are expected to be 60 mm or shorter, and about 4 in 100 longer.

How to write it: "Leaf length was approximately normally distributed, W = .98, p = .954 (M = 52.44, SD = 4.19, n = 16); P(X ≤ 60) = .964, z = 1.80."

2
UPPER TAIL

How rare is an IQ of 130?

A right-tail question with known μ and σ.

An IQ test is scaled to N(100, 15²). What share of people score 130 or more?

μ = 100σ = 15z = 2.00P = 0.02281 in 44
StatisticValueNote
z for 1302.0000Exactly 2 SD above
P(X ≤ 130)0.9772Left tail
P(X ≥ 130)0.0228Right tail, 1 − 0.9772
Rarityabout 1 in 441 ÷ 0.0228
P(X ≥ 130) = 0.0228557085100115130145IQ score130
Only the thin green tail beyond 130 counts.

What it means: A score of 130 is two SDs above average. Only 2.28% of people score this high or higher, about 1 in 44.

How to write it: "Assuming IQ ~ N(100, 152), P(X ≥ 130) = .023, z = 2.00."

3
BETWEEN TWO VALUES

Bolts inside the tolerance band

Quality control with a two-sided limit.

25 bolts measured. The allowed diameter is 9.9 to 10.1 mm. What share of production is inside the band?

n = 25M = 10.008SD = 0.0467P = 0.96523.5% rejected
StatisticValueNote
z for 9.9−2.3151Lower limit
z for 10.11.9689Upper limit
P(9.9 ≤ X ≤ 10.1)0.9652Inside tolerance
Outside0.0348Expected reject rate
Shapiro-WilkW = 0.9390, p = 0.1401Acceptable
P(9.9 ≤ X ≤ 10.1) = 0.96529.8689.9159.96110.0110.0510.110.15Bolt diameter (mm)9.910.1
The process mean sits slightly high, so more bolts fail at the top end.

What it means: About 96.5% of bolts fall inside the limits and 3.5% fail. Most failures are at the upper end, because the mean is 0.008 mm above target. Re-centring the machine would cut rejects.

How to write it: "Bolt diameter (M = 10.008 mm, SD = 0.047, n = 25) gave P(9.9 ≤ X ≤ 10.1) = .965."

4
INVERSE / PERCENTILE

The 10th percentile of birth weight

Going from a percentage back to a value.

30 full-term babies. Which weight marks the lightest 10%? And what share is below the 2.5 kg low birth weight line?

n = 30M = 3.41 kgSD = 0.53z = −1.2816x = 2.73 kg
StatisticValueNote
z for p = 0.10−1.2816From the inverse normal
10th percentile2.7322 kg3.4127 − 1.2816 × 0.5310
P(X < 2.5)0.0428Share below 2.5 kg
Shapiro-WilkW = 0.9617, p = 0.3428No evidence against normality
10th percentile = 2.73 kg1.822.3512.8823.4133.9444.4755.006Birth weight (kg)2.73 kg
The green area is the lightest 10% of babies.

What it means: One baby in ten is expected to weigh under 2.73 kg. The model also puts 4.3% under the 2.5 kg low birth weight line.

How to write it: "The 10th percentile of birth weight under the fitted normal model was 2.73 kg (M = 3.41, SD = 0.53, n = 30)."

5
SMALL SAMPLE

VO2 max in 8 athletes

The normality test passes, but it has little power.

Only 8 athletes were tested. What share of similar athletes would reach 55 ml/kg/min or more?

n = 8M = 53.05SD = 3.47P = 0.2872low power
StatisticValueNote
z for 550.5616Half an SD above
P(X ≥ 55)0.2872Right tail
Shapiro-WilkW = 0.9743, p = 0.9294Passes, but n is tiny
SE of the mean1.2275Large relative to the SD
P(X ≥ 55) = 0.287242.6346.1149.5853.0556.5259.9963.47VO2 max (ml/kg/min)55
With 8 values, the curve itself is uncertain.

What it means: The answer, about 29%, is a rough guide. With n = 8 the SD could easily be 30% higher or lower, and the Shapiro-Wilk test would miss all but gross departures.

How to write it: "With a small sample (n = 8; M = 53.05, SD = 3.47), P(X ≥ 55) was estimated at .287; this estimate is imprecise."

6
SIGNIFICANT BUT TRIVIAL

2000 adult heights

The test rejects normality, the middle is fine, the tails are not.

A survey of 2000 adults. Shapiro-Wilk rejects normality. Is the normal model useless?

n = 2000M = 169.78SD = 5.96p < 0.001excess kurtosis 0.67
StatisticValueNote
Shapiro-WilkW = 0.9944, p < 0.001Rejects, due to huge n
Skewness−0.03Symmetric
Within 1 / 2 / 3 SD71.8% / 94.2% / 99.3%Slightly heavy tails
P(X > 185), model0.0053Normal prediction
P(X > 185), observed0.0095Nearly double
Tail above 185 cm: model 0.53%, data 0.95%151.9157.9163.8169.8175.7181.7187.6Height (cm)185
The curve fits the middle. The far tail is where heavy tails show.

What it means: W = 0.994 is very close to 1, so the middle of the curve fits well. The rejection comes from slightly heavy tails. For central questions the model is fine; for rare heights beyond 2.5 SD it underestimates by almost half.

How to write it: "Although the Shapiro-Wilk test was significant (W = .994, p < .001, n = 2000), skewness was negligible (−0.03); normal probabilities are reported for central ranges only."

7
ASSUMPTION FAILURE

Household income, skewed

What a clearly non normal distribution looks like.

30 household incomes in thousands. The analyst wants the share earning under 20 thousand.

n = 30M = 47.38Median = 35.2p < 0.001skew 2.56
StatisticValueNote
Shapiro-WilkW = 0.6974, p < 0.001Strongly rejected
Skewness2.5600Long right tail
Model P(X < 0)0.1275Impossible negative incomes
Model P(X < 20)0.2554Normal prediction
Observed share < 200.2000What the data show
The normal model puts 12.8% below zero-77.5-35.875.75347.3889.01130.6172.3Income (thousands)0
The green area is impossible: no household has negative income.

What it means: The data are strongly right skewed. The normal curve predicts that 12.8% of households have negative income, which is impossible, and it gets the share under 20 thousand wrong. Use a log transform or empirical percentiles.

How to write it: "Income was not normally distributed, W = .70, p < .001 (skewness = 2.56); empirical percentiles are reported instead of normal probabilities."

8
APPLIED: BINOMIAL

Normal approximation to the binomial

Counting successes with a bell curve.

A treatment works for 40% of patients. Out of 50 patients, what is the chance that 25 or fewer respond?

n = 50p = 0.4np = 20SD = 3.46P ≈ 0.9438
StatisticValueNote
np, n(1 − p)20, 30Both ≥ 5, valid
Continuity correction25.5Include the whole bar at 25
z1.5877(25.5 − 20) ÷ 3.4641
Normal approximation0.9438Φ(1.5877)
Exact binomial0.9427Difference 0.0012
P(X ≤ 25): approx. 0.9438, exact 0.94279.60813.0716.542023.4626.9330.39Number of responders25.5
Yellow bars are exact binomial probabilities; the blue curve is the normal approximation.

What it means: The approximation is accurate to about 0.001. Without the continuity correction it would give 0.9255, an error 15 times larger.

How to write it: "Using a normal approximation with continuity correction (np = 20), P(X ≤ 25) ≈ .944 (exact binomial = .943)."

🧪 14. Data Collection Protocol

Design statement. To use a normal model you need one continuous measurement per independent unit, collected the same way for every unit, from a clearly defined population.

  1. Define the population and the variable, with its units, before you collect anything.
  2. Choose the measuring tool and its precision. Record to at least one more decimal than you plan to report.
  3. Decide the sample size. Aim for 30 or more values per group for a stable μ and σ, and 50 or more if tail probabilities matter.
  4. Sample at random, or as close to random as you can. Write down how units were chosen.
  5. Measure each unit once. Repeated measures on one unit are not independent values.
  6. Use the same person, instrument and conditions for every unit, or record who and what was used.
  7. Record missing values as blank, never as 0.
  8. Keep one row per unit and one column per group or variable (see the layout below).
  9. Check for typing errors: sort each column and look at the smallest and largest values.
  10. Run this calculator. Look at the Shapiro-Wilk p value, the Q-Q plot and the histogram together.
  11. If normality fails, decide in advance whether you will transform, trim or use a non-normal method.
Unit_IDSite A (mm)Site B (mm)Recorder
L0015249RK
L0024855RK
L00355AS

In the upload tab, click "Site A (mm)" and "Site B (mm)" and each becomes its own group. The blank cell for L003 is skipped.

Minimum sample. The Shapiro-Wilk test needs at least 3 values, but below about 20 it rarely detects anything. For reference ranges (the central 95%), guidelines often ask for 120 or more.

Pre-registration line. "We will estimate μ and σ from the sample (SD with n − 1), check normality with the Shapiro-Wilk test at α = 0.05 plus a Q-Q plot, and log-transform the data if the test fails."

Common mistakes: mixing two populations in one column; rounding so hard that values pile up on a few numbers; entering zeros for missing values; and collecting from a biased subgroup, such as only the largest plants.

🎯 15. When to Use This Calculator

Use it when:
  • The variable is continuous, such as height, weight, time or a score.
  • The histogram is one-peaked and roughly symmetric.
  • You need a share, a probability or a percentile.
  • You have a textbook question with a given μ and σ.
  • You want to read a z table without a printed table.
  • You approximate a binomial count with np ≥ 5 and n(1 − p) ≥ 5.
Do not use it when:
  • The data are strongly skewed, like income or waiting times.
  • The variable is bounded and piled up at a limit, like 0% or 100%.
  • There are two peaks.
  • The data are small counts, such as 0, 1, 2 events.
  • You need the mean of a small sample with unknown σ. Use the t distribution.

Normal distribution real world examples:

  • Medicine: the share of adults with systolic blood pressure above 140 mmHg.
  • Education: the share of students scoring below a pass mark, or the mark needed for the top 10%.
  • Manufacturing: the share of bolts inside a 9.9 to 10.1 mm tolerance band.
  • Psychology: how rare an IQ of 130 is on a test scaled to N(100, 15²).

Design guidance. If each value is the sum or average of many small effects (height, measurement error, a test total), the normal model is usually a good fit. If values come from multiplying effects (growth, income), the log of the data is often normal instead.

Your situationUse instead
Right skewed, positive valuesLog-normal model, or empirical percentiles
Counts of rare eventsPoisson distribution
Successes out of n, with np < 5Exact binomial distribution
Mean of a small sample, σ unknownStudent t distribution
Test whether data are normal with n > 5000Q-Q plot, or the Kolmogorov-Smirnov test
Two correlated normal variablesBivariate normal distribution

🔧 16. Troubleshooting and Common Errors

"Please enter at least 3 numbers"

Cause: a group has fewer than 3 valid values, or the text contains no numbers. Fix: add values, remove empty groups with the Remove button, or switch to "I will type μ and σ myself".

The SD is 0 or the tool says all values are equal

Cause: every value is identical, so there is no spread and no curve. Fix: check that you pasted the right column and did not round too much.

My probability differs from the z table in my textbook

Cause: printed tables round z to two decimals. Fix: nothing is wrong. The tool uses the exact z. Round z to two decimals yourself to match the book.

My answer differs from Excel, R or Python

Cause: a different SD type (n versus n − 1), or NumPy's default ddof = 0. Fix: set the SD dropdown to match, or use STDEV.S, sd() and ddof=1 everywhere.

Shapiro-Wilk fails but the histogram looks fine

Cause: with large samples the test detects tiny departures. Fix: trust the Q-Q plot for the middle of the curve, but be careful with tail probabilities beyond 2 SD.

Shapiro-Wilk passes but the data look skewed

Cause: small samples give the test low power. Fix: look at skewness divided by its SE, collect more data, or use a transform if theory says the variable is skewed.

The model predicts values below zero

Cause: a positive variable with an SD close to or larger than the mean. Fix: the normal model does not fit. Try a log transform or empirical percentiles.

The binomial warning says np or n(1 − p) is below 5

Cause: too few expected successes or failures for a symmetric bell. Fix: read the exact binomial value shown beside the approximation and report that one.

The uploaded file shows no numeric columns

Cause: the first row is not a header, numbers use commas as decimals, or cells contain units. Fix: put names in row 1, use full stops for decimals, and move units to the header.

Charts do not appear

Cause: the chart library was blocked by a browser extension or a very slow connection. Fix: reload the page. All numbers and tables still work without the charts.

Percentile field gives an error

Cause: the percentile must be above 0 and below 100. Fix: type 90 for the 90th percentile, not 0.9.

⚖ 17. Assumptions and Limitations

Assumptions

  1. The variable is continuous. Check: it can take any value in a range. If it fails: probabilities for exact values are wrong; for counts, use the continuity correction or the exact distribution.
  2. The population is normal. Check: Shapiro-Wilk, Q-Q plot, histogram, skewness and kurtosis. If it fails with right skew: right-tail probabilities are underestimated and left-tail ones are overestimated. With heavy tails: probabilities beyond 2 SD are underestimated.
  3. Values are independent. Check: each unit measured once, no clustering. If it fails: the SD is usually underestimated, so tail probabilities look smaller than they are.
  4. μ and σ are well estimated. Check: n of at least 30. If it fails: with small n the estimated σ is noisy, and tail probabilities can be off in either direction.
  5. One population per group. Check: one peak in the histogram. If it fails: the fitted curve is too wide and describes neither subgroup.

Limitations

  • The tool treats estimated μ and σ as if they were exact. For a prediction interval for one new value, use the t distribution instead.
  • The Shapiro-Wilk test is limited to 3 to 5000 values. For larger data, use the Q-Q plot or the Kolmogorov-Smirnov test.
  • A normal model can never be proven, only shown to be a fair fit.
  • It does not fit a bivariate normal distribution. For two correlated variables, use correlation or regression tools.
  • Extreme tail probabilities (beyond 4 SD) are exact for the model but rarely true for real data. Use extreme value methods for rare events.

🏁 18. Conclusion

Your conclusion: ___. Run the analysis above to fill this paragraph with your own numbers.

A normal distribution calculator answers one simple question: what share of values lies on one side of a cut-off, or between two cut-offs? The method is always the same. Convert each value to a z score, then find the area under the standard normal curve. That area is the probability.

The hard part is not the arithmetic. It is knowing whether the normal model fits. That is why this tool always shows a Shapiro-Wilk test, skewness, kurtosis, a histogram with the fitted curve, a Q-Q probability plot and an empirical rule check next to every probability. When these agree that the data are approximately normal, you can report the probability with confidence. When they disagree, the probability in the tails is the first thing to go wrong.

For counts, the normal curve is a good approximation to the binomial distribution once np and n(1 − p) both reach 5, as long as you apply the 0.5 continuity correction. For skewed data, a log transform or empirical percentiles usually serve better than forcing a bell curve onto the data.

Use the Excel, R and Python sections to repeat any result in your own software, and the reporting templates in Section 5 to write it up correctly. With the model checked and the question stated clearly, the normal distribution calculator gives an answer you can defend.

❓ 19. Frequently Asked Questions

Q1. What is a normal distribution calculator?

A normal distribution calculator finds the probability that a normally distributed variable falls below, above or between given values. You enter the mean and standard deviation, or raw data, and it converts each value to a z score and returns the area under the bell curve. This one also finds percentiles and checks whether your data are normal.

Q2. How do you calculate the probability of a normal distribution?

Convert the value to a z score with z = (x − μ) ÷ σ, then find the area to the left of z in a z table or with software. For leaf length with mean 52.44 and SD 4.19, x = 60 gives z = 1.80 and P(X ≤ 60) = 0.9643. For the right tail, subtract from 1.

Q3. What is the total area under a normal distribution curve?

The total area under any normal distribution curve is exactly 1, or 100%. Half of it, 0.5, lies to the left of the mean and half to the right. That is why the area between two points can be read directly as a probability.

Q4. How do you read a standard normal distribution table (z table)?

Find the first two digits of z (for example 1.8) down the left column, and the second decimal (0.00) across the top. The cell where they meet is Φ(z), the area to the left. For z = 1.80 the table gives 0.9641. Section 12 of this page has the full table.

Q5. How do you use a negative z table?

A negative z table lists areas to the left of negative z values, which are always below 0.5. For z = −1.80 the area is 0.0359. Because the curve is symmetric, Φ(−z) = 1 − Φ(z), so you can also use the positive table and subtract from 1.

Q6. What is the empirical rule for normal distribution?

The empirical rule, or 68-95-99.7 rule, says that about 68.27% of values lie within 1 standard deviation of the mean, 95.45% within 2 and 99.73% within 3. It only holds for normal or near-normal data. Chart 4 checks your data against it.

Q7. How to tell if data is normally distributed?

Use three checks together: a Shapiro-Wilk test (p above 0.05 means no evidence against normality), a normal Q-Q probability plot (points close to the straight line), and a histogram (one symmetric peak). Skewness and excess kurtosis close to 0 support the same conclusion.

Q8. Are the mean, median and mode equal in a normal distribution?

Yes. A normal distribution is perfectly symmetric with a single peak, so the mean, median and mode are the same value, μ. The median of a normal distribution is therefore also its mean. In real data they will differ slightly because of sampling.

Q9. What is the expected value and variance of a normal distribution?

The expected value of a normal distribution is its mean μ, and the variance is σ². For X ~ N(52.44, 4.19²), E(X) = 52.44 and Var(X) = 17.60. The standard deviation is the square root of the variance.

Q10. Which normal distribution has the greatest standard deviation?

The one with the widest and flattest curve. A larger σ spreads the same total area of 1 over a wider range, so the peak gets lower. When comparing graphs, pick the curve whose peak is lowest and whose tails reach furthest.

Q11. When can you use the normal distribution to approximate the binomial distribution?

When np ≥ 5 and n(1 − p) ≥ 5. Use mean np and SD √(np(1 − p)), and apply a continuity correction of 0.5. For n = 50 and p = 0.4, P(X ≤ 25) ≈ Φ((25.5 − 20) ÷ 3.464) = 0.9438, close to the exact 0.9427.

Q12. What is a bivariate normal distribution?

A bivariate normal distribution describes two variables that are jointly normally distributed, such as height and weight. It has two means, two standard deviations and a correlation ρ. Each variable on its own is normal, and every linear combination of the two is normal too.

Q13. Is the sum of normal distributions normal?

Yes, if the variables are jointly normal, which includes independent normals. The means add and the variances add: X + Y ~ N(μX + μY, σ²X + σ²Y). Standard deviations do not add; take the square root of the summed variances.

Q14. What does a normal distribution histogram look like?

A normally distributed histogram is bell shaped: tallest in the middle, falling off evenly on both sides, with no long tail and no second peak. Small samples look rough, so compare the bars with a fitted normal curve, as Chart 2 does, rather than expecting a perfect bell.

Q15. What should I do if my data is not normally distributed?

First check why: skew, outliers or two mixed groups. For right-skewed positive data, try a log transform and test again. You can also report empirical percentiles instead of normal ones, or use a non-parametric test for group comparisons. Never force a normal probability onto clearly non-normal data.

Q16. How do I calculate normal distribution probabilities in Excel?

Use =NORM.DIST(x, mean, sd, TRUE) for P(X ≤ x), and 1 minus that for the right tail. Use =NORM.INV(p, mean, sd) for percentiles and =NORM.S.DIST(z, TRUE) for z table values. The last argument must be TRUE; FALSE returns the curve height, not a probability.

Q17. How do I calculate normal distribution in R?

Use pnorm(x, mean, sd) for the left-tail probability, pnorm(x, mean, sd, lower.tail = FALSE) for the right tail, qnorm(p, mean, sd) for percentiles and shapiro.test(x) for normality. Section 10 has a complete script that also saves a 300 dpi figure.

Q18. How do I calculate normal distribution in Python?

Use scipy.stats.norm: norm.cdf(x, loc=mean, scale=sd) for P(X ≤ x), norm.sf for the right tail and norm.ppf for percentiles. Test normality with scipy.stats.shapiro(x). Remember ddof=1 when computing the SD with NumPy. Section 11 has the full script.

Q19. What is the difference between a normal and a standard normal distribution?

A normal distribution can have any mean and SD, N(μ, σ²). The standard normal distribution is the special case N(0, 1). Any normal value converts to a standard normal z score with z = (x − μ) ÷ σ, which is why one z table works for every normal curve.

Q20. Can I use this normal distribution calculator for my thesis?

Yes, for analysis, teaching and checking hand calculations. For formal submission, repeat the numbers in R, Python, SPSS or Excel with the scripts in Sections 9 to 11, and cite the software. You can also cite this tool with the APA or BibTeX entry in Section 20.

📑 20. Cite This Tool

APA 7th edition
StatsUnlock. (2026). Normal distribution calculator [Interactive statistical tool]. https://statsunlock.com/normal-distribution-calculator/
BibTeX
@misc{statsunlock_normal_2026, title={Normal Distribution Calculator}, author={{StatsUnlock}}, year={2026}, note={Interactive statistical tool}, url={https://statsunlock.com/normal-distribution-calculator/}}
Methods wording (updates with your results)
Normal distribution probabilities were computed using the StatsUnlock Normal Distribution Calculator (2026). The mean and standard deviation were estimated from the sample (n minus 1 denominator), and normality was assessed with the Shapiro-Wilk test (Royston, 1995) at alpha = 0.05, together with a normal Q-Q plot, a histogram, skewness and excess kurtosis.

🔗 21. Related Tools

📖 22. Glossary of Terms

TermPlain-English meaning
Bell curveEveryday name for the normal distribution, because of its shape.
Bivariate normal distributionA normal model for two variables at once, with a correlation between them.
Continuity correctionAdding or subtracting 0.5 when a normal curve approximates whole-number counts.
Cumulative probabilityThe area to the left of a value, P(X ≤ x).
DensityThe height of the curve. It shows where values are common, but it is not a probability.
Empirical ruleAbout 68%, 95% and 99.7% of normal values lie within 1, 2 and 3 SD of the mean.
Excess kurtosisTail weight compared with a normal curve. 0 is normal; above 0 means heavier tails.
Inverse normalGoing from a percentile back to the value, x = μ + z σ.
Mean (μ)The centre of the normal curve and its expected value.
Non normal distributionAny distribution that is not bell shaped, such as a skewed or two-peaked one.
Normal distributionA symmetric, bell-shaped distribution set by its mean and standard deviation.
Normality testA test of whether data could come from a normal distribution, such as Shapiro-Wilk.
PercentileThe value below which a given percent of values fall.
ProbabilityA number from 0 to 1 giving how likely something is. For a normal curve it is an area.
Q-Q plotA normal probability plot. Sorted data against normal quantiles; a straight line means normal.
Shapiro-Wilk testA normality test giving W (0 to 1) and a p value. Works for 3 to 5000 values.
SkewnessLopsidedness. 0 is symmetric; positive means a long right tail.
Standard deviation (σ)The typical distance of values from the mean. It sets the width of the curve.
Standard normal distributionThe normal distribution with mean 0 and SD 1, N(0, 1).
TailThe far ends of the curve, where values are rare.
Variance (σ²)The square of the standard deviation.
Z scoreHow many standard deviations a value lies from the mean.
Z tableA table of areas to the left of each z value under the standard normal curve.

📚 23. References

These peer-reviewed articles support the methods in this normal distribution calculator: the normal model itself, the Shapiro-Wilk and other normality tests, probability plots, the empirical rule, the binomial approximation and the numerical methods used for Φ and its inverse.

  1. Altman, D. G., & Bland, J. M. (1995). Statistics notes: The normal distribution. BMJ, 310(6975), 298. https://doi.org/10.1136/bmj.310.6975.298
  2. Anderson, T. W., & Darling, D. A. (1954). A test of goodness of fit. Journal of the American Statistical Association, 49(268), 765–769. https://doi.org/10.1080/01621459.1954.10501232
  3. Cody, W. J. (1969). Rational Chebyshev approximations for the error function. Mathematics of Computation, 23(107), 631–637. https://doi.org/10.1090/S0025-5718-1969-0247736-4
  4. D'Agostino, R. B., Belanger, A., & D'Agostino, R. B., Jr. (1990). A suggestion for using powerful and informative tests of normality. The American Statistician, 44(4), 316–321. https://doi.org/10.1080/00031305.1990.10475751
  5. Das, K. R., & Imon, A. H. M. R. (2016). A brief review of tests for normality. American Journal of Theoretical and Applied Statistics, 5(1), 5–12. https://doi.org/10.11648/j.ajtas.20160501.12
  6. Ghasemi, A., & Zahediasl, S. (2012). Normality tests for statistical analysis: A guide for non-statisticians. International Journal of Endocrinology and Metabolism, 10(2), 486–489. https://doi.org/10.5812/ijem.3505
  7. Kim, H.-Y. (2013). Statistical notes for clinical researchers: Assessing normal distribution (2) using skewness and kurtosis. Restorative Dentistry & Endodontics, 38(1), 52–54. https://doi.org/10.5395/rde.2013.38.1.52
  8. Kwak, S. G., & Kim, J. H. (2017). Central limit theorem: The cornerstone of modern statistics. Korean Journal of Anesthesiology, 70(2), 144–156. https://doi.org/10.4097/kjae.2017.70.2.144
  9. Lilliefors, H. W. (1967). On the Kolmogorov-Smirnov test for normality with mean and variance unknown. Journal of the American Statistical Association, 62(318), 399–402. https://doi.org/10.1080/01621459.1967.10482916
  10. Lumley, T., Diehr, P., Emerson, S., & Chen, L. (2002). The importance of the normality assumption in large public health data sets. Annual Review of Public Health, 23, 151–169. https://doi.org/10.1146/annurev.publhealth.23.100901.140546
  11. Micceri, T. (1989). The unicorn, the normal curve, and other improbable creatures. Psychological Bulletin, 105(1), 156–166. https://doi.org/10.1037/0033-2909.105.1.156
  12. Mishra, P., Pandey, C. M., Singh, U., Gupta, A., Sahu, C., & Keshri, A. (2019). Descriptive statistics and normality tests for statistical data. Annals of Cardiac Anaesthesia, 22(1), 67–72. https://doi.org/10.4103/aca.ACA_157_18
  13. Pukelsheim, F. (1994). The three sigma rule. The American Statistician, 48(2), 88–91. https://doi.org/10.1080/00031305.1994.10476030
  14. Royston, J. P. (1982). An extension of Shapiro and Wilk's W test for normality to large samples. Journal of the Royal Statistical Society: Series C (Applied Statistics), 31(2), 115–124. https://doi.org/10.2307/2347973
  15. Royston, P. (1995). Remark AS R94: A remark on algorithm AS 181: The W-test for normality. Journal of the Royal Statistical Society: Series C (Applied Statistics), 44(4), 547–551. https://doi.org/10.2307/2986146
  16. Schader, M., & Schmid, F. (1989). Two rules of thumb for the approximation of the binomial distribution by the normal distribution. The American Statistician, 43(1), 23–24. https://doi.org/10.1080/00031305.1989.10475601
  17. Shapiro, S. S., & Wilk, M. B. (1965). An analysis of variance test for normality (complete samples). Biometrika, 52(3–4), 591–611. https://doi.org/10.1093/biomet/52.3-4.591
  18. Stigler, S. M. (1982). A modest proposal: A new standard for the normal. The American Statistician, 36(2), 137–138. https://doi.org/10.1080/00031305.1982.10482818
  19. Wichura, M. J. (1988). Algorithm AS 241: The percentage points of the normal distribution. Journal of the Royal Statistical Society: Series C (Applied Statistics), 37(3), 477–484. https://doi.org/10.2307/2347330
  20. Wilk, M. B., & Gnanadesikan, R. (1968). Probability plotting methods for the analysis of data. Biometrika, 55(1), 1–17. https://doi.org/10.1093/biomet/55.1.1
STATS UNLOCK · statsunlock.com · Normal Distribution Calculator
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Important Plots & Charts

Calculators and Converters