{
  "id": "weighted-gpa",
  "version": "14747ce0bcbc",
  "status": "published",
  "name": "Weighted GPA Calculator",
  "question": "What is my weighted GPA?",
  "summary": "Computes a high school weighted GPA, where honors courses add 0.5 and AP, IB and college courses add 1.0 to the grade points on the 4.0 scale, with the unweighted GPA beside it.",
  "category": "education",
  "subcategory": "gpa",
  "url": "https://www.acalculator.org/education/weighted-gpa-calculator",
  "markdown": "https://www.acalculator.org/education/weighted-gpa-calculator.md",
  "kind": "function",
  "method": "weighted GPA = Σ((grade points + level bonus) × credits) ÷ Σ credits, with a bonus of 0.5 for honors and 1.0 for AP, IB or college courses (none for an F); unweighted GPA = Σ(grade points × credits) ÷ Σ credits.",
  "assumptions": [
    "Grade points follow the 4.0 scale: A+ and 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, D- 0.7, F 0.0.",
    "Honors courses add 0.5 and AP, IB and college (dual enrollment) courses add 1.0, as in the North Carolina State Board of Education policy; an F earns 0 in any course. Schools differ, so check your school’s scale.",
    "Courses marked Not counted (pass, withdrawal, incomplete) are left out. Credits are from 0.01 to 30 per course.",
    "Both GPAs are exact before they are shown to two decimal places, rounded half up. Some schools cut off (truncate) instead."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "grade1": {
        "title": "Course 1 grade",
        "description": "The letter grade in course 1, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level1": {
        "title": "Course 1 level",
        "description": "The level of course 1: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits1": {
        "title": "Course 1 credits",
        "description": "The credits of course 1: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade2": {
        "title": "Course 2 grade",
        "description": "The letter grade in course 2, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level2": {
        "title": "Course 2 level",
        "description": "The level of course 2: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits2": {
        "title": "Course 2 credits",
        "description": "The credits of course 2: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade3": {
        "title": "Course 3 grade",
        "description": "The letter grade in course 3, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level3": {
        "title": "Course 3 level",
        "description": "The level of course 3: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits3": {
        "title": "Course 3 credits",
        "description": "The credits of course 3: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade4": {
        "title": "Course 4 grade",
        "description": "The letter grade in course 4, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level4": {
        "title": "Course 4 level",
        "description": "The level of course 4: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits4": {
        "title": "Course 4 credits",
        "description": "The credits of course 4: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade5": {
        "title": "Course 5 grade",
        "description": "The letter grade in course 5, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level5": {
        "title": "Course 5 level",
        "description": "The level of course 5: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits5": {
        "title": "Course 5 credits",
        "description": "The credits of course 5: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade6": {
        "title": "Course 6 grade",
        "description": "The letter grade in course 6, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level6": {
        "title": "Course 6 level",
        "description": "The level of course 6: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits6": {
        "title": "Course 6 credits",
        "description": "The credits of course 6: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade7": {
        "title": "Course 7 grade",
        "description": "The letter grade in course 7, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level7": {
        "title": "Course 7 level",
        "description": "The level of course 7: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits7": {
        "title": "Course 7 credits",
        "description": "The credits of course 7: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      },
      "grade8": {
        "title": "Course 8 grade",
        "description": "The letter grade in course 8, or Not counted for a course that does not count toward the GPA.",
        "type": "string",
        "enum": [
          "a-plus",
          "a",
          "a-minus",
          "b-plus",
          "b",
          "b-minus",
          "c-plus",
          "c",
          "c-minus",
          "d-plus",
          "d",
          "d-minus",
          "f",
          "none"
        ]
      },
      "level8": {
        "title": "Course 8 level",
        "description": "The level of course 8: regular, honors, or AP, IB or college (dual enrollment).",
        "type": "string",
        "enum": [
          "regular",
          "honors",
          "ap"
        ]
      },
      "credits8": {
        "title": "Course 8 credits",
        "description": "The credits of course 8: 1 for a full-year course and 0.5 for a semester course in most high schools.",
        "type": "number",
        "minimum": 0.01,
        "maximum": 30
      }
    }
  },
  "outputs": {
    "weighted": {
      "label": "Weighted GPA",
      "description": "Σ((grade points + level bonus) × credits) ÷ Σ credits, on a scale up to 5.0.",
      "format": "number"
    },
    "unweighted": {
      "label": "Unweighted GPA",
      "description": "Σ(grade points × credits) ÷ Σ credits, on the 4.0 scale, with no bonus for the course level.",
      "format": "number"
    },
    "credits": {
      "label": "Credits",
      "description": "The credits of the courses that count.",
      "format": "number"
    },
    "points": {
      "label": "Weighted grade points",
      "description": "Σ((grade points + level bonus) × credits).",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "grade1": "a",
      "level1": "ap",
      "credits1": 1,
      "grade2": "b-plus",
      "level2": "honors",
      "credits2": 1,
      "grade3": "a-minus",
      "level3": "regular",
      "credits3": 1,
      "grade4": "b",
      "level4": "regular",
      "credits4": 1,
      "grade5": "none",
      "level5": "regular",
      "credits5": 1,
      "grade6": "none",
      "level6": "regular",
      "credits6": 1,
      "grade7": "none",
      "level7": "regular",
      "credits7": 1,
      "grade8": "none",
      "level8": "regular",
      "credits8": 1
    },
    "outputs": {
      "weighted": 3.875,
      "unweighted": 3.5,
      "credits": 4,
      "points": 15.5
    },
    "text": "Your weighted GPA is 3.88 (unweighted 3.5) over 4 credits."
  },
  "examples": [
    {
      "given": {
        "grade1": "a",
        "level1": "ap",
        "credits1": 1,
        "grade2": "b-plus",
        "level2": "honors",
        "credits2": 1,
        "grade3": "a-minus",
        "level3": "regular",
        "credits3": 1,
        "grade4": "b",
        "level4": "regular",
        "credits4": 1
      },
      "expect": {
        "weighted": 3.875,
        "unweighted": 3.5,
        "credits": 4,
        "points": 15.5
      },
      "source": "NC State Board of Education policy GRAD-009, High School Transcript Standards (honors +0.5 and AP/IB +1 quality point), https://content.govdelivery.com/attachments/NCSBE/2025/10/03/file_attachments/3409884/GRAD-009%20-%20Grading%20and%20Transcript%20Standards%2010-02-2025.pdf; hand calculation in content.mdx: (5.0 + 3.8 + 3.7 + 3.0) ÷ 4 = 3.875"
    },
    {
      "given": {
        "grade1": "a",
        "level1": "ap",
        "credits1": 1,
        "grade2": "f",
        "level2": "ap",
        "credits2": 1,
        "grade3": "none",
        "grade4": "none"
      },
      "expect": {
        "weighted": 2.5,
        "unweighted": 2,
        "credits": 2
      },
      "source": "Wikipedia, Academic grading in the United States (weighted scale: A = 5 or 4.5, F = 0), https://en.wikipedia.org/wiki/Academic_grading_in_the_United_States; hand calculation in content.mdx: (5.0 + 0) ÷ 2 = 2.5"
    },
    {
      "given": {
        "grade1": "b",
        "level1": "honors",
        "credits1": 0.5,
        "grade2": "c-plus",
        "level2": "regular",
        "credits2": 1,
        "grade3": "a-plus",
        "level3": "ap",
        "credits3": 1,
        "grade4": "none"
      },
      "expect": {
        "weighted": 3.62,
        "unweighted": 3.12,
        "credits": 2.5,
        "points": 9.05
      },
      "source": "hand calculation in content.mdx: (3.5 × 0.5 + 2.3 × 1 + 5.0 × 1) ÷ 2.5 = 9.05 ÷ 2.5 = 3.62 (points: University of Michigan-Dearborn 4.0 scale, https://catalog.umd.umich.edu/academic-policies-campus/grading-system/grading-system.pdf)"
    }
  ],
  "sources": [
    "North Carolina State Board of Education, Policy GRAD-009, High School Transcript Standards (honors courses: 0.5 quality point; AP, IB and CIE courses: 1 quality point). https://content.govdelivery.com/attachments/NCSBE/2025/10/03/file_attachments/3409884/GRAD-009%20-%20Grading%20and%20Transcript%20Standards%2010-02-2025.pdf",
    "University of Michigan-Dearborn, Grading System (4.0 scale: A and A+ 4.0, A- 3.7, B+ 3.3 … D- 0.7, E 0.0). https://catalog.umd.umich.edu/academic-policies-campus/grading-system/grading-system.pdf",
    "Wikipedia, Academic grading in the United States (weighted GPA: A = 5 or 4.5, B = 4 or 3.5, …, F = 0). https://en.wikipedia.org/wiki/Academic_grading_in_the_United_States"
  ],
  "related": [
    "gpa",
    "grade",
    "semester-grade",
    "final-grade"
  ],
  "changelog": []
}
