Final exam grade needed calculator
Find the score you need on the final to finish with the course grade you want: with an 85 now, a 90 target and a final worth 20%, you would need 110, so the best reachable grade is 88. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Current grade
- 85
- Target grade
- 90
- Final exam weight
- 20
- Remaining weight
- 80
- Weight fraction
- 0.2
- Current contribution
- 68
- Needed on final
- 110
The question students type into a search bar the week before finals is almost always the same: what grade do I need on the final exam to finish the course with a B or an A? This calculator answers that with a three-number contract. You enter your current course grade, the overall grade you want after the exam, and the weight of the final as a percent of the syllabus.
How the needed final score is worked out
Most syllabi give the final exam a stated share of the course, such as 20, 30 or 40 percent, and everything already graded fills the rest. Your current course grade already folds those finished categories together, so you only need three numbers: the grade you hold now, the grade you want and the final's weight. The calculator takes the part of the target your earlier work already covers and asks the final to supply the gap. With an 85 now and a final worth 20 percent, earlier work still counts for 80 percent of the course and contributes 68 points. Reaching a 90 needs 22 more points from that 20 percent, which means 110 on the exam.
Reading the answer honestly
The result is exact even when it is uncomfortable. If the needed score is above the top of the scale, the target is out of reach even with a perfect paper, and the tool shows the best course grade still possible, 88 in the example above, with a shortfall of 10. If the needed score is zero or below, the target is already secured: even a zero on the final would still meet it. Anything in between is still in play. Use the same scale for every number, and set a different maximum when your course is graded out of 20 points or allows extra credit.
What “grade needed on the final” means and how the score is solved
Most syllabi publish a single remaining assessment whose weight is a percent of the whole course: the final is twenty percent, thirty percent, forty percent, or some other stated share, and everything already graded occupies the complementary remainder. If your current course grade already folds those finished categories together, you do not need to re-enter every quiz. Example: current eighty-five, target ninety, final twenty percent.
Prior work still counts as eighty percent, so it contributes sixty-eight points to the course. The remaining twenty percent must supply the twenty-two point gap, which means one hundred ten on the exam. Here the only moving parts are the grade you hold now, the grade you want, the final’s percent of the course, and optionally the scale ceiling.
What you can do with it
Finals-week target planning
Enter current grade, desired course grade, and the final’s percent weight to see the exact exam score you must earn.
FAQ
Is this the same as a total-points letter or multi-item grade calculator?
No. This tool assumes you already have a current overall grade and a single remaining weighted final. Total-points letter gaps and category-by-category averages are different search intents.
What does it mean if I need more than 100 on the final?
It means the target is out of reach on a standard scale, even with a perfect paper. The tool still shows the exact score, the best course grade you can reach and how far short of the target that leaves you.
What if the needed score comes out as zero or negative?
Your target is already secured. Earlier work overshoots it so much that even a zero on the final would still leave you at or above the grade you want.
Can I use a scale other than 100, such as 20 points?
Yes. Set the maximum score of your scale, which is 100 by default, and enter your current and target grades on that same scale. A higher maximum also covers exams with extra credit.
Do I need to enter every quiz and assignment?
No. Your current course grade already combines everything graded so far, so you only need that grade, the grade you want and the final's percentage of the course.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/edu/final-exam-grade-needed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_grade":85,"target_grade":90,"final_weight":20}'const res = await fetch("https://api.kit.forhosting.com/edu/final-exam-grade-needed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_grade": 85,
"target_grade": 90,
"final_weight": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/final-exam-grade-needed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_grade": 85,
"target_grade": 90,
"final_weight": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/final-exam-grade-needed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_grade":85,"target_grade":90,"final_weight":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_grade":85,"target_grade":90,"final_weight":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/final-exam-grade-needed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"current_grade": 85,
"target_grade": 90,
"final_weight": 20
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.final_exam_grade_needed",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The tool rearranges the weighted-course identity so the unknown is the exam score itself, then returns that exact needed_on_final value plus whether the target is already secured, still attainable on a standard scale, or mathematically out of reach even with a perfect paper. Optional max_score covers percent courses, twenty-point scales, and extra-credit ceilings without changing the algebra.
What “grade needed on the final” means and how the score is solved
The course identity is simply current_grade times one minus w, plus the unknown exam score times w, and that combination must equal the target_grade you want on the transcript. Solving for the exam score gives needed equals target minus current times one minus w, all divided by w, where w is final_weight divided by one hundred. That number is exact even when it is uncomfortable: the API reports needed_on_final as one hundred ten, attainable as false, shortfall as ten, and max_possible_course as eighty-eight, so you can see both the algebra and the ceiling. When the solved exam score is zero or negative, already_secured is true: even a zero on the final would still meet the target because prior work already overshoots. When the solved score sits between zero and max_score, the target is still in play and needed_practical equals needed_on_final. This landing is not a total-points letter-gap tool and not a multi-item weighted-average form: those answer different searches.
Input contract, optional scale ceiling, and error behaviour
Numeric strings and a trailing percent sign are accepted so a form that submits “20%” still parses. POST a JSON body with three required finite numbers: current_grade (non-negative, the mark you already have on the course scale), target_grade (non-negative, the overall mark you want after the final), and final_weight (percent of the course, strictly greater than zero and at most one hundred). Aliases current, current_score, and now map to current_grade; target, desired, and goal map to target_grade; weight, exam_weight, and final_percent map to final_weight. Optional max_score (aliases max, exam_max, scale) is the positive ceiling of the exam and course scale and defaults to one hundred; it never changes the solved exam score, only the attainability flag, the shortfall, and the min and max possible course grades if you score zero or the ceiling. On success the body echoes the inputs, remaining_weight, weight_fraction, current_contribution, needed_on_final, needed_practical (zero when the target is already secured), already_secured, attainable, max_score, min_possible_course, max_possible_course, plus formula and method weighted_final_needed for stable clients. When the needed exam score exceeds max_score, shortfall is the extra points the ceiling cannot supply. Missing fields, non-finite values, a negative current or target, a non-positive max_score, and a final_weight of zero or above one hundred fail with invalid_input naming the field; those validation failures are not billed. Example: current eighty-eight, target ninety, final forty percent yields needed_on_final ninety-three and attainable true, a plan you can take into the last study week.
Where a final-exam-needed API earns its keep
Advising offices and teaching assistants hear “what do I need on the final?” more than any other grade question in the last month of term; a shared oracle with a published formula stops spreadsheet drift between office hours, tutoring centers, and student group chats. Failed validation does not consume balance. When the syllabus is total-points letters or a long list of uncombined category scores, use the dedicated tools for those intents; this page stays on the three-number final-weight question students actually search. Parents and coaches can walk a learner through an unattainable target honestly—showing max_possible_course instead of a pep-talk number—and then lower the target or discuss extra credit with the same contract. Keep requests small, pin needed_on_final and attainable in tests, and you get reproducible finals-week planning for LMS plugins, edge workers, and classroom demos without standing up a custom grading spreadsheet of your own.
Integration use cases
Unattainable-target reality check
When needed_on_final exceeds the scale ceiling, read shortfall and max_possible_course instead of planning for an impossible paper.
Advising and LMS automation
Call the same deterministic API from portals or advising scripts so every client agrees on the grade needed on the final.
Technical questions
How do I calculate what grade I need on the final exam?
Enter current_grade, target_grade, and final_weight as a percent of the course. The API solves needed = (target − current × (1 − w)) / w with w = final_weight / 100 and returns needed_on_final.
What if the needed final exam score is over 100?
needed_on_final is still the exact algebra. attainable is false, shortfall is how far the score exceeds max_score (default 100), and max_possible_course is the best overall grade a perfect exam can produce.
What if the calculator says I need a negative score?
already_secured is true: prior work already meets the target even if you score zero on the final. needed_practical is reported as 0 so planners do not ask for a negative exam mark.
What does the final exam grade needed calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.