Weighted Grades · GPA · Multiple Grading Systems
Grade Calculator
Calculate your weighted average grade, letter grade and GPA instantly. Supports US, UK, Pakistani, Bangladeshi, Australian and Indian grading systems. Fully usable on mobile.
All calculations happen in your browser, your grades are never sent to any server
● Pro Version is Free for now
✓ Target Grade Calculator · What-If Simulator ·
Filters · Semester Planner & PDF Report
Filters · Semester Planner & PDF Report
Day
Night
Your Overall Grade
—
Overall Average
weighted %
—
Letter / Grade
grade band
—
GPA / Points
out of 4.0
—
Status
pass threshold
How this is calculated
Overall Average = Σ (Score % × Weight) ÷ Σ Weight
%
📚 Subjects / Assignments
Subject / Assignment
Score
Weight %
Max
Grade
📊 Grade Distribution
Export your grade report
📖 Grading Scale Reference
🔍 Filter & Search PRO
🎯 Target Grade Calculator PRO
What do I need to score?
—
Score needed on remaining work
Enter your current average, work completed and target grade above
🔮 What-If Grade Simulator PRO
Drag sliders to see how changing each score affects your overall grade.
Simulated overall average
—
📅 Semester GPA Planner PRO
Track GPA across semesters to see your cumulative trend.
Cumulative GPA
—
📖 Quick Reference
1Weighted average each subject's score counts toward the total based on its weight, not equally.
2Weights should sum to 100 otherwise the average can be skewed, check your totals.
3Passing threshold set this to match your institution, it varies by school and country.
4Letter grade systems differ a B in one country's scale is not the same percentage as a B elsewhere.
💡 Grade Tips PRO
${t}
`).join('');
}// ── UTILS ─────────────────────────────────────────────────────
function escHtml(s){return String(s||'').replace(/&/g,'&').replace(//g,'>');}
function escAttr(s){return String(s||'').replace(/"/g,'"').replace(/'/g,''');}
function toast(msg){const t=document.getElementById('toast');t.textContent=msg;t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2800);}// ── INIT ──────────────────────────────────────────────────────
renderSemesters();
recalculate();
try{
const m=localStorage.getItem('sst_grade_mode');
if(m==='pro') setMode('pro');
}catch(e){}