Skip to main content

Golf club length calculator based on height and wrist-to-floor measurement. Full length charts at https://golflaunchlab.com/guides/golf-club-length-chart

Project description

golf-club-length

GolfLaunchLab PyPI npm License: MIT

Golf club length calculator that recommends custom club length adjustments from standard based on a golfer's height and wrist-to-floor measurement. Covers all 14 major club types from driver to putter.

For complete club length reference data, fitting guides, and interactive charts, visit Golf Club Length Chart — GolfLaunchLab.


Installation

Python

pip install golf-club-length

JavaScript / Node.js

npm install golf-club-length

Usage

Python

from golf_club_length import recommend_length, get_all_recommendations, get_standard_lengths

# Get standard lengths for all clubs
standards = get_standard_lengths()
print(standards['driver'])   # 45.5
print(standards['7-iron'])   # 37.0

# Recommend length for a single club (wrist-to-floor is the primary method)
result = recommend_length(72, wrist_to_floor_inches=35, club='driver')
print(result)
# {
#   'standard_length': 45.5,
#   'recommended_length': 45.5,
#   'adjustment': 0.0,
#   'fitting_note': 'Standard length recommended based on wrist-to-floor measurement.'
# }

# Tall golfer (6'4", wrist-to-floor 42")
result = recommend_length(76, wrist_to_floor_inches=42, club='7-iron')
print(result)
# {
#   'standard_length': 37.0,
#   'recommended_length': 38.0,
#   'adjustment': 1.0,
#   'fitting_note': '1" longer than standard recommended based on wrist-to-floor measurement. Confirm with a certified club fitter.'
# }

# Height-only fallback (no wrist-to-floor)
result = recommend_length(68, club='driver')
print(result['adjustment'])    # 0.0 (standard range)

# Get recommendations for every club at once
bag = get_all_recommendations(76, wrist_to_floor_inches=42)
for club, rec in bag.items():
    print(f"{club:10s}: {rec['recommended_length']:.2f}\" (adjustment: {rec['adjustment']:+.2f}\")")

Example output for a tall golfer (76", WTF 42"):

driver    : 46.50" (adjustment: +1.00")
3-wood    : 44.00" (adjustment: +1.00")
5-wood    : 43.00" (adjustment: +1.00")
4-hybrid  : 41.00" (adjustment: +1.00")
5-iron    : 39.00" (adjustment: +1.00")
6-iron    : 38.50" (adjustment: +1.00")
7-iron    : 38.00" (adjustment: +1.00")
8-iron    : 37.50" (adjustment: +1.00")
9-iron    : 37.00" (adjustment: +1.00")
pw        : 36.50" (adjustment: +1.00")
gw        : 36.25" (adjustment: +1.00")
sw        : 36.00" (adjustment: +1.00")
lw        : 36.00" (adjustment: +1.00")
putter    : 35.00" (adjustment: +1.00")

JavaScript

const { getStandardLengths, recommendLength, getAllRecommendations } = require('golf-club-length');

// Get standard lengths for all clubs
const standards = getStandardLengths();
console.log(standards.driver);     // 45.5
console.log(standards['7-iron']);  // 37.0

// Recommend length for a single club (wrist-to-floor is the primary method)
const result = recommendLength(72, 35, 'driver');
console.log(result);
// {
//   standardLength: 45.5,
//   recommendedLength: 45.5,
//   adjustment: 0,
//   fittingNote: 'Standard length recommended based on wrist-to-floor measurement.'
// }

// Tall golfer (6'4", wrist-to-floor 42")
const tall = recommendLength(76, 42, '7-iron');
console.log(tall.adjustment);          // 1
console.log(tall.recommendedLength);   // 38

// Height-only fallback (pass null for wrist-to-floor)
const byHeight = recommendLength(68, null, 'driver');
console.log(byHeight.adjustment);   // 0

// Get recommendations for every club at once
const bag = getAllRecommendations(76, 42);
for (const [club, rec] of Object.entries(bag)) {
  console.log(`${club}: ${rec.recommendedLength}" (${rec.adjustment >= 0 ? '+' : ''}${rec.adjustment}")`);
}

Supported Clubs

Club Key
Driver driver
3-Wood 3-wood
5-Wood 5-wood
4-Hybrid 4-hybrid
5-Iron 5-iron
6-Iron 6-iron
7-Iron 7-iron
8-Iron 8-iron
9-Iron 9-iron
Pitching Wedge pw
Gap Wedge gw
Sand Wedge sw
Lob Wedge lw
Putter putter

Fitting Method

Wrist-to-Floor (Primary)

The wrist-to-floor measurement is the most accurate fitting method. Measure from the wrist crease (where the hand meets the wrist) straight down to the floor while standing upright in golf shoes.

Wrist-to-Floor Adjustment
27" – 29" −1.0"
29" – 32" −0.5"
32" – 34" −0.25"
34" – 37" Standard
37" – 39" +0.25"
39" – 41" +0.5"
41" – 44" +1.0"

Height (Fallback)

When wrist-to-floor is not available, height is used as a proxy:

Height Adjustment
Under 5'0" −1.0"
5'0" – 5'3" −0.5"
5'3" – 5'5" −0.25"
5'5" – 5'10" Standard
5'10" – 6'0" +0.25"
6'0" – 6'2" +0.5"
Over 6'2" +1.0"

Adjustments apply uniformly across all clubs. For precision fitting, always use wrist-to-floor and confirm results with a certified club fitter.


Related Resources


License

MIT License — copyright 2026 GolfLaunchLab. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

golf_club_length-1.0.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

golf_club_length-1.0.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file golf_club_length-1.0.0.tar.gz.

File metadata

  • Download URL: golf_club_length-1.0.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for golf_club_length-1.0.0.tar.gz
Algorithm Hash digest
SHA256 18464fa0ac752d3778c75b80e02d77390eced0aed2af6756707e2b7280a166e4
MD5 d863d7565745650f9dfb32a750f54e79
BLAKE2b-256 2007577f216179d62b07661a716fad02138349e1575e43a15048378780ee570b

See more details on using hashes here.

File details

Details for the file golf_club_length-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for golf_club_length-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2ea99844f5524f81be972c7637d6d3eca4a22c7f6c4258fd8f91450103cfdaf
MD5 cf334c93e69fb49ab0da07741d6dd324
BLAKE2b-256 bcf4a3c87963742fcef883cbf96d9f482a9ffc1959366e32ae00e0f5c933f243

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page