Grade Calculator

Combine your assignment scores and weights, or find the final-exam score you need.

%
%
%
%
%
%
%
%
%
%
%
%
%
Needed-final mode: your grade so far, before the final.
%
Needed-final mode: the overall grade you want.
%
Needed-final mode: how much of the course the final exam is worth.
Overall grade
Letter grade
Score needed on final
Total weight used

Results update as you type.

About this calculator

A grade calculator finds your overall course grade from the scores you earned on each component and how much each is worth. It multiplies every score by its weight, adds the results and divides by the total weight, so it works even if your weights do not add up to exactly 100% — a partial gradebook still shows your standing so far. It also converts the result to a letter grade and shows a per-item breakdown and an earned-versus-remaining chart.

Worked example: homework 85% (weight 20), a midterm 90% (weight 30) and a final 88% (weight 50) give (85×20 + 90×30 + 88×50) ÷ (20 + 30 + 50) = 8800 ÷ 100 = 88%, a solid B+.

Switch to the “needed final” mode to work backwards: enter your current grade, your target and how much the final is worth, and it solves target = current × (1 − w) + final × w for the score you need on that final. If that score comes out above 100% the tool flags the target as not achievable, and if it is below 0% it tells you the grade is already secured. Students use both modes to track a class through the term and to plan exactly how hard to push on the last exam.

Frequently asked questions

How is a weighted grade calculated?

Each score is multiplied by its weight, the results are summed, and the total is divided by the sum of the weights. With an 85% homework (20%), 90% midterm (30%) and 88% final (50%), the grade is (85·20 + 90·30 + 88·50) ÷ 100 = 88%.

How do I find the grade I need on the final?

Switch to “Score needed on final” and enter your current grade, your target and the final’s weight. The tool solves target = current × (1 − w) + final × w for the final, so needing 90% overall from an 82% standing with a final worth 30% means you need (90 − 82 × 0.7) ÷ 0.3 ≈ 108.7% — a warning that the target is out of reach.

What if my weights do not add up to 100%?

That is fine in overall mode — the calculator divides by the total weight you entered, so a partial gradebook still gives your current standing, and it reports the total weight used so you can see how much of the course is accounted for.

What letter grade does my percentage get?

The tool maps your overall percentage onto the standard US scale — 90% and up is an A range, the 80s a B, the 70s a C, the 60s a D and below 60 an F, with plus and minus bands inside each range. So the 88% in the example above shows as a B+.

Can I add more than three assignments?

Yes — open advanced options to reveal items four, five and six, each with its own score and weight. Any item left at zero weight is ignored, so you only enter as many components as your gradebook actually has.

What is the highest grade I can still get?

In needed-final mode, put 100 as the score you could earn on the final: the best possible overall grade is current × (1 − final weight) + 100 × final weight. If even that falls short of your target, the calculator shows the needed score as over 100% and marks it not achievable.

Is a grade calculator the same as a GPA calculator?

No. A grade calculator finds one class’s percentage from its assignments; a GPA calculator combines the final letter grades of several classes, weighted by credit hours, into a grade point average. Use this to find each course grade, then feed those into the GPA calculator.

❤️ Love Calculator.Free? Share it

𝕏  X Facebook Reddit
API — use this calculator from code

Call this calculator as a free JSON endpoint — no key required. Send the field values below as query parameters or JSON. Read the full API docs →

Endpoint

GET https://calculator.free/api/v1/grade/

curl

curl "https://calculator.free/api/v1/grade/?mode=overall&s1=85&w1=20&s2=90&w2=30&s3=88&w3=50"

JavaScript fetch()

const r = await fetch(
  "https://calculator.free/api/v1/grade/?" + new URLSearchParams({
    "mode": "overall",
    "s1": "85",
    "w1": "20",
    "s2": "90",
    "w2": "30",
    "s3": "88",
    "w3": "50"
  }));
const data = await r.json();
console.log(data.results);

Results are estimates for general guidance only, not financial, medical or tax advice.