Example 1
- Course 1: grade 5, 6 ECTS
- Course 2: grade 3, 6 ECTS
4.00
48 ÷ 12. Equal ECTS → same as the arithmetic mean.
Enter grades and ECTS credits. The calculator computes the weighted average μ = Σ(grade × ECTS) / Σ(ECTS). Grades 5 and 3 with 6 ECTS each give 4.00. This is not an hours-to-ECTS converter and not a 180-credit bachelor check.
Enter grades and ECTS credits. The ECTS average, total ECTS, and product sum will appear here.
This is not the same page as weighted average, where the weight does not multiply the grade on the ECTS transcript path. School tests are on the grade calculator. US letter scales — on the GPA calculator.
The ECTS average on this page is a weighted arithmetic mean: multiply each grade by the course ECTS credits, add the products, and divide by total ECTS. The formula is μ = Σ(grade × ECTS) / Σ(ECTS). Grades 5 and 3 with 6 ECTS each give 4.00, because 30 + 18 = 48 and 48 ÷ 12 = 4.
When ECTS values differ, a larger course weighs more. Three courses — 5 at 6 ECTS, 4 at 4 ECTS, and 3 at 5 ECTS — give 61 ÷ 15 ≈ 4.07. The unweighted arithmetic mean would then be 4.00 — the panel shows both figures side by side.
Empty rows do not enter the average. A used row needs a grade (≥ 0) and ECTS (> 0). A comma and a period mean the same decimal. The calculator does not convert hours into ECTS, does not check a 180-credit bachelor threshold, and does not map A–F letters to numbers.
The model belongs to the ECTS / Bologna framework described in the ECTS Users’ Guide: credits measure workload, while the institution sets the local grade scale and retake rules. Here you enter numeric grades and ECTS credits you already have from the transcript.
The neighboring weighted-average page does not implement this transcript product formula. School percent tests belong on the grade calculator; US letter scales belong on the GPA calculator.
ECTS average = Σ(grade × ECTS) / Σ(ECTS)
The symbol grade (gᵢ) is the numeric transcript mark. The symbol ECTS (cᵢ) is the course credit weight. Empty rows do not enter the sums.
Mathematical model: ECTS-weighted arithmetic mean (ECTS Users’ Guide / Bologna Process + the definition of a weighted mean).
The ECTS average on this page is a weighted arithmetic mean whose weight for the i-th course is the number of ECTS credits assigned to that course. If grades are g₁…gₙ and ECTS credits are c₁…cₙ (all cᵢ > 0), the result is
μ = (g₁c₁ + g₂c₂ + … + gₙcₙ) / (c₁ + c₂ + … + cₙ) = Σ(gᵢ cᵢ) / Σ(cᵢ).
ECTS (European Credit Transfer and Accumulation System) measures student workload in the European Higher Education Area. Per the ECTS Users’ Guide, a typical full academic year in the first cycle is about 60 ECTS; a first-cycle (bachelor) programme often totals about 180 ECTS, and a second cycle (master) about 90–120, depending on the programme. This calculator does not convert hours into ECTS and does not check diploma thresholds — it only weights numeric grades by the ECTS credits you already enter.
Mathematical model: ECTS-weighted arithmetic mean (weighted arithmetic mean with ECTS credits as weights), the form used in many European study regulations for credit-weighted grade averages.
ECTS began in the 1980s as a transfer system within Erasmus and, after the Bologna Process (Bologna Declaration, 1999), became the EHEA standard for accumulation and transfer. The reference document is the European Commission / EHEA ECTS Users’ Guide (the 2015 edition remains widely cited): one ECTS credit usually corresponds to 25–30 hours of student workload (contact + independent work), and 60 ECTS describe a full year. The Guide also covers learning outcomes and credit mobility — it does not impose a single Europe-wide letter grade scale.
Conceptually, an ECTS-weighted average joins two layers: (1) the local institutional grade scale (numeric marks such as 2.0–5.0 with halves in many Polish programmes), and (2) a shared workload denominator in ECTS. Cross-border grade transfer is a separate problem (ECTS grading tables, national scales); this calculator assumes grades are already on one numeric scale and that ECTS values come from the syllabus.
Bologna does not replace your university’s regulations: how retakes are averaged, which electives enter the mean, and whether rounding uses two or four decimals is set locally. Here the displayed average is rounded to two decimals, and retakes are not merged automatically — you enter each grade deliberately.
Domain: gᵢ ≥ 0, cᵢ > 0, n ≥ 1. The result μ lies between the smallest and largest grades among used rows (a convex combination with normalized weights wᵢ = cᵢ / Σc). When all cᵢ are equal, μ reduces to the ordinary arithmetic mean of the grades. Weight homogeneity: multiplying every ECTS value by the same positive constant leaves μ unchanged. Adding a course whose grade equals the current mean leaves the mean unchanged; a higher grade with positive ECTS raises μ.
Σ(gᵢ cᵢ) is linear in the grades for fixed weights. The ECTS total in the denominator must be positive — hence cᵢ ≤ 0 is rejected. Empty rows do not enter n; a half-filled row is a validation error, not a “zero weight”.
The unweighted arithmetic mean (Σgᵢ / n) appears beside the main result so you can see when unequal ECTS shift the outcome versus a plain average. That figure is diagnostic, not a second official university result.
Step 1. Define the normalized weight wᵢ = cᵢ / C, where C = Σcⱼ. Then Σwᵢ = 1 and wᵢ > 0.
Step 2. The weighted mean is μ = Σ wᵢ gᵢ. Substituting wᵢ yields μ = Σ (cᵢ / C) gᵢ = (1/C) Σ gᵢ cᵢ = Σ(gᵢ cᵢ) / Σ(cᵢ).
Step 3 (equal weights). g₁ = 5, c₁ = 6, g₂ = 3, c₂ = 6 → Σgc = 30 + 18 = 48, C = 12, μ = 4. Rounded to two decimals: 4.00. Same as (5+3)/2 because the weights match.
Step 4 (unequal weights). g = (5, 4, 3), c = (6, 4, 5) → Σgc = 30 + 16 + 15 = 61, C = 15, μ = 61/15 = 4.066… → 4.07. The unweighted mean is (5+4+3)/3 = 4.00 — unequal ECTS shift the result slightly upward because the highest grade has the largest weight.
Step 5 (halves). 4.5 × 8 + 3.5 × 4 = 36 + 14 = 50, C = 12, μ = 50/12 = 4.166… → 4.17.
One course: μ = g₁ — the average equals the only grade, and total ECTS = c₁. All ECTS equal: reduction to the arithmetic mean. A very large course (e.g. 12 ECTS) versus small ones (2–3 ECTS) dominates the result — that is intended weighted-mean behaviour, not a bug. Negative grades and zero ECTS are rejected.
Retakes: many universities first average attempt grades for the same course arithmetically, then weight ECTS once. This calculator does not merge two rows with the same title — if your rules require averaging retakes, enter the already-averaged grade in one row.
ECTS grading tables (A–FX) support cross-border transfer; they are not fields on this calculator. US credit hours and a 4.0 GPA are a different system — see the separate GPA calculator.
The calculator accumulates g·c and c in browser floating point (floating-point arithmetic, about 15–16 significant digits), then divides and rounds the average to two decimals: round(μ·100)/100. The ECTS total is shown without trailing fractional zeros when it is an integer. A comma and a period in input fields are equivalent.
Extreme values (huge ECTS and grades) could overflow the floating-point range — in typical student use (grades about 2–5, ECTS 1–30, n ≤ 6 in the form) precision is ample. The bar chart scales height to the maximum ECTS in the set; the share percent is 100·cᵢ/C.
The calculator does not fetch data from a student-information system — the result is educational and secondary to your university’s regulations.
Related: weighted arithmetic mean (mathematics), unweighted arithmetic mean, US GPA / credit hours, school grade calculators (test percent), the 60 / 180 / 90–120 ECTS reference loads in the Users’ Guide. CalcBoxer’s neighboring weighted-average page does not implement this ECTS×grade product path for transcripts.
Sources European Commission / EHEA — ECTS Users’ Guide (2015); Bologna Process / EHEA documentation on ECTS; Wikipedia — European Credit Transfer and Accumulation System; Wikipedia — Weighted arithmetic mean; national university regulations that define ECTS-weighted grade averages (local rules, not a single EU statute).
μ = Σ(gᵢ cᵢ) / Σ(cᵢ). With 5 and 3 and 6 ECTS each: μ = 4.00.
4.00
48 ÷ 12. Equal ECTS → same as the arithmetic mean.
4.07
61 ÷ 15. Unequal ECTS shift the mean versus 4.00.
4.17
50 ÷ 12. Half grades and unequal weights.
It is a grade average where each course’s weight is its ECTS credits. The formula is Σ(grade × ECTS) / Σ(ECTS). With grades 5 and 3 and 6 ECTS each, the result is 4.00, because 48 ÷ 12 = 4.
For every filled row the calculator multiplies grade by ECTS, adds those products, and divides by total ECTS. Example with three courses: 5×6 + 4×4 + 3×5 = 61, total ECTS = 15, average 4.07 after rounding to two decimals.
No. Empty rows are skipped. A used row needs both a grade and ECTS credits greater than zero. A half-filled row shows an error.
No. You enter ECTS credits from the transcript or syllabus. The calculator does not convert contact hours into ECTS per the ECTS Users’ Guide — it only weights credits you already have.
No. The 180 ECTS first-cycle (bachelor) threshold belongs to the ECTS / Bologna framework, but this page does not sum a full programme or verify a degree. It only averages the courses you enter.
On the weighted-average page the weight does not multiply the value in this ECTS product path. Here the weight is ECTS and the formula is always Σ(grade × ECTS) / Σ(ECTS). School percent tests belong on the grade calculator.
No. ECTS credits must be greater than zero. A negative grade is not accepted either. Zero ECTS would make division by the sum of weights impossible.
No. You enter a numeric grade from the transcript, for example 4.5. There are no letters. A separate GPA calculator handles US letter scales, not this ECTS formula.
Six rows. Leave unused rows empty. Only filled grade–ECTS pairs enter the average. For more courses, compute in batches or combine results outside the form.
Yes. 4,5 and 4.5 are the same decimal. The average is shown with a comma on the Polish page and a period on the English page, always to two decimals after rounding.
The ECTS definition, the 60 ECTS year load, and the weighted mean come from recognized sources.
Page updated October 14, 2026.