Calculate from your courses and credits
- Set your maximum grade-point scale. Start with numeric points, or enter the letter-to-point mapping used by your institution.
- Edit each course’s name, grade and credits. Add or remove courses as needed. Uncheck rows that your policy excludes.
- Calculate, review the included credits and course contributions, and download JSON or CSV.
Formula and example
GPA = sum of included grade points × credits ÷ included credits. The illustrative example uses 4 points over 3 credits and 3 points over 2 credits: (12 + 6) ÷ 5 = 3.6. Unequal credits matter; a simple average would give 3.5.
Supported decimal inputs use exact integer arithmetic internally. JSON includes the reduced exact fraction before display rounding. Display choices use 2, 4 or 6 decimal places and nonnegative half-up rounding. Your institution may use a different policy.
Your grade policy controls what counts
The A=4, B=3 example is illustrative and is not an official or universal table. You can edit up to 20 mappings. Symbols are case-insensitive ASCII letters/digits/+/- with a letter first, up to 10 characters. Duplicate or undefined symbols are rejected. Every active mapping must fit your maximum scale, even if no course currently uses it.
Numeric and letter modes retain separate drafts; switching modes does not transform your grades. Changing the maximum scale bounds entered points without rescaling them. There is no universal GPA-to-percentage conversion here. A zero-point course is included with its credits when checked. Apply your own rules for pass/fail, repeat, withdrawn or failed courses; the calculator does not infer those rules.
This calculates course-level GPA. To combine supplied semester averages instead, use the CGPA calculator. A result based on rounded semester averages may differ from original course totals. Neither tool issues a transcript or certifies eligibility.
Editing, imports and exports
Add, remove, clear, import and Restore example actions offer one Undo step that restores the course draft, settings, view and previously calculated result. Uncalculated drafts stay uncalculated. Ordinary edits discard that action history and invalidate previous results and downloads. Optional bulk import replaces courses only after all rows validate. Use name | grade | credits, with numeric points or letters matching the selected mode. All imported rows start included; review your policy before calculating. Unapplied import text is ignored by the calculation. Editing that draft or rejecting an invalid import keeps the current courses and available downloads.
JSON retains raw entered course fields, both mode drafts, selected mode, active letter mappings, included/excluded status, interpreted points and exact workings. Numeric mode omits the unused mapping table. CSV contains every course, marks inclusion and leaves computed contributions blank for excluded rows. Spreadsheet-sensitive text cells receive a protective apostrophe; raw text remains in JSON. Contributions are shown 20 at a time.
Limits and privacy
Up to 100 course rows, names up to 80 UTF-16 units, and other course fields up to 40 units without | or control characters. Included points are 0 to your chosen maximum, with up to 4 decimal places. Included credits are greater than zero and at most 1,000 per course, with up to 2 decimals. Maximum scale is 1–100. Use ordinary decimal digits and a dot, without grouping or exponent notation. Import allows 20,000 UTF-16 units and recognizes LF, CRLF and CR line endings.
All processing stays in browser memory. There is no upload, account or saved-grade storage. Leaving the page loses the draft; download workings you want to keep. Your exported files include course details and excluded rows. Labels are rendered as literal text, and clipboard use is optional.