Classroom and teaching environment

Grading Curve Calculator

Stretch or compress raw scores linearly onto a target range (e.g. class raw 20–70 → curved 40–95).

  • 100% free
  • No sign-up required
  • Runs in your browser
  • JSON API for agents

Curved scores

Raw range [40, 70] → [50, 95]

  • 40 → 50
  • 55 → 72.5
  • 62 → 83
  • 70 → 95
  • 48 → 62
  1. 1.curved = 50 + (raw − 40) / (70 − 40) × (95 − 50)
  2. 2.Example: 40 → 50

Linear

Scale mapping

Live

Per-student preview

API

JSON curved list

How the linear curve works

Each block explains one part of how this works and how to read the result.

  1. Set anchors

    By default rawMin/rawMax are taken from the class data. Override them to pin specific anchors. Choose the target range you want after curving.

  2. Source

    Linear mapping: curved = targetMin + (raw − rawMin) / (rawMax − rawMin) × (targetMax − targetMin). One of several curve methods; not z-score or bell-curve forcing.

Frequently asked questions

Is this a bell curve?

No — it is a linear rescale. Bell-curve / forced-distribution grading is different and not implemented here.

Will the topper still be on top?

Yes, for a strictly increasing linear map (targetMax > targetMin and rawMax > rawMin).

Can scores exceed 100?

Only if your targetMax is above 100. Set targetMax to the paper maximum to avoid that.

What if everyone scored the same?

When rawMax = rawMin, every curved score equals targetMin and a warning is returned.

For developers & AI agents

The Grading Curve Calculator is also available as a free, unauthenticated JSON API — no API key, no sign-up, CORS enabled for all origins. Send a GET request with the parameters below and receive the computed result as JSON, including the source of the format or formula used. Invalid input returns HTTP 400 with a JSON { "error": "..." } body.

Endpoint
GET https://knwdle.com/api/tools/grading-curve-calculator
Query parameters
ParameterRequiredDescription
scoresYesComma-separated raw scores
targetMinYesLower end of curved scale
targetMaxYesUpper end of curved scale
rawMinNoOverride raw minimum (default: class min)
rawMaxNoOverride raw maximum (default: class max)
Example

Request:

GET https://knwdle.com/api/tools/grading-curve-calculator?scores=40,55,62,70,48&targetMin=50&targetMax=95

Response:

{
  "tool": "grading-curve-calculator",
  "name": "Grading Curve Calculator",
  "source": "Linear mapping: curved = targetMin + (raw − rawMin) / (rawMax − rawMin) × (targetMax − targetMin). One of several curve methods; not z-score or bell-curve forcing.",
  "rawMin": 40,
  "rawMax": 70,
  "targetMin": 50,
  "targetMax": 95,
  "original": [
    40,
    55,
    62,
    70,
    48
  ],
  "curved": [
    50,
    72.5,
    83,
    95,
    62
  ],
  "flatInput": false,
  "formula": "curved = 50 + (raw − 40) / (70 − 40) × (95 − 50)",
  "steps": [
    "Raw range = [40, 70]",
    "Target range = [50, 95]",
    "Example: raw 40 → 50"
  ]
}

Run the whole institution on one system

Knwdle connects timetables, attendance, fees, and academics — so planning tools become live operations, not one-off PDFs.

Free trial · No credit card · SaaS or custom-built