Compression Spring Calculator
Spring rate · Wahl/Bergsträsser stress · Goodman fatigue · Buckling SF · Surge SF · Set risk · Energy stored - SMI / IS 7906.
📖 What is a Compression Spring Calculator?
A compression spring calculator applies the standard helical spring equations - as codified by the Spring Manufacturers Institute (SMI), the Indian Standard IS 7906, and EN 13906-1 (and drawing on Shigley's Mechanical Engineering Design) - to determine the full mechanical performance of a coil compression spring from its geometry and material. Engineers use it during spring design to verify spring rate, working stress, fatigue life, solid height clearance, buckling safety, resonance margin, permanent set risk, and energy storage before ordering or manufacturing.
This calculator covers the complete SMI/Shigley design workflow. From geometry inputs (wire diameter, coil diameter, free length, active coils, end type) and material selection, it computes: spring rate, forces at preload and working deflection, spring index, Wahl or Bergsträsser corrected shear stress, mean and alternating stress, modified Goodman fatigue safety factor, critical buckling load with safety factor, surge resonance safety factor, permanent set risk, energy stored, dynamic inertia force, coil pitch validity, installed-length lateral stability, wire mass, and natural frequency.
The stress correction factor is critical - in a helical spring the wire is curved, not straight, and bears a direct shear component in addition to torsional shear. This calculator supports both the classic Wahl factor (Kw) and the Bergsträsser factor (Kb), which is used by EN 13906 and DIN 2089 and is considered marginally more accurate for low spring index values (C < 6). The two factors agree to within 1–2% for C > 6. Without stress correction, springs are systematically under-designed and fail prematurely in service.
The Goodman fatigue assessment treats the spring as a variable-amplitude component cycling between a preload (installed) stress and a working (maximum) stress. The modified Goodman criterion compares the mean-plus-alternating stress combination against the material's endurance limit and ultimate shear strength. A safety factor above 1.3 is acceptable for static or low-cycle use; safety factors above 1.5–2.0 are recommended for high-cycle dynamic applications such as engine valve springs or actuator return springs.
Ten spring materials are available - from common hard-drawn steel wire and music wire through chrome-vanadium, chrome-silicon, two grades of stainless steel, 17-7 PH precipitation-hardened stainless, phosphor bronze, beryllium copper, and Inconel 718 for high-temperature service. Each material has a characteristic shear modulus G, density, and allowable stress fraction of UTS derived from long-service SMI and IS material data.
The calculator is intended for preliminary design and educational use. For safety-critical or dynamic applications - valve springs, suspension springs, aerospace mechanisms - always validate results against the applicable design code and engage a qualified mechanical engineer.
Compression vs Extension vs Torsion Spring - At a Glance
| Property | Compression Spring | Extension Spring | Torsion Spring |
|---|---|---|---|
| Load type | Axial compressive force | Axial tensile force | Torque (angular moment) |
| Primary wire stress | Torsional shear | Torsional shear + hook bending | Bending stress |
| Spring rate units | N/mm (force per length) | N/mm (force per length) | N·mm/° (torque per angle) |
| Rate formula uses | Shear modulus G | Shear modulus G | Young's modulus E |
| Stress correction | Wahl Kw or Bergsträsser Kb | Wahl Kw (body) + Kb (hook) | KB curvature-bending factor |
| Free position | Open coils, defined pitch | Closed coils, zero pitch | Close-wound body, free angle |
| Critical design check | Solid height clash + buckling | Hook bending stress + x_max | Coil diameter change on mandrel |
| Pre-load behaviour | No pre-load (force = 0 at free length) | Initial tension Fi (force threshold) | No pre-load unless preset |
| Common applications | Valves, suspension, buttons | Door closers, garage doors | Hinges, latches, clothespins |
📝 Compression Spring Formulas
k = (G × d⁴) / (8 × D³ × Na)
G = shear modulus (MPa) | d = wire dia (mm) | D = mean coil dia (mm) | Na = active coils
Total Coils from End Type:
Nt = Na + 2 (closed/ground or closed unground) | Nt = Na (open) | Nt = Na + 4 (double-closed)
Spring Force at Deflection x:
F = k × x
Spring Index:
C = D / d Valid range: 4 ≤ C ≤ 12
Wahl Correction Factor:
Kw = (4C − 1) / (4C − 4) + 0.615 / C
Corrected Shear Stress (Wahl):
τ = (8 × F × D) / (π × d³) × Kw [MPa when F in N, D & d in mm]
Solid Height:
Ls = Nt × d
Clash Allowance:
CA% = (x_max − x₂) / x_max × 100 x_max = L0 − Ls
Wire Mass:
m = ρ × π/4 × d² × π × D × Nt × 10⁻⁶ [kg; ρ in kg/m³, d and D in mm]
Natural Frequency (lowest axial mode):
fn = (d / (2π × D² × Na)) × sqrt(G / (2ρ)) × 1000 [Hz; G in MPa, ρ in kg/m³]
Modified Goodman Fatigue Safety Factor:
τ_mean = (τ₂ + τ₁) / 2 τ_alt = (τ₂ − τ₁) / 2
SF = 1 / (τ_alt / S_e + τ_mean / S_us)
S_e ≈ 0.40 × UTS (torsional endurance limit for steel)
S_us ≈ 0.65 × UTS (ultimate shear strength)
Slenderness Ratio (Buckling) - SMI limits per end condition:
SR = L0 / D Both ends fixed: SR < 4 | One end fixed: SR < 2.6 | Both ends free: SR < 2
Bergsträsser Stress Correction (alternative to Wahl):
K_b = (4C + 2) / (4C − 3) More accurate for inner-fibre curvature stress; K_b ≈ K_w for C > 6
Coil Pitch:
p = (L0 − inactive_coil_height) / Na Must be > d to prevent coil clash at sub-solid deflection
Installed-Length Lateral Stability:
L_i = L0 − x₁ If L_i / D > 2.63 → lateral bow likely during compression; guide rod recommended
Surge (Resonance) Safety Factor:
SF_surge = f_n / f_operating Minimum recommended: 13× (SMI); 20× for valve springs
Permanent Set Risk:
τ_max / UTS < 0.45 → LOW | 0.45–0.50 → MEDIUM | > 0.50 → HIGH
Energy Stored:
U = ½ × k × x₂² [N·mm → divide by 1000 for joules]
Dynamic Inertia Force (high-speed springs):
F_dyn = (m_spring / 3) × (2π × f_op)² × x₂ [Factor 1/3: distributed spring mass per Shigley §10]
Estimated Fatigue Life (Basquin / S-N approximation):
N = 10⁶ × (S_e / τ_alt)⁵ [cycles; exponent b = 5 for spring steel per SMI / Shigley]
If τ_alt < S_e → life is theoretically infinite (below endurance limit)
Life categories: <10³ = very low | 10³–10⁵ = limited | 10⁵–10⁶ = moderate | >10⁶ = long / infinite
Compression Spring Formula Quick Reference
| Parameter | Symbol | Formula | Units |
|---|---|---|---|
| Spring rate | k | G d⁴ / (8 D³ Na) | N/mm |
| Spring index | C | D / d | dimensionless |
| Wahl factor | Kw | (4C − 1)/(4C − 4) + 0.615/C | dimensionless |
| Shear stress (Wahl) | τ | 8 F D Kw / (π d³) | MPa |
| Solid height | Ls | Nt × d | mm |
| Clash allowance | CA% | (x_max − x₂) / x_max × 100 | % (min 15%) |
| Natural frequency | fn | (d / (2π D² Na)) × √(G / 2ρ) × 1000 | Hz |
| Goodman safety factor | SF | 1 / (τ_alt / S_e + τ_mean / S_us) | ≥ 1.3 acceptable |
| Slenderness ratio | SR | L₀ / D | < 4 (fixed-fixed) |
| Energy stored | U | ½ k x₂² | N·mm (÷1000 = J) |
Spring Index (C = D/d) Design Guide
| C range | Wahl Kw (approx.) | Stress penalty | Manufacturability | Stability | Verdict |
|---|---|---|---|---|---|
| < 4 | > 1.40 | Very high (+40%+) | Difficult - mandrel distortion | Good (stocky) | Avoid if possible |
| 4 – 6 | 1.25 – 1.40 | High (+25–40%) | Acceptable - some curvature | Good | Heavy-duty / compact |
| 6 – 9 | 1.18 – 1.25 | Moderate (+18–25%) | Easy - standard coiling | Good | Optimal - target this range |
| 9 – 12 | 1.13 – 1.18 | Low (+13–18%) | Easy - wide coils | Buckling risk rises | Acceptable - check SR |
| > 12 | < 1.13 | Low (+13%) | Tangles during manufacture | High buckling risk | Avoid - unstable |
End Type Comparison
| End Type | Total coils Nt | Solid height Ls | Load transfer | Cost | Best for |
|---|---|---|---|---|---|
| Closed & Ground | Na + 2 | Nt × d | Uniform axial - best | Medium | General-purpose (most common) |
| Closed Unground | Na + 2 | Nt × d | Slight angular load | Low | Low-cost static springs |
| Open Ends | Na | Nt × d | Poor - tends to tangle | Lowest | Non-critical applications only |
| Double Closed | Na + 4 | Nt × d | Very uniform - precision | High | Instruments, precision assemblies |
🔧 Spring Wire Materials - Properties and Selection Guide
The material you select determines the shear modulus G, maximum allowable stress, fatigue endurance, corrosion resistance, and maximum operating temperature. The ten materials built into this calculator span the full range of spring wire applications - from general-purpose industrial springs to corrosive-environment and high-temperature service.
| Material | G (MPa) | E (MPa) | UTS range (MPa) | Density (kg/m³) | Max temp (°C) | Allowable τ / UTS | Standards |
|---|---|---|---|---|---|---|---|
| Hard-drawn Steel | 79,300 | 200,000 | 1380 – 1650 | 7,850 | 120 | 0.45 | IS 4454, ASTM A227 |
| Music Wire (Patented) | 81,500 | 210,000 | 1650 – 2200 | 7,850 | 120 | 0.45 | IS 4454 Gr.2, ASTM A228 |
| Chrome-Vanadium | 80,000 | 208,000 | 1550 – 1900 | 7,840 | 220 | 0.52 | IS 3431, ASTM A401, EN 10270-2 |
| Chrome-Silicon (SAE 9254) | 80,700 | 207,000 | 1700 – 2050 | 7,830 | 250 | 0.52 | SAE 9254, DIN 17223-2 |
| Stainless Steel 302 | 68,900 | 193,000 | 1150 – 1450 | 7,920 | 260 | 0.35 | IS 6603, ASTM A313 Gr.302 |
| Stainless Steel 316L | 68,000 | 193,000 | 1050 – 1350 | 7,980 | 315 | 0.32 | ASTM A313 Gr.316 |
| Stainless 17-7 PH | 71,700 | 204,000 | 1450 – 1750 | 7,780 | 370 | 0.42 | ASTM A313 Gr.631 (17-7 PH) |
| Phosphor Bronze | 41,400 | 103,000 | 700 – 1000 | 8,860 | 95 | 0.30 | IS 7811, ASTM B197 |
| Beryllium Copper | 48,300 | 124,000 | 1000 – 1380 | 8,250 | 200 | 0.38 | ASTM B197, CDA 172 |
| Inconel 718 | 77,200 | 200,000 | 1200 – 1450 | 8,220 | 650 | 0.35 | AMS 5596, ASTM B637 |
UTS values are typical for 2–4 mm wire diameter. UTS increases for smaller diameters. Allowable τ/UTS = maximum shear stress as a fraction of UTS (static loading). For fatigue: use Goodman SF ≥ 1.3 as the governing criterion.
Material Selection Guide
Quick Selection Decision Tree
Is corrosion resistance required?
├─ Yes, light corrosion (atmosphere, fresh water): → Stainless 302
├─ Yes, chloride / marine / chemical: → Stainless 316L
├─ Yes, high strength + corrosion (aerospace): → 17-7 PH
└─ No corrosion resistance needed: ↓
Is the service temperature above 120 °C?
├─ 120–220 °C: → Chrome-Vanadium
├─ 220–260 °C: → Chrome-Silicon (SAE 9254)
├─ 260–370 °C (corrosion-resistant too): → 17-7 PH
├─ Above 370 °C: → Inconel 718
└─ Ambient (below 120 °C): ↓
Is the spring non-magnetic or in an electrical / hazardous-area application?
├─ Non-sparking, electrical contact, low stress: → Phosphor Bronze
├─ Non-sparking, high stress, precision: → Beryllium Copper
└─ Standard steel application: ↓
Is fatigue life critical (cycles > 10⁵)?
├─ Yes, high-cycle fatigue: → Music Wire (ASTM A228 / IS 4454 Gr.2)
└─ No, static or low-cycle only: → Hard-drawn Steel
✍️ How to Use This Calculator
📄 Example Calculations
Example 1 - General-purpose hard-drawn steel spring
Example 2 - Chrome-vanadium valve spring (high-cycle fatigue)
❓ Frequently Asked Questions
🔗 Related Calculators
What is the Wahl correction factor and why is it important?
The Wahl correction factor (Kw) accounts for two stress-raising effects ignored by the simple torsion formula: the curvature of the wire wrapped around the coil, and the direct transverse shear component. It is defined as Kw = (4C−1)/(4C−4) + 0.615/C where C is the spring index D/d. For a spring index of 6, Kw ≈ 1.25, meaning actual stress is 25% higher than the naive calculation. Ignoring Kw leads to under-designed springs that fail prematurely.
How is fatigue life estimated for a compression spring?
Fatigue life is assessed using the modified Goodman diagram, which relates mean stress and alternating stress to the material's ultimate tensile strength. For a spring cycling between a preload F1 (installed load) and a working load F2, the mean stress τ_mean = (τ2 + τ1)/2 and alternating stress τ_alt = (τ2 − τ1)/2. The Goodman safety factor SF = 1 / (τ_alt / S_e + τ_mean / S_us) where S_e is the endurance limit (≈ 0.4 × UTS for steel in torsion) and S_us is the ultimate shear strength (≈ 0.65 × UTS). SF > 1.3 is typically acceptable for non-critical applications.
What is spring index and why does it matter?
Spring index C = D/d is the ratio of mean coil diameter to wire diameter. It controls stress concentration, manufacturability, and stability. Low C (< 4): very high curvature stress, difficult to coil consistently. High C (> 12): low stress but unstable, prone to buckling. Optimal range C = 6–9 balances stress, fatigue life, and production economy.
How do I check if my spring will buckle laterally?
Lateral buckling risk is assessed by the slenderness ratio L0/D. For springs with both ends on flat parallel surfaces (fixed-fixed): buckling occurs when L0/D > ~4. For one free end (fixed-free): threshold drops to ~2.6. This calculator flags the risk when SR > 4. To prevent buckling, reduce L0, increase D, or guide the spring on a central rod or inside a bore.
What is solid height and what clash allowance should I use?
Solid height Ls = Nt × d is the spring length when all coils touch. In service, the spring must never reach solid height - coil clash causes impact loading and rapid fatigue failure. A minimum clash allowance (L0 − Ls − x_working) of 15% of x_max is standard per SMI guidelines. For high-cycle fatigue applications, use 25–30% clash allowance.
What end types are available and how do they affect the spring?
Closed-and-ground ends (most common): Nt = Na + 2, provides flat seating, uniform load transfer. Closed (unground): Nt = Na + 2, lower cost but slight angular loading. Open ends: Nt = Na, cheaper but poor seating and tendency to tangle. Double-closed: Nt = Na + 4, used for precision applications. End type affects solid height (Ls = Nt × d) and the number of active coils.
What is spring rate and how is it calculated?
Spring rate (k) is the force required to compress or extend a spring by one unit of length, measured in N/mm or lbf/in. For a compression spring: k = (G x d^4) / (8 x D^3 x Na), where G = shear modulus of spring material, d = wire diameter, D = mean coil diameter, Na = number of active coils. A stiffer spring has a higher spring rate. To achieve a target spring rate, increase wire diameter or decrease coil diameter and number of active coils.
What is the Wahl correction factor?
The Wahl correction factor accounts for stress concentration and curvature effects in spring wire. For tightly coiled springs (low spring index C = D/d), the inner edge of the coil experiences significantly higher stress than a straight wire would suggest. The Wahl factor Kw = (4C-1)/(4C-4) + 0.615/C. For C = 6 (common), Kw = approximately 1.25, meaning actual maximum shear stress is 25% higher than the basic torsion formula predicts. Always apply the Wahl factor for fatigue life calculations.