# Grade to GPA Parser

Paste letter grades, credits, and weighted-course tags to calculate GPA on a 4.0, 4.3, 5.0, or custom scale.

## Run it

- **CLI:** `gizza tool grade-to-gpa-parser "Biology: A- 4
Math: B 3
Art: C 1"`
- **Web:** https://gizza.ai/tools/grade-to-gpa-parser/
- **Agents:** machine-readable descriptor (parameters JSON Schema) at https://gizza.ai/tools/grade-to-gpa-parser/tool.json

## Inputs

- `grades` — Grades _(field)_
- `scale` — Base scale _(field)_
- `custom_scale` — Custom scale overrides _(field)_
- `grade_format` — Numeric grade handling _(field)_
- `default_credits` — Default credits for entries without credits _(field)_
- `honors_bonus` — Honors bonus points _(field)_
- `ap_bonus` — AP/IB/dual-enrollment bonus points _(field)_
- `prior_gpa` — Prior GPA for cumulative calculation _(field)_
- `prior_credits` — Prior credits _(field)_
- `skip_nongraded` — Skip pass/fail, withdrawal, incomplete and transfer marks _(field)_
- `decimals` — Decimal places _(field)_
- `output` — Output format _(field)_

## Output

- GPA report (text)

## Query parameters

Open the tool pre-filled and auto-run via URL:

- `grades` — Grades
- `scale` — Base scale
- `custom_scale` — Custom scale overrides
- `grade_format` — Numeric grade handling
- `default_credits` — Default credits for entries without credits
- `honors_bonus` — Honors bonus points
- `ap_bonus` — AP/IB/dual-enrollment bonus points
- `prior_gpa` — Prior GPA for cumulative calculation
- `prior_credits` — Prior credits
- `skip_nongraded` — Skip pass/fail, withdrawal, incomplete and transfer marks
- `decimals` — Decimal places
- `output` — Output format

Example: `https://gizza.ai/tools/grade-to-gpa-parser/?grades=Biology%3A%20A-%204%0AMath%3A%20B%203%0AArt%3A%20C%201&scale=4.0&custom_scale=A%2B%3D4.5%2C%20HD%3D4.0&grade_format=auto&default_credits=1&honors_bonus=0.5&ap_bonus=1.0&prior_gpa=3.20&prior_credits=30&skip_nongraded=true&decimals=2&output=report`

---

## About this tool

Grade to GPA Parser turns a pasted grade list into GPA points and a credit-weighted average. Paste bare grades such as `A, B+, C-`, or transcript-like rows such as `Biology: A- 4` and `AP History: B+ (3)`. The report shows the GPA, total grade points, credits counted, every course's contribution, skipped pass/fail rows, and optional cumulative GPA.

Use the default 4.0 scale for common US unweighted GPA calculations. Switch to 4.3 when your school gives A+ extra weight, choose 5.0 for a weighted scale, or add `custom_scale` overrides such as `A+=4.5, HD=4.0` for local grading systems.

### Worked example

Input:

```text
Biology: A- 4
Math: B 3
Art: C 1
```

With the default 4.0 scale, the tool computes `(3.7×4 + 3.0×3 + 2.0×1) / 8 = 3.225`, reported as `GPA: 3.23` when `decimals=2`.

```text
GPA: 3.23
Grade points: 25.80
Credits counted: 8.00
Courses counted: 3
```

### Limits and edge cases

- Accepts up to 2,000 grade entries per run.
- Entries may be separated by newlines, semicolons, or commas.
- A number above the top of the selected scale is treated as a percentage in `auto` mode; a number at or below it is treated as grade points.
- Pass/fail, withdrawal, incomplete, audited, transfer, and similar marks are excluded by default and listed under "Not counted".
- Weighted-course bonuses never lift a failing grade.
- This is a calculator, not official academic advice; always compare the scale against your school policy.

## FAQ

<details>
<summary>How do I enter credits?</summary>

Put the credit value after the grade, for example `Biology: A- 4` or `AP History: B+ (3)`. If an entry has no credit value, the `default_credits` field is used.

</details>

<details>
<summary>Can I use my school's custom grading scale?</summary>

Yes. Pick the closest base scale, then add overrides in `custom_scale`, such as `A+=4.5, A=4.2, B+=3.6`. Unknown letters are added and existing letters are replaced.

</details>

<details>
<summary>What happens to pass/fail or withdrawal marks?</summary>

With `skip_nongraded=true`, marks such as P, W, I, CR, NC, AU, and TR are listed but excluded from the GPA. Turn the checkbox off if you prefer the tool to error when it sees one.

</details>

<details>
<summary>How are percentages handled?</summary>

In `auto` mode, values above the selected scale's maximum are treated as percentages and mapped through common plus/minus bands. Use `grade_format=percent` to force every number through the percentage bands, or `grade_format=points` to treat numbers as grade points.

</details>

## Related tools

- [Bitwise Calculator](https://gizza.ai/tools/bitwise-calculator/): Bitwise calculator: AND, OR, XOR, NOT, shifts, rotates and popcount on 8–64-bit integers in binary, hex, octal or decimal. Free, private, in your browser.
- [Bollinger Bands calculator](https://gizza.ai/tools/bollinger-bands/): Compute Bollinger Bands (SMA plus/minus standard deviations) for a price series, plus %B and bandwidth, in your browser. Free, private, no upload.
- [Boxplot Chart Generator](https://gizza.ai/tools/boxplot-chart/): Paste values or grouped CSV data and render a box-and-whisker SVG with quartiles, whiskers, mean markers, notches, outliers, and summary stats.
- [CAGR Calculator](https://gizza.ai/tools/cagr-calculator/): Paste a series of values and get the compound annual growth rate, total growth, the multiple, doubling time and a period-by-period growth table.
- [Free Online Calculator](https://gizza.ai/tools/calculator/): Evaluate any arithmetic expression instantly in your browser. Supports +, −, ×, ÷, parentheses and functions. No sign-up, runs offline.
