Skip to main content

Golf club loft angle chart and gap analysis tool. Full loft charts at https://golflaunchlab.com/guides/golf-club-loft-chart

Project description

golf-loft-chart

GolfLaunchLab PyPI npm License: MIT

Golf club loft angle chart with lookup by club or category, plus a gap analysis tool that identifies loft gaps and distance overlaps in your bag. Covers drivers, woods, hybrids, irons, and wedges with standard modern lofts.

For full interactive loft charts, club fitting guides, and launch monitor reviews, visit GolfLaunchLab.com.


Installation

Python

pip install golf-loft-chart

JavaScript / Node.js

npm install golf-loft-chart

Usage

Python

from golf_loft_chart import get_loft, get_category, get_full_chart, gap_analysis, suggest_fill

# Look up a single club
info = get_loft("7-Iron")
print(info)  # {'club': '7-Iron', 'loft': 32.0, 'category': 'iron'}

# Also accepts shorthand names
print(get_loft("3H"))   # {'club': '3-Hybrid', 'loft': 19.0, 'category': 'hybrid'}
print(get_loft("PW"))   # {'club': 'PW', 'loft': 44.0, 'category': 'wedge'}

# Get all clubs in a category
irons = get_category("iron")
for club in irons:
    print(f"{club['club']}: {club['loft']} deg")

# Full chart (all clubs except putter)
chart = get_full_chart()
for club in chart:
    print(f"{club['club']:>12}: {club['loft']:>5.1f} deg  ({club['category']})")

# Analyze loft gaps in your bag
my_bag = ["Driver", "3-Wood", "5-Iron", "6-Iron", "7-Iron", "8-Iron", "9-Iron", "PW", "SW"]
analysis = gap_analysis(my_bag)
for gap in analysis["gaps"]:
    print(f"{gap['from_club']} -> {gap['to_club']}: {gap['gap_degrees']} deg [{gap['status']}]")
if analysis["issues"]:
    print("\nIssues found:")
    for issue in analysis["issues"]:
        print(f"  - {issue}")

# Suggest a club to fill a gap
suggestion = suggest_fill("3-Wood", "5-Iron")
print(f"\nGap: {suggestion['gap_degrees']} deg, ideal loft: {suggestion['ideal_loft']}")
for s in suggestion["suggestions"]:
    print(f"  Consider: {s['club']} ({s['loft']} deg)")

JavaScript

const { getLoft, getCategory, getFullChart, gapAnalysis, suggestFill } = require('golf-loft-chart');

// Look up a single club
const info = getLoft('7-Iron');
console.log(info);  // { club: '7-Iron', loft: 32, category: 'iron' }

// Shorthand names work too
console.log(getLoft('3H'));   // { club: '3-Hybrid', loft: 19, category: 'hybrid' }
console.log(getLoft('PW'));   // { club: 'PW', loft: 44, category: 'wedge' }

// Get all clubs in a category
const irons = getCategory('iron');
irons.forEach(c => console.log(`${c.club}: ${c.loft} deg`));

// Full chart
const chart = getFullChart();
chart.forEach(c => console.log(`${c.club}: ${c.loft} deg (${c.category})`));

// Gap analysis
const myBag = ['Driver', '3-Wood', '5-Iron', '6-Iron', '7-Iron', '8-Iron', '9-Iron', 'PW', 'SW'];
const analysis = gapAnalysis(myBag);
analysis.gaps.forEach(g => {
  console.log(`${g.fromClub} -> ${g.toClub}: ${g.gapDegrees} deg [${g.status}]`);
});
if (analysis.issues.length > 0) {
  console.log('\nIssues:');
  analysis.issues.forEach(issue => console.log(`  - ${issue}`));
}

// Suggest a fill club
const suggestion = suggestFill('3-Wood', '5-Iron');
console.log(`\nGap: ${suggestion.gapDegrees} deg, ideal: ${suggestion.idealLoft}`);
suggestion.suggestions.forEach(s => console.log(`  Consider: ${s.club} (${s.loft} deg)`));

Standard Loft Chart

Club Loft Category
Driver 10.5 Wood
3-Wood 15.0 Wood
5-Wood 18.0 Wood
7-Wood 21.0 Wood
3-Hybrid 19.0 Hybrid
4-Hybrid 22.0 Hybrid
5-Hybrid 25.0 Hybrid
4-Iron 23.0 Iron
5-Iron 26.0 Iron
6-Iron 29.0 Iron
7-Iron 32.0 Iron
8-Iron 36.0 Iron
9-Iron 40.0 Iron
PW 44.0 Wedge
GW 50.0 Wedge
SW 54.0 Wedge
LW 58.0 Wedge

Why Loft Gaps Matter

The loft difference between consecutive clubs directly determines your distance gapping. A standard 3-4 degree gap between irons produces roughly 10-15 yards of distance separation. Gaps larger than 5 degrees leave "dead zones" in your yardage coverage, while gaps under 2 degrees create distance overlap where two clubs fly the same distance.

Modern game-improvement irons have been "de-lofted" compared to traditional sets -- today's 7-iron often has the loft of a traditional 6-iron. This makes loft gap analysis more important than ever when building a set.

For deeper analysis of how loft affects distance and which clubs belong in your bag:


Related


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_loft_chart-1.0.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

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

golf_loft_chart-1.0.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for golf_loft_chart-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bff427ecbdc62f8bf0619fd5983389c7957963fe6a83f2c7d62b510de2d065ed
MD5 2216faa5d824002fe5a193d52a61e488
BLAKE2b-256 057c04308e9005484b9300637072465334f3fefcdc7e6373d30cbb585d55dc64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for golf_loft_chart-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3d7d65c9cf339d1fb74d03a781b18778dc7319a30db2e8979723444994eec8d
MD5 d536e6159b056130e25005597292c913
BLAKE2b-256 4607cd68ebe1a7421d7589a7c11fec756a45557314c6cdd38a30e4eb854b9614

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