GPA is the single most-tracked academic number in American education — and also one of the most misunderstood. What it means, how it's calculated, and what matters about it differs between high school and college, weighted and unweighted, and semester vs cumulative calculations.
The 4.0 Scale
Most US schools use a 4.0 scale, converting letter grades to grade points:
- A / A+ = 4.0 · A− = 3.7
- B+ = 3.3 · B = 3.0 · B− = 2.7
- C+ = 2.3 · C = 2.0 · C− = 1.7
- D+ = 1.3 · D = 1.0 · F = 0.0
How GPA Is Calculated
GPA is a weighted average of grade points, weighted by credit hours. For each course: multiply the grade points by the credit hours. Sum all of those products. Divide by total credit hours.
Example: A (4.0) in a 3-credit course = 12 quality points. B+ (3.3) in a 4-credit course = 13.2. C (2.0) in a 3-credit course = 6. Total quality points: 31.2. Total credits: 10. GPA = 31.2 ÷ 10 = 3.12.
💡 One bad grade matters more in high-credit courses. An F in a 4-credit core course (0 quality points × 4 = 0) damages your GPA far more than an F in a 1-credit elective. This is why retaking high-credit courses after a poor grade has an outsized GPA impact.
Weighted vs Unweighted GPA
High schools often use weighted GPA, which adds bonus points for harder courses. AP and IB courses typically add 0.5 or 1.0 points — so an A in AP Chemistry might count as 4.5 or 5.0. Unweighted GPA treats all courses equally. Colleges receive both and consider which courses you took alongside the GPA itself.
What's a Good GPA?
- 3.9–4.0: Excellent — top of class
- 3.5–3.8: Strong — honors range
- 3.0–3.4: Good — solid academic standing
- 2.5–2.9: Average — meets minimum requirements at most schools
- Below 2.0: Academic probation territory at most colleges
Cumulative vs Semester GPA
Semester GPA covers only the current term. Cumulative GPA covers everything from day one. Admissions and employers almost always want cumulative GPA. Semester GPA is useful for tracking improvement — a strong upward trend (2.5 → 3.2 → 3.6) tells a story that the cumulative 3.1 doesn't fully capture.