Dexaloop Tools

Grade curve calculator

Curve a set of test scores by adding points, scaling the top score to 100 or the square root method, and compare the results. Nothing you type leaves your browser.

One per line, or separated by commas or spaces. You can paste a column from a spreadsheet, with names in the first column if you like. Use a dot for decimals.

%

Leave empty for 100%.

Scores stay in your browser
Class average after the curve
0%
Paste or type the scores to curve.
BeforeAfter
Average
00
Median
00
Highest
00
Lowest
00
Letters (common 10-point scale)
A
00
B
00
C
00
D
00
F
00
See every score

A curve is a teaching decision. Check your school's grading policy before you change grades.

Scores before and after

Enter scores above to see each one curved.

How to use the grade curve calculator

  1. Paste the scores. One per line, or separated by commas or spaces. You can paste a column straight from a spreadsheet, and a column of names beside the scores is fine too.
  2. Set what the test is out of, such as 100 or 50. Scores are turned into percents before they are curved.
  3. Choose a curve method and, where it asks, a target. The results show the class average, median, highest and lowest score before and after, how many of each letter, and a table of every score.

Copy as CSV copies the table so you can paste it into Excel or Google Sheets. The scores and any names stay in your browser: nothing is uploaded or saved. Letters use a common 10-point scale (A 90 and up, B 80 to 89, C 70 to 79, D 60 to 69, F below 60), the one NCES uses to standardize transcripts; your school may use its own. Two rules apply to every method: no curve lowers a score, and with Cap curved scores at 100% on, no curve pushes a score above 100.

How to curve grades: the methods compared

Here is one class of six, scored out of 100, curved four ways. Before the curve the average is 67, the median 67.5, the highest 88 and the lowest 45.

ScoreAdd 12 pointsScale × 100/88Square rootAverage to 75
8810010093.896
768886.487.284
708279.583.778
657773.980.673
587065.976.266
455751.167.153
Avg 677976.181.475
  • Add points so the top score becomes 100. Everyone gets the same 100 − 88 = 12 points. Simple to explain, and the gaps between students stay the same.
  • Scale so the top score becomes 100. Every score is multiplied by 100 ÷ 88 = 1.136. A higher score gains more points than a lower one: 76 gains 10.4, while 45 gains only 6.1.
  • Square root curve. The lowest scores gain the most, so it is the kindest to a struggling student. See below.
  • Shift to a target class average. Everyone gets the same number of points, chosen so the class average lands on the target: 75 − 67 = 8 points here.

The calculator can also add a set number of points (in the test's own points, so 3 points on a 50-point test is 6%) and show bell curve letters. You can set a target other than 100, for example so the top score becomes 95.

The square root curve

The square root curve replaces each percent with 10 times its square root:

Curved score = 10 × √score

An 81 becomes 10 × 9 = 90, a 64 becomes 80, a 49 becomes 70 and a 36 becomes 60. A score of 100 stays 100, and 0 stays 0. The lower the score, the bigger the lift: 81 gains 9 points, 36 gains 24. Because it works on percents, a score out of 50 is turned into a percent first, so 32 out of 50 is 64%, which becomes 80.

Capping at 100 and a target average

When you shift the class to a target average, a high score can go past 100. With the cap on, it stops at 100, and the class average then lands a little below the target. Two students on 98 and 60 have an average of 79. Shifting to 90 adds 11 points: 98 becomes 109, capped to 100, and 60 becomes 71, so the new average is 85.5 rather than 90. The calculator tells you when this happens. Untick the cap if your gradebook allows scores over 100.

If the class average or the highest score is already at or above the target, the calculator leaves every score as it was rather than lowering anyone.

Bell curve grades

"Grading on a bell curve" means giving letters by where a score sits compared with the rest of the class, not by fixed cut-offs. This calculator does it in a plain, common way. For each score it works out a z-score: how many standard deviations the score is above or below the class average.

z = (score − class average) ÷ standard deviation

Then: A for z of 1.5 or more, B from 0.5 to 1.5, C from −0.5 to 0.5, D from −1.5 to −0.5, and F below −1.5. The scores themselves do not change. The standard deviation is taken over the whole class, like Excel's STDEV.P, which Microsoft says "assumes that its arguments are the entire population".

In the class above the average is 67 and the standard deviation is 13.54. The 88 has z = 1.55, an A; 76 has 0.66, a B; 70 and 65 are Cs; 58 has −0.66, a D; and 45 has −1.62, an F.

Before you use it, know what it does. If scores really did follow a normal bell shape, these bands would give about 7% A, 24% B, 38% C, 24% D and 7% F. That means a class that all did well can still end up with Ds, and in a small class one score shifts the average and the spread enough to change several letters. Many teachers use one of the point-based curves above instead.

How to curve grades in Excel or Google Sheets

With the scores (out of 100) in A2:A31, put one of these in B2 and fill it down:

CurveFormula for B2
Top score becomes 100 (add points)=MIN(100, A2+(100-MAX($A$2:$A$31)))
Top score becomes 100 (scale)=A2*100/MAX($A$2:$A$31)
Square root curve=SQRT(A2)*10
Class average becomes 75=MIN(100, A2+(75-AVERAGE($A$2:$A$31)))

The dollar signs keep the range fixed as you fill down. Microsoft describes MAX as returning "the largest value in a set of values", MIN as returning "the smallest number in a set of values", and SQRT as returning "a positive square root"; AVERAGE "Returns the average (arithmetic mean) of the arguments". Google Sheets works the same way; its help says SQRT "Returns the positive square root of a positive number".

For scores out of 50, turn them into percents first, for example =SQRT(A2/50*100)*10. Unlike this calculator, the formulas do not stop a score from going down: if the class average is already above 75, the last one subtracts points, and MIN pulls an extra-credit score above 100 back to 100. Wrap a formula in MAX(A2, ...) to keep every score at least where it was.

Questions and answers

How do I curve grades so the highest score is 100?

Either add 100 minus the highest score to every score, or multiply every score by 100 divided by the highest score. With a top score of 88, the first adds 12 points to everyone and the second multiplies by 1.136.

What is the square root curve?

Each percent is replaced by 10 times its square root, so 81 becomes 90, 64 becomes 80 and 49 becomes 70. Low scores gain the most, and 100 stays 100.

Which curve is the fairest?

There is no single answer. Adding the same points to everyone keeps the gaps between students the same, scaling gives more to higher scores, and the square root curve gives more to lower scores. Pick the one that matches why you are curving, and use it for the whole class.

Does grading on a bell curve mean some students must fail?

Not in this calculator, which uses z-scores rather than a fixed share of each letter. But a student far below the class average gets an F even if their score would pass on a normal scale, and a strong class can still get Ds.

How do I curve grades in Excel?

With scores in A2:A31, use =MIN(100, A2+(100-MAX($A$2:$A$31))) to add points so the top score is 100, or =SQRT(A2)*10 for the square root curve, and fill it down.

Are the scores uploaded anywhere?

No. The calculator runs in your browser. Scores and names are not sent or saved, and they are gone when you close the page.

Sources

Checked on 8 October 2026. If a rule has changed, please tell us.

More school tools

All school tools