Choose what to calculate and enter the numbers. "Course Handicap" gives your handicap for the course you play today; "Handicap Index" works out your playing ability from a history of 3 to 20 rounds.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formulas and graphs
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Enter your Handicap Index and the course information (Course Rating, Slope Rating and par), and you see your Course Handicap for that course on the spot
- Switch the mode, and it calculates your Handicap Index, the official measure of your playing ability, from a history of 3 to 20 rounds, using the method of the World Handicap System (WHS)
- A bar graph shows at a glance which rounds were used for your index (darker bars = rounds that count)
- It also supports the PCC (Playing Conditions Calculation), which adjusts scores on days with bad weather and similar conditions
- A plain-language explanation of the formulas, the WHS table of how many differentials count, and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
The main job of a handicap is to make a match fair between players of different skill. Players are ranked by "net score = gross score − Course Handicap".
For example, a player with an index of 18.4 playing from tees with a Course Rating of 73.5, a Slope Rating of 135 and a par of 71 has a Course Handicap of 24. If they shoot a gross 96, their net score is \(96 - 24 = 72\), so they can compete on equal terms with a low-handicap player. This is why golf is not a game that only the best players can win.
Your Course Handicap is also "how many strokes over par you can take on that course". On a par-72 course with a Course Handicap of 12, \(72 + 12 = 84\) is your own "par".
Even on a course you have never played, you can set a realistic goal like "84 today, 42 on each nine". That helps you avoid risky shots that lead to big numbers, and it helps you plan how to play the course.
Your Handicap Index averages only your best rounds, so it is not pulled around by an occasional bad round, and real improvement shows up clearly in the number. Like "my index was 20 six months ago and is 15 now", you can follow it as a steadier yardstick of your ability than your average score.
If you record your differential after every round, you can also see which rounds are in your best 8, which is good motivation to practice.
The standard Slope Rating is 113, and the higher the number, the tougher the course is for an average golfer. For example, you can expect bigger numbers on a course with a Slope Rating of 135 than on one with 121.
Course Rating and Slope Rating are printed on the scorecard and on the course's website, and they differ for each set of tees (back, middle and forward) even on the same course. They are a handy yardstick when choosing a course on a trip or the tees that suit you.
Club championships and other events sometimes limit entry, such as "Handicap Index of 15.0 or lower". If you know how your index is calculated, you can work out what scores you need to post to qualify.
Note that an official index is issued under the USGA Rules of Handicapping (or the rules of your national golf association) after you post scores through a golf club. Use the results on this page as a guide based on the same formulas.
Formulas and graphs
Symbols and terms
Symbols
| \(\mathit{CH}\) | Course Handicap, your handicap for that course and set of tees, given as a whole number. |
| \(\mathit{HI}\) | Handicap Index, the official measure of your playing ability that does not depend on the course. It is given to one decimal place (for example, 12.5). |
| \(S\) | Slope Rating, how hard the course is for an average golfer. It ranges from 55 to 155, and 113 is the standard. |
| \(113\) | The Slope Rating that the WHS defines as "standard difficulty". In the formulas, it appears in the numerator or denominator to scale a course's difficulty to the standard. |
| \(\mathit{CR}\) | Course Rating, the expected score for a scratch golfer (a skilled player with a handicap of 0) from those tees. It is given to one decimal place, such as 70.3. |
| \(P\) | Par, the standard number of strokes for the course. A typical 18-hole course is 72. |
| \(D\) | Score Differential, a round's result scaled to a course of standard difficulty. It is given to one decimal place. |
| \(X\) | The 18-hole total score for the round (gross score). The official WHS uses the "adjusted gross score", which caps each hole at a maximum. |
| \(\mathit{PCC}\) | Playing Conditions Calculation, an adjustment from −1 to +3 added on days when scores were harder to make, such as in bad weather. It is usually 0. |
| \(\bar{D}\) | The average of the differentials used (your best scores). The bar over the letter is the usual math notation for "average" (read "D bar"). |
| \(A\) | The adjustment, a minus correction added when you have few valid rounds (3, 4 or 6 rounds). It is set by the WHS table. |
Terms
| handicap | Strokes that even out differences in skill so that players can compete fairly. In golf, you subtract these strokes from your score to compete. The word is said to come from horse racing, where stronger horses carried extra weight. |
| Handicap Index | The official measure of playing ability in the WHS. It is the average of the best 8 Score Differentials from your recent score history (up to 20 rounds), or fewer from the WHS table while your history is short. You take it with you from course to course, and the maximum in the WHS is 54.0 for both men and women. |
| Course Handicap | Your Handicap Index converted to the course and tees you play today. The same player gets more strokes on a hard course and fewer on an easy course. |
| Course Rating | The expected score for a scratch golfer from those tees. Separate from par, it reflects the real difficulty of the course and is given to one decimal place (for example, a Course Rating of 70.3 on a par-72 course). |
| Slope Rating | How hard the course is for an average golfer (a bogey golfer). It ranges from 55 to 155, and 113 is the standard. It is higher for courses that are not so hard for skilled players but where average golfers often have big numbers. |
| Score Differential | A round's result turned into "how many strokes it would be worth on a course of standard difficulty". Your Handicap Index is the average of the best of these differentials. |
| PCC (Playing Conditions Calculation) | An adjustment for days when scores were generally harder (or easier) to make, for example because of strong wind or rain. It is worked out automatically from all the scores posted that day on that course, and is applied as a whole number from −1 to +3 to each player's differential. |
| scratch golfer | A golfer with a handicap of 0. The Course Rating is defined as the expected score of a scratch golfer. |
| bogey golfer | An average golfer who plays each hole in about one over par (bogey), with a Handicap Index of about 20 for men and about 24 for women. The Slope Rating is set from the gap between the expected scores of a bogey golfer and a scratch golfer. |
| WHS (World Handicap System) | A single worldwide handicap system that started in 2020. It unified the methods that used to differ by country and association. In the United States, the USGA runs it, and the rules were revised in 2024. The formulas on this page follow the WHS. |
| gross score | Your actual total number of strokes. Subtract your Course Handicap from it to get your net score. |
| net score | Gross score − Course Handicap. In handicap competitions, players are ranked by net score. |
| tees (teeing area) | The area where you start each hole. The same course plays at different lengths from the back tees, middle tees and so on, so the Course Rating and Slope Rating are set for each set of tees. |
| par | The standard number of strokes for a hole or a course. 72 is common for 18 holes, but some courses are 70 or 71. In the Course Handicap formula, "Course Rating − par" reflects how the course's difficulty differs from par. |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
| Rounding (Grades 4–5) |
|
| Multiplying and dividing decimals (Grades 5–6) |
|
| Averages (Grade 6) |
|
| Positive and negative numbers (Grade 7) |
|
| Golf scoring basics (background) |
|
How to calculate it in Excel
| Handicap Index HI | 10 |
| Slope Rating S | 121 |
| Course Rating CR | 70 |
| Par P | 72 |
| Course Handicap CH | =ROUND(B1*B2/113+(B3-B4),0) |
| Course Rating CR | 70.3 |
| Slope Rating S | 126 |
| Score X (18 holes) | 85 |
| PCC (usually 0) | 0 |
| Score Differential D | =ROUND((113/B2)*(B3-B1-B4),1) |
| Differential, round 1 | 13.2 |
| Differential, round 2 | 15.0 |
| Differential, round 3 | 14.1 |
| Differential, round 4 | 16.3 |
| Differential, round 5 | 13.8 |
| Differential, round 6 | 17.0 |
| Average of the best 2 | =AVERAGE(SMALL(B1:B6,1),SMALL(B1:B6,2)) |
| Handicap Index HI | =ROUND(B7+(-1),1) |
| 3 valid rounds | Best 1, adjustment -2.0 |
| 4 valid rounds | Best 1, adjustment -1.0 |
| 5 valid rounds | Best 1, no adjustment |
| 6 valid rounds | Best 2, adjustment -1.0 |
| 7–8 valid rounds | Best 2, no adjustment |
| 9–11 valid rounds | Best 3, no adjustment |
| 12–14 valid rounds | Best 4, no adjustment |
| 15–16 valid rounds | Best 5, no adjustment |
| 17–18 valid rounds | Best 6, no adjustment |
| 19 valid rounds | Best 7, no adjustment |
| 20 valid rounds | Best 8, no adjustment |
The second table is the Score Differential for one round. With the example values, B5 shows 13.2.
The third table finds the index from a 6-round history. SMALL picks the smallest and second-smallest values, which are averaged, and the 6-round adjustment of −1.0 is added (with the example values, B7 shows 13.5 and B8 shows 12.5). For a different number of rounds, change how many count and the adjustment to match the quick table in the fourth table.
How to calculate it in Google Sheets
| Handicap Index HI | 10 |
| Slope Rating S | 121 |
| Course Rating CR | 70 |
| Par P | 72 |
| Course Handicap CH | =ROUND(B1*B2/113+(B3-B4),0) |
| Course Rating CR | 70.3 |
| Slope Rating S | 126 |
| Score X (18 holes) | 85 |
| PCC (usually 0) | 0 |
| Score Differential D | =ROUND((113/B2)*(B3-B1-B4),1) |
| Differential, round 1 | 13.2 |
| Differential, round 2 | 15.0 |
| Differential, round 3 | 14.1 |
| Differential, round 4 | 16.3 |
| Differential, round 5 | 13.8 |
| Differential, round 6 | 17.0 |
| Average of the best 2 | =AVERAGE(SMALL(B1:B6,1),SMALL(B1:B6,2)) |
| Handicap Index HI | =ROUND(B7+(-1),1) |
How many differentials count and the adjustment change with the number of rounds (see the quick table on the Excel tab).
How to calculate it in Python
import math
def round_half_up(value, digits):
# Round half up (0.5 always goes up). Python's built-in round() rounds 0.5 to even, so it is not used
factor = 10 ** digits
return math.floor(value * factor + 0.5) / factor
# --- Course Handicap: CH = HI x S / 113 + (CR - P) ---
handicap_index = 10 # Handicap Index HI
slope_rating = 121 # Slope Rating S
course_rating = 70 # Course Rating CR
par = 72 # par P
course_handicap = round_half_up(handicap_index * slope_rating / 113 + (course_rating - par), 0)
print(f"Course Handicap: {int(course_handicap)}")
# --- Handicap Index (WHS method) ---
# Each round is (Course Rating, Slope Rating, score, PCC)
rounds = [
(70.3, 126, 85, 0),
(66.8, 120, 82, 0),
(65.9, 118, 85, 0),
(74.3, 137, 88, 0),
(71.1, 126, 90, 0),
(70.0, 113, 84, 0),
]
# Number of valid rounds -> (how many count, adjustment): the WHS table
adoption_table = {3: (1, -2.0), 4: (1, -1.0), 5: (1, 0.0), 6: (2, -1.0),
7: (2, 0.0), 8: (2, 0.0), 9: (3, 0.0), 10: (3, 0.0),
11: (3, 0.0), 12: (4, 0.0), 13: (4, 0.0), 14: (4, 0.0),
15: (5, 0.0), 16: (5, 0.0), 17: (6, 0.0), 18: (6, 0.0),
19: (7, 0.0), 20: (8, 0.0)}
differentials = []
for course_rating, slope_rating, score, pcc in rounds:
d = (113 / slope_rating) * (score - course_rating - pcc)
differentials.append(round_half_up(d, 1)) # round to one decimal place
use_count, adjustment = adoption_table[len(rounds)]
best = sorted(differentials)[:use_count] # use the best (smallest) values
handicap_index = round_half_up(sum(best) / use_count + adjustment, 1)
print(f"Differential for each round: {differentials}")
print(f"Best {use_count} used: {best}")
print(f"Handicap Index: {handicap_index}")
How to write it in LaTeX and other math languages (copy and paste)
CH = HI × S ÷ 113 + (CR − P)
\mathit{CH} = \mathit{HI} \times \dfrac{S}{113} + (\mathit{CR} - P)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>CH</mi>
<mo>=</mo>
<mi>HI</mi>
<mo>×</mo>
<mfrac><mi>S</mi><mn>113</mn></mfrac>
<mo>+</mo>
<mrow><mo>(</mo><mi>CR</mi><mo>−</mo><mi>P</mi><mo>)</mo></mrow>
</mrow>
</math>
"CH" = "HI" xx S/113 + ("CR" - P)
ch = hi*s/113 + (cr - p) (* C and D are reserved in Mathematica, so all variables are in lowercase *)
ch := hi*s/113 + (cr - p); # D (the differential operator) is reserved in Maple, so all variables are in lowercase
CH = HI*S/113 + (CR - P);
CH = HI × S ÷ 113 + (CR − P)
D = (113 ÷ S) × (X − CR − PCC)
D = \dfrac{113}{S} \times (X - \mathit{CR} - \mathit{PCC})
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi>
<mo>=</mo>
<mfrac><mn>113</mn><mi>S</mi></mfrac>
<mo>×</mo>
<mrow><mo>(</mo><mi>X</mi><mo>−</mo><mi>CR</mi><mo>−</mo><mi>PCC</mi><mo>)</mo></mrow>
</mrow>
</math>
D = 113/S xx (X - "CR" - "PCC")
d = (113/s)*(x - cr - pcc) (* All variables are in lowercase to avoid reserved names such as C and D *)
d := (113/s)*(x - cr - pcc); # D (the differential operator) is reserved in Maple, so lowercase is used
D = (113/S)*(X - CR - PCC);
D = (113 ÷ S) × (X − CR − PCC)
HI = D̄ + A
\mathit{HI} = \bar{D} + A
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>HI</mi>
<mo>=</mo>
<mover><mi>D</mi><mo>¯</mo></mover>
<mo>+</mo>
<mi>A</mi>
</mrow>
</math>
"HI" = bar D + A
hi = Mean[best] + a (* best = the list of differentials used. Lowercase to avoid reserved names *)
hi := add(best)/nops(best) + a; # best = the list of differentials used
HI = mean(best) + A;
HI = D̄ + A
How to have ChatGPT do the calculation
You are a golf handicap calculation assistant. Do the following calculation by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). Use the method of the World Handicap System (WHS). When rounding, 0.5 always goes up. 1. The Course Handicap for a player with a Handicap Index of 10 playing from tees with a Course Rating of 70, a Slope Rating of 121 and a par of 72 (CH = HI × S ÷ 113 + (CR − par), rounded to a whole number) 2. The Score Differential for a round of 85 (PCC 0) on a course with a Course Rating of 70.3 and a Slope Rating of 126 (D = (113 ÷ S) × (score − CR − PCC), rounded to one decimal place) Show the formulas you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
