Helical Compression Spring
stiffnessstressmass-cost
Verified build 8 relations · 4 identities proven · 1 modeling step · 6 parity samplesValve trains, pogo sticks, retractable pens, vehicle suspensions, mattress cores, mold ejectors — the helical compression spring is how machines store force in a small, cheap, reliable package. The trick is hidden in plain sight: push on the coil and the wire doesn’t compress, it twists. A compression spring is the torsion shaft wound into a helix, and every formula on this page is that page’s physics wearing a coil:
Three things to notice, one per formula:
- The rate is a stiffness property, so it belongs to . Yield strength appears nowhere in — swap A36 for the far stronger 4340 in the widget and the rate barely twitches (every steel shares essentially one ), while the safety factor more than doubles. Then pick Ti-6Al-4V: the rate drops by almost half at the same geometry — a titanium spring is a softer spring, which is exactly why it must be rewound, not substituted. Stiffness and strength are different axes of the material, and the spring shows the split more sharply than any other THING in the catalog.
- The geometry leverage is brutal. Wire diameter enters the rate to the fourth power and coil diameter to the inverse third; the stress sees and drags the Wahl factor with it. A 10 % change in wire diameter moves the rate ~46 %. This is why springs are wound to catalog wire gauges and you design to the geometry, not around it.
- The envelopes are part of the model. A spring is only honest between its limits: compress it to the solid height and the coils stack into a rigid slug (the widget refuses past coil bind — the linear model has nothing true to say there); make too tall relative to and it buckles sideways like a column — and since the stability bound depends on and only through their ratio (essentially Poisson’s ν), it lands near for every isotropic material, a rare nearly-universal number in this catalog; wind outside 4–12 and you have something a spring works either can’t make or you can’t use.
The wind-to-rate configuration runs the same relations backwards: name the rate you need and the widget finds the coil count to wind — then immediately tells you what that choice costs in stress, bind clearance, and buckling margin. Real spring catalogs are this exact loop with money attached.
Try it
4 materials in the database are not listed here: no published value in our cited sources for every property this THING needs.
Materials modeled here: 2024-T3 aluminum sheet (bare) 304 stainless steel 6061-T6 aluminum 7075-T6 aluminum AISI 1045 medium-carbon steel AISI 4340 low-alloy steel (Ni-Cr-Mo) ASTM A36 structural steel (hot-rolled) C26000 Cartridge Brass (70/30) Ti-6Al-4V
Governing relations
Assumes: the one dimensionless number that controls everything else — curvature, windability, and the stress correction all depend on geometry only through C · Valid while: Mean coil diameter must exceed the wire diameter — at C ≤ 1 there is no inner clearance and nothing here describes a windable coil. Every formula on this page is meaningless in this region. Spring index below 4 — the coil is curled so tightly that winding it is hard on machine and wire alike, and the inner-fiber stress correction balloons. Practical springs live between C = 4 and C = 12. Spring index above 12 — the coil is so open it is flimsy, prone to tangling, and wanders sideways under load. Practical springs live between C = 4 and C = 12.
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: linear elastic; the wire works in torsion, so G (not E) sets the rate; direct-shear contribution to deflection dropped — Shigley's eq. (10-9) approximation; the dropped term is 1/(2C²), ≈ 1 % at C = 7 and shrinking with C²; ends seated so that only the N_a active coils deflect · Valid while: Free length exceeds the absolute-stability limit (squared-and-ground ends between flat parallel plates, α = 0.5) — a spring this slender can buckle sideways like a column once deflection grows. Guide it in a hole or over a rod, or use a fatter coil.
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: Wahl's correction for the inner-fiber stress — direct shear plus coil curvature in one factor; Bergsträsser's K_B = (4C+2)/(4C−3) sits at most ~1.4 % below it over C = 4–12
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: the wire cross-section carries torsion T = FD/2 plus direct shear; both peak on the inside of the coil, which is where springs fail; static loading — fatigue under cyclic load is governed by different (lower) allowables · Valid while: Inner-fiber shear stress exceeds the shear yield strength (σ_y/2, maximum-shear-stress criterion) — the spring takes a permanent set and loses free length. Spring makers exploit exactly this on purpose (set removal); in service it is failure.
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: linear range — force is proportional to deflection until the coils touch
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: squared-and-ground ends — two inactive end coils, N_t = N_a + 2, stacked wire height d·N_t · Valid while: Coil bind: the spring has been pushed solid — every coil is touching its neighbor and the load path is now wire-on-wire compression, not torsion. The linear model has nothing true to say past this point; the force skyrockets and the spring (or whatever compressed it) is about to be damaged.
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: maximum-shear-stress (Tresca) criterion against the bulk tensile yield strength — the same convention as the torsion shaft; deliberately conservative — the margin keeps the full Wahl curvature factor, where Shigley's static-service practice drops the curvature part (K_s only) on the grounds that the first load locally strain-strengthens it away; this page flags first local yield at the inner fiber, ~11 % earlier at C = 8; honest caveat — real spring wire (music wire, hard-drawn, chrome-silicon) is cold-drawn far stronger than any bulk bar of the same alloy, and its strength grows as the wire gets thinner; catalog spring design uses wire-size-dependent allowables this database does not yet carry
Source: Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
Assumes: wire length ≈ πD per coil (helix angle small), N_t = N_a + 2 total coils, uniform density
Source: Gere, J. M., & Goodno, B. J., Mechanics of Materials, 9th ed., Cengage, 2018 — circular shafts in torsion (the wire's stress state, §3.3–3.5) and prismatic volume/mass.
Derivation
Steps marked modeling step are where physics enters by citation — every other line is machine-proven to follow from them, and the cited models are independently re-derived in the test pipeline where possible. See what is and isn't machine-verified.
1. The modeling step: cut the wire anywhere and balance the cut piece. The axial force F, acting up the coil axis a moment arm D/2 away, loads the wire cross-section with a torque T = FD/2 (plus a direct shear F). A compression spring is not compressed — it is a torsion bar wound into a package, and every coil carries the same torque. — statics: cut the wire modeling step
2. Apply the torsion-shaft formula to the wire: τ = 16T/(πd³) on a solid circular section. Substituting T = FD/2 gives the uncorrected spring stress 8FD/(πd³). Everything the torsion-shaft page proved is being reused here verbatim — that page's derivation is this step's pedigree. — torsion formula on the wire section
3. Two corrections the straight shaft never needed, in one factor: the direct shear F/A rides on top of the torsion, and the coil's curvature crowds the shear-strain lines together on the inside of the coil. Wahl's factor bundles both; at C = 8 it adds ≈ 18 %, and as C → ∞ (a straight bar) it falls back to 1. The inside fiber is where springs crack first. — Wahl (1929): direct shear + curvature correction
4. Stack up the twist: the active wire is L_w = πDN_a long and twists θ = TL_w/(GJ) end to end, exactly as the torsion shaft would. The load point rides the moment arm D/2, so the coil shortens by δ = θ·D/2 = 8FD³N_a/(Gd⁴). (The direct-shear term adds another factor 1 + 1/(2C²) ≈ 1 % — dropped here, as in Shigley's eq. 10-9; the test pipeline re-derives the full Castigliano result with both energy terms as an independent check.) — accumulate the twist along the wire
5. Divide load by travel and F cancels: k = Gd⁴/(8D³N_a). Read what survived — wire diameter to the fourth power, coil diameter cubed, and G. The yield strength appears nowhere: rate is a stiffness property, margin is a strength property, and they are set by different knobs of the material. Swap steels in the widget and the rate barely moves while the margin swings — then try titanium. — definition of rate
How it fails
The widget’s margin is first yield in shear at the inner fiber, under a static load. Springs in the wild die in more interesting ways:
- Fatigue at the inner fiber. A valve spring accumulates on the order of 10⁸ cycles within a few years of ordinary driving; almost all real spring failures are fatigue cracks starting exactly where the Wahl factor says the stress peaks — the inside of the coil, often at a surface seam or inclusion in the wire. Shot peening (residual compression at the surface) and ground-out surface defects are the spring industry’s whole fatigue playbook. The static margin shown here says nothing about cyclic life.
- Set — yield as a feature and a failure. Push the shear stress past yield and the spring takes permanent set and comes back shorter. (The widget’s banner fires at first local yield at the Wahl-corrected inner fiber — deliberately early; visible set needs yielding across more of the section than that first whisper.) Manufacturers do this deliberately once (set removal: wind long, compress solid, let it yield into favorable residual stress); in service the same physics is a failed spring that no longer holds its preload. A relaxed valve spring floats the valve; a relaxed relief-valve spring quietly changes the set pressure.
- Coil bind as the overload fuse. At solid height the rate jumps from k to effectively the stiffness of stacked wire — orders of magnitude higher. Whatever drove the spring there now feels a near-rigid stop: cam followers hammer, brackets crack, and the spring’s own coils dent each other. Design practice keeps a clash allowance — working deflection comfortably short of δ_solid (the widget’s invalid banner is that allowance hitting zero).
- Buckling. A slender spring (large L₀/D) bows sideways under compression exactly like a column, then scrubs against whatever guides it. The absolute-stability limit in the widget depends on E and G — and an unguided spring past it doesn’t fail loudly; it wears, sings, and fails by fatigue at the rub.
- Surge. A spring is a distributed mass-stiffness system with its own longitudinal wave speed. Drive it near its natural frequency (engine valve trains do, constantly) and a compression wave travels coil-to-coil — individual coils momentarily slam to bind and stress far past the static formula. Variable-pitch and nested springs exist mostly to detune this.
- Environment. Springs are thin, highly stressed, and often hidden: corrosion pits become fatigue initiators almost immediately, and high-strength wire is notably sensitive to hydrogen embrittlement from plating. A stress-corrosion-cracked spring fails at a stress the widget calls comfortable.
Related THINGs
- Bolted Joint with Gasket (External Tensile Load)
A preloaded bolt clamping a gasketed joint, then pulled by an external tensile load. The bolt and the members act as two springs in parallel, so the external load does NOT all go to the bolt — it splits by stiffness. The build solves the coupled bolt/member force system exactly and refuses the moment the members go slack.
- stress
- Axial Disk Clutch / Brake (Uniform Wear vs Uniform Pressure)
The torque an axial plate clutch can pass depends on an assumption you cannot see: how the contact pressure is distributed across the friction annulus. A new, rigid clutch presses uniformly; a worn-in one wears until pressure ∝ 1/r, concentrating load at the inner edge. This page shows both torque predictions side by side — never picking a winner — with the worn-in model always giving the smaller (safe) number, and the r_i = r_o/√3 that squeezes the most torque from a given lining.
- torque-power
- Shaft Critical Speed (Rayleigh + Dunkerley)
Spin a shaft fast enough and it whips: at its critical speed the rotor whirls in resonance with its own static sag, ω_c = √(g/δ_st). Gravity sets the sag but cancels out of the answer — the critical speed is pure stiffness over inertia. Dunkerley's estimate folds in the shaft's own mass and is provably never higher than Rayleigh's.
- dynamics
- stress
- Spur Gear Pair (Lewis Bending)
Two meshing spur gears carry power through one tangential tooth force. The Lewis equation turns that force into a root-bending stress, and a cited form-factor table sets how much a tooth of N teeth can take. Same load, same module — yet the pinion, with fewer teeth, always works harder.
- stress
- torque-power
- Stepped Shaft — Shoulder-Fillet Stress Concentration
A shoulder where a shaft steps from a large diameter D to a small diameter d concentrates stress in the fillet of radius r. The peak stress is the nominal stress times a geometric factor K_t read from a cited chart — pure geometry: the material changes the safety factor but never K_t.
- stress
- Belt Drive (Flat Belt / Capstan)
Friction compounding like interest: every degree of wrap multiplies the tension a belt can hold, e^μθ in total — the same exponential that lets a sailor check a ship with two turns of rope. At speed, centrifugal relief steals tension back, so every belt has a power ceiling.
- torque-power
Chains with
Outputs whose SI dimension and quantity kind match another THING's input — the
only wires the planner's connectionLegal accepts (invariant 2, computed at
build time, not hand-listed). Wire these on the chaining demo.
- Composite Bar (Core + Sleeve)
-
deltaL -
L_sL
-
- Impact Loading (Falling Mass, Energy Method)
-
deltab -
deltad -
deltah -
deltaL -
L_sb -
L_sd -
L_sh -
L_sL -
m_wm
-
- Symmetric Two-Bar Truss
-
deltad -
deltaL -
L_sd -
L_sL
-
- Thermal Assembly (Two-Segment Bar Between Rigid Walls)
-
deltaL_1 -
deltaL_2 -
L_sL_1 -
L_sL_2
-
- Cantilever Beam (End Load)
-
deltab -
deltah -
deltaL -
L_sb -
L_sh -
L_sL
-
- Circular Plate under Uniform Pressure (Clamped vs Simply Supported)
-
deltaa -
deltat -
L_sa -
L_st -
tauq -
tausigma_allow
-
- Curved Beam in Bending (Winkler — Crane Hook, C-Clamp, Press Frame)
-
deltar_i -
deltar_o -
deltaw -
L_sr_i -
L_sr_o -
L_sw
-
- Fixed-Fixed Beam (UDL)
-
deltab -
deltah -
deltaL -
L_sb -
L_sh -
L_sL
-
+ 25 more THINGs its outputs can legally feed (showing the first 8 in course order).
Sources
- Budynas, R. G., & Nisbett, J. K., Shigley's Mechanical Engineering Design, 10th ed., McGraw-Hill, 2015 — §10-1 (stresses in helical springs: eqs. 10-1 spring index, 10-2/10-3 direct-shear factor), §10-2 (curvature effect: eq. 10-4 Wahl factor K_W, eq. 10-5 Bergsträsser K_B), §10-3 (deflection by Castigliano: eqs. 10-8, 10-9 spring rate), §10-4/Table 10-1 (end conditions; squared-and-ground: N_t = N_a + 2, L_s = d·N_t), §10-5 (stability: eqs. 10-10 to 10-13, Table 10-2 end-condition constant α), and §5-4 (maximum-shear-stress criterion, S_sy = 0.5 S_y).
- Wahl, A. M., Mechanical Springs, 2nd ed., McGraw-Hill, 1963 — the curvature-correction factor K_W = (4C−1)/(4C−4) + 0.615/C and the torsion-bar model of the helical spring.
- Gere, J. M., & Goodno, B. J., Mechanics of Materials, 9th ed., Cengage, 2018 — circular shafts in torsion (the wire's stress state, §3.3–3.5) and prismatic volume/mass.