Bell Curve Grade Calculator

Bell Curve Grade Calculator

Convert a score to a z-score, rescale it to a target mean and SD, and see letter boundaries from z cutoffs you enter. Percentiles assume scores are approximately normal.

Your class

Enter the class score list, or enter a class mean and SD directly.

Z-scores
StudentRaw score

Population SD describes the class you entered. Sample SD estimates a larger population from a sample. The choice changes every z-score.

With very small classes, treat z-scores and shares as illustrative only — a few scores do not establish a distribution shape.

Your score

Letter boundaries from z cutoffs (example cutoffs — change them)

LetterZ cutoffRaw boundaryShare if normal

SD convention comparison

Empirical Rule (68–95–99.7)

The z-score

A z-score tells you how many standard deviations a value sits above or below the mean:

z = (Score − Class mean) ÷ Class SD

The inverse form recovers a raw score from a z-score:

Score = Class mean + z × Class SD

The standard normal distribution is Z ~ N(0, 1) — mean 0, SD 1. The Empirical Rule (OpenStax Introductory Statistics §6.1) says that for a normally distributed variable, about 68% of values lie within ±1 SD of the mean, about 95% within ±2 SD, and about 99.7% within ±3 SD. The critical scope condition: the Empirical Rule and z-to-percentile readings hold if the data are normally distributed. Real class score sets are often skewed, bimodal, or small. A z-score itself is always computable, but interpreting it as a percentile assumes approximate normality.

Population vs sample SD

OpenStax §2.7 gives both formulas:

Population SD: σ = √[ Σ(x − μ)² ÷ N ]   ·   Sample SD: s = √[ Σ(x − x̄)² ÷ (n − 1) ]

Divide by N when the numbers come from a census of the entire population; divide by n − 1 when the data are a sample used to estimate a larger population. For a class grade set, the defensible reading is: if the entered scores are the entire class and the purpose is describing that class, population formulas describe that finite set exactly; if the scores are a sample used to estimate a larger population, sample formulas are the estimator. This page states which one is used and offers both — silently using one while the user assumes the other changes every z-score and every bell-curved grade.

Worked example — the SD choice matters. Class set [40, 55, 65, 75, 90], mean 65.0. Squared deviations: 625 + 100 + 0 + 100 + 625 = 1,450. Population variance = 1,450 ÷ 5 = 290 → σ = 17.03. Sample variance = 1,450 ÷ 4 = 362.5 → s = 19.04. Rescaling a raw 40 to a 75/10 target: population gives z = −1.468 → 60.32; sample gives z = −1.313 → 61.87. The same raw score yields 60.32 versus 61.87 depending only on the SD convention — a 1.55-point difference from a definitional choice the user never sees unless the page states it.

Rescaling to a target mean and SD

Convert each score to a z-score, then map it onto a target distribution:

Curved = Target mean + z × Target SD

Target mean and SD are teacher choices, not constants. This page’s 75 / 10 defaults are editable examples — no source establishes a standard target. The method can lower a score: with the class set above and a 75/10 target, a raw 90 maps to 89.68 (population SD) — a small decrease. Any claim that curves never lower a grade is wrong for this method.

Letter boundaries from z cutoffs — there is no standard table

No published statistics textbook and no institutional source prescribes a universal z-cutoff-to-letter table. Any cutoff table is an instructor’s or a calculator’s choice. This page starts with example cutoffs — A at z ≥ +1.5, B at +0.5, C at −0.5, D at −1.5 — and lets you change them. With a class mean of 70 and SD of 10, those example cutoffs give raw boundaries A ≥ 85, B ≥ 75, C ≥ 65, D ≥ 55, F < 55. If scores were exactly normally distributed, the shares would be 6.68% A, 24.17% B, 38.29% C, 24.17% D, 6.68% F. The percentages are properties of the normal distribution; the cutoffs that produce them are the illustrator’s choice.

Contrast with a real instructor’s table: Ohio State Astronomy 161 (mean 34.81/50 = 69.62%, SD 6.94 = 13.88%) used cutoffs A 42–50, B 35–41, C 28–34, D 23–27, E 0–22. In z terms: A ≈ +1.04, B ≈ +0.03, C ≈ −0.98, D ≈ −1.70. The instructor describes the rule of thumb as “mean = C+, bins about one SD wide,” then adjusts by judgment, historical question statistics, and question review. The real table does not match the example table: same z framework, different cutoffs, different bin widths, different letter labels (E, not F). That contrast is itself the evidence that no standard table exists.

Quota grading is a different method

Some instructors assign fixed shares — for example, top 10% A, next 20% B, middle 40% C, bottom 30% D/F. That is a rank/quota method, not a z-transform: it needs no mean or SD, and it guarantees some students get low grades even if the whole class mastered the material. The University of Alberta forbids mandating grades by quota. No source establishes any particular quota split as standard practice. Keep quota grading separate from z-score rescaling — this page does not present quota shares as standard.

Small classes

Bell-curve statistics from tiny samples are unstable, and a few scores do not establish a distribution shape. Treat z-scores and shares from very small classes as illustrative only. This page does not set a number for “small” — the warning is qualitative, because no source sets a threshold.

Assumptions on this page

  • Target mean / SD (75 / 10): editable example defaults, not rules.
  • Cutoffs (1.5 / 0.5 / −0.5 / −1.5): editable example cutoffs, not a standard table.
  • SD convention: population by default; both offered; the choice is stated in the result.
  • Percentile and share readings: assume scores are approximately normally distributed — stated wherever they appear.

Common mistakes

  • Reading a percentile from a z-score without the normality caveat. The percentile only holds if scores are roughly bell-shaped.
  • Assuming a standard cutoff table. There is none — the real and example tables above disagree.
  • Assuming bell curves only raise scores. Rescaling to a lower target mean or SD lowers above-average scores.
  • Using one score alone. A single score has no class mean or SD; bell methods need the class set or a supplied mean and SD.
  • Confusing quota grading with z-rescaling. Different methods, different math, different guarantees.
  • Accepting a silent SD convention. Population versus sample changes every result — check which one is in use.

Full walkthrough: How to Grade on a Bell Curve. Other curve methods: Grade Curve Calculator. Test scores: Test Grade Calculator.

Bell Curve Grade Calculator FAQ

What is a z-score?

A z-score tells you how many standard deviations a value sits above or below the mean: z = (score − mean) ÷ SD. A score at the mean has z = 0. A score one SD above the mean has z = +1. The standard normal distribution is Z ~ N(0, 1) — mean 0, SD 1.

Population or sample SD — which one?

Use population SD (divide by N) when your scores are the entire class. Use sample SD (divide by n − 1) when your scores are a sample used to estimate a larger population. This page shows which one is in use and lets you switch — the choice changes every z-score and every rescaled grade.

What does a percentile from a z-score assume?

It assumes scores are approximately normally distributed. A z-score itself is always computable, but reading it as “you beat X% of the class” only holds if the class scores are roughly bell-shaped. Real class scores are often skewed, bimodal, or small. This page states the caveat wherever a percentile appears.

Can a bell-curve rescale lower my score?

Yes. If the target mean or SD you enter is below your class's actual mean or SD, above-average scores map downward. Example: a raw 90 rescales to 89.68 under a 75/10 target with the research class set. A bell-curve rescale can raise or lower a score.

What are the z cutoffs for letter grades?

There is no standard table. This page starts with example cutoffs — A at z ≥ +1.5, B at +0.5, C at −0.5, D at −1.5 — and lets you change them. One real instructor (Ohio State Astronomy 161) used different cutoffs: about +1.04, +0.03, −0.98, −1.70. Change the cutoffs to match your teacher's.

What if my class is small?

Treat z-scores and shares as illustrative only. A few scores do not establish a distribution shape, and bell-curve statistics from tiny samples are unstable. This page does not set a cutoff for “small” — the warning is qualitative.