Calculate GPA
calculate_gpaUse this when the user wants to calculate their GPA (gpa calculator, gpa calculator college, gpa calculator high school, weighted gpa calculator, gpa calculator cumulative, gpa calculator with current gpa, gpa calculator from percentage, how to calculate gpa with credit hours or letter grades). Takes courses with letter grades (A+ to F), percentages, or P/NP/W, plus credits and level (regular, honors, AP, IB, dual enrollment). Returns exact unweighted and weighted GPA (2 and 3 decimals), cumulative GPA when previous GPA and credits are given, a quality points table, grade distribution, and the single course whose one-letter improvement raises the GPA most. Standard 4.0 scale by default; A+ value, weights, percent cutoffs, and letter points are adjustable because schools differ. Does not read transcripts, convert between countries' grading systems, or predict admissions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| courses | Yes | The courses for this term, e.g. [{"name":"Biology","grade":"A","credits":4},{"name":"Calculus","grade":"B+","credits":3}]. | |
| weights | No | Weighted-GPA bonus points by course level, e.g. {"honors":0.5,"ap":1}. Omit for the common defaults. | |
| grade_points | No | Override points for specific letters if the school's scale differs, e.g. {"A-":3.67,"B+":3.33}. | |
| previous_gpa | No | Cumulative GPA already on the transcript, for a cumulative result, e.g. 3.2. | |
| a_plus_points | No | Grade points for an A+: 4.0 (default, standard 4.0 scale) or 4.3 if the school awards 4.3. | |
| percent_cutoffs | No | Minimum percent for each passing letter, used to convert percentage grades, e.g. {"A":90,"B":80,"C":70,"D":60}. Below the lowest cutoff is F. Default: A+ 97, A 93, A- 90, B+ 87, B 83, B- 80, C+ 77, C 73, C- 70, D+ 67, D 63, D- 60. | |
| previous_credits | No | Credit hours behind previous_gpa, e.g. 45. | |
| previous_gpa_type | No | Whether previous_gpa is unweighted (default) or weighted; the cumulative GPA uses the same basis. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scale | Yes | ||
| courses | Yes | ||
| summary | Yes | ||
| what_if | Yes | ||
| semester | Yes | ||
| settings | Yes | ||
| cumulative | Yes | ||
| distribution | Yes |