Spring Index and Wahl Factor Calculator
Spring Index and Wahl Factor Calculator
Both published stress correction factors — Wahl and Bergsträsser — with the correction split into the direct shear it adds and the curvature concentration it accounts for, because only one of the two survives into a fatigue calculation.
Spring index, Wahl and Bergsträsser factors
A 2 mm wire on a 16 mm outside diameter carrying 100 N — a spring index of 7
Two published factors, one split, one stress
- C
- spring index: mean coil diameter over wire diameter. Everything on this page is a function of it and of nothing else
- K_W
- Wahl’s factor, from his 1944 text. The older and more widely printed of the two; SMI and most spring makers use it
- K_B
- Bergsträsser’s factor. Shigley prefers it; it is within about one per cent of Wahl’s everywhere and comes from a cleaner derivation
- K_s
- the direct shear factor alone: exactly what you get by adding the uniform transverse shear F/A to the torsional stress. Not a stress concentration — a real load
- K_c
- the curvature factor alone, K_B/K_s. This IS a stress concentration: the inner fibre of a curved wire carries more than the outer. Relievable by local yielding in static ductile loading; not relievable in fatigue
- τ
- shear stress at the inner fibre of the coil. The uncorrected form 8FD/πd³ is the torsion of a straight bar and is the number both factors correct
Worked example
A 2 mm wire on a 16 mm outside diameter carrying 100 N — a spring index of 7
Mean diameter D = 16 − 2 = 14 mm, so the index is C = D/d = 14/2 = 7.0. Note the subtraction: using the outside diameter would give C = 8, and every factor below would be wrong in the safe direction, which is the direction you do not find out about
Wahl: K_W = (4C−1)/(4C−4) + 0.615/C = 27/24 + 0.615/7 = 1.125 + 0.087857 = 1.2129
Bergsträsser: K_B = (4C+2)/(4C−3) = 30/25 = 1.2000. The two differ by 1.07 per cent. That is the entire disagreement between the two published standards on this page, and it is smaller than the tolerance on the wire
NOW SPLIT IT, which is the part most sources do not. The direct shear factor on its own is K_s = (2C+1)/2C = 15/14 = 1.0714. That is not an estimate: add the uniform transverse shear F/A to the torsional stress 16T/πd³ with T = FD/2 and you get exactly that ratio
The curvature factor is what is left: K_c = K_B/K_s = 1.2000/1.0714 = 1.1200. So of the 20.0 per cent the full correction adds, 36 per cent of it is direct shear and 60 per cent is curvature
The stresses. Uncorrected, τ = 8FD/(πd³) = 8 × 100 × 14/(π × 8) = 446 MPa. Wahl corrected: 540 MPa. Bergsträsser corrected: 535 MPa. The difference between the two corrections is 5.7 MPa; the difference between correcting and not correcting is 89 MPa
WHICH IS THE POINT. At C = 7 the correction is worth 20 per cent and the choice of factor is worth 1.1 per cent. At C = 4 the correction is worth 38 per cent and the choice is still worth only 1.4 per cent. Spend your attention on whether to correct, not on which correction
One more reading, for fatigue. Shigley's guidance is that the CURVATURE part may be ignored for static loading of a ductile wire, because local yielding relieves it, but must be carried under fatigue. The direct shear part is a real load and is always carried. That distinction can only be made if the two are kept apart, which is why this page prints K_s and K_c separately rather than only their product
Both factors, and the split into direct shear and curvature
| Spring index C | Wahl K_W | Bergsträsser K_B | Wahl above Bergsträsser | Direct shear K_s | Curvature K_c | Curvature’s share of the correction |
|---|---|---|---|---|---|---|
| 3.0 | 1.5800 | 1.5556 | 1.57 % | 1.1667 | 1.3333 | 60 % |
| 3.5 | 1.4757 | 1.4545 | 1.46 % | 1.1429 | 1.2727 | 60 % |
| 4.0 | 1.4038 | 1.3846 | 1.38 % | 1.1250 | 1.2308 | 60 % |
| 5.0 | 1.3105 | 1.2941 | 1.27 % | 1.1000 | 1.1765 | 60 % |
| 6.0 | 1.2525 | 1.2381 | 1.16 % | 1.0833 | 1.1429 | 60 % |
| 7.0 | 1.2129 | 1.2000 | 1.07 % | 1.0714 | 1.1200 | 60 % |
| 8.0 | 1.1840 | 1.1724 | 0.99 % | 1.0625 | 1.1034 | 60 % |
| 10.0 | 1.1448 | 1.1351 | 0.85 % | 1.0500 | 1.0811 | 60 % |
| 12.0 | 1.1194 | 1.1111 | 0.75 % | 1.0417 | 1.0667 | 60 % |
| 14.0 | 1.1016 | 1.0943 | 0.67 % | 1.0357 | 1.0566 | 60 % |
| 16.0 | 1.0884 | 1.0820 | 0.60 % | 1.0313 | 1.0492 | 60 % |
| 20.0 | 1.0702 | 1.0649 | 0.50 % | 1.0250 | 1.0390 | 60 % |
What the index costs you, at a fixed wire and a fixed load
| Spring index C | Outside diameter | Uncorrected τ | Corrected τ | Correction adds | Corrected stress relative to C = 4 |
|---|---|---|---|---|---|
| 4 | 10.0 mm | 255 | 353 | 38.5 % | 1.000× |
| 6 | 14.0 mm | 382 | 473 | 23.8 % | 1.341× |
| 8 | 18.0 mm | 509 | 597 | 17.2 % | 1.693× |
| 10 | 22.0 mm | 637 | 723 | 13.5 % | 2.050× |
| 12 | 26.0 mm | 764 | 849 | 11.1 % | 2.407× |
One index, two factors that agree, and a split that changes the fatigue answer
The spring index is the one number a spring maker asks for first. C = D/d, the mean coil diameter over the wire diameter, and everything on this page is a function of it alone — not of the material, not of the load, not of the number of coils. It decides whether the spring can be coiled, how much the stress at the inner fibre exceeds the textbook torsion value, how badly the springs tangle, and how readily they buckle. The preferred range is 4 to 12. Below 4 the wire cracks in coiling; above 12 the springs knit together in the bin and wander in the machine.
Two published factors, and they barely disagree. Wahl’s K_W = (4C−1)/(4C−4) + 0.615/C is the older and more widely printed; Bergsträsser’s K_B = (4C+2)/(4C−3) comes from a cleaner derivation and is what Shigley uses. Across the whole usable index range they differ by under two per cent, and above C = 5 by under one. This page prints both, always, because a page that prints one without saying which has told you less than it thinks. What is worth arguing about is not which factor but whether to apply one at all: at C = 4 the correction is 38 per cent and at C = 12 it is 11 per cent, either of which dwarfs the difference between the two candidates.
The factor does two different things and only one of them is a stress concentration. The uncorrected formula τ = 8FD/πd³ is the torsion of a straight bar. A real spring differs from that in two ways. First, the wire also carries the direct transverse shear F across its section, which the torsion formula ignores entirely; adding it gives exactly K_s = (2C+1)/2C, and that is a REAL LOAD, not a concentration. Second, the wire is curved, so the inner fibre of the coil is shorter than the outer and carries more stress; that ratio, K_c = K_B/K_s, IS a stress concentration. The distinction is not academic: Shigley’s guidance is that the curvature effect may be ignored for static loading of a ductile wire, because local yielding relieves it, but must be carried in fatigue, where nothing relieves anything. A source that gives you only the product cannot make that call for you, and this page gives you all three numbers.
The chart is the page. K against C, with the reader’s own spring on it, shows in one glance what a paragraph cannot: that the two factors are the same line at any honest scale, that both go to infinity at C = 1 and are already steep at C = 3, and that the gap between the full factor and the direct-shear line — the curvature effect, the part that matters in fatigue — narrows steadily as the coil slackens. That last observation is the useful one for a fatigue design: a higher index buys a smaller concentration, and pays for it in a larger uncorrected stress and a spring that buckles.
Where this page stops. It gives the stress at the inner fibre of a round-wire helical coil and nothing else. It does not cover square or rectangular wire, which has its own factors. It does not cover the stress concentration at a shoulder, groove or keyway on a shaft, which the shaft fillet and stress concentration calculator owns — a different geometry with different published curves, and notch sensitivity on top. It does not cover the Goodman treatment of a preloaded bolt, which the bolt fatigue calculator owns. And it does not turn a stress into a life: that needs an endurance limit, a surface condition and a mean-stress rule, none of which is a function of the spring index.
Frequently asked questions
Wahl or Bergsträsser — which should I use?
Either, and say which. They differ by under two per cent everywhere in the usable range of spring index and by under one per cent above C = 5, which is smaller than the tolerance on the wire diameter. Shigley uses Bergsträsser; SMI, Wahl’s own text and most spring makers use Wahl. What actually matters is that you correct at all: the correction is 38 per cent at C = 4 and 11 per cent at C = 12, and an uncorrected stress is simply the wrong number.
What exactly is the factor correcting for?
Two things at once, which is why it is worth splitting. The textbook stress 8FD/πd³ is the torsion of a straight bar. A coil differs because (a) the wire also carries the direct transverse shear F over its cross-section, which adds K_s = (2C+1)/2C exactly, and (b) the wire is curved, so the inner fibre is shorter and more highly stressed, which adds K_c on top. Only the second is a stress concentration. This page prints K_s, K_c and their product separately.
Can I ignore the correction for a static spring?
You can ignore the CURVATURE part, not the whole factor. Shigley’s guidance is that for static loading of a ductile wire the curvature stress concentration is relieved by local yielding at the inner fibre, so it need not be carried; the direct shear is a real load and is always there. In fatigue neither can be dropped, because nothing relieves a concentration that is cycled. At C = 7 that distinction is worth about eight per cent of the stress, and at C = 4 about nineteen.
Why is the preferred spring index 4 to 12?
The bottom is a manufacturing limit and the top is a handling and stability one. Below C = 4 the outer fibre of the wire is stretched hard enough in coiling that it can crack, the tooling forces rise steeply, and the stress correction is climbing towards its singularity at C = 1. Above C = 12 nothing is overstressed, but the springs tangle with one another badly enough to need individual packing, and they are slender enough to buckle in service.
Does a bigger index mean a less stressed spring?
No — the opposite, at a fixed wire and load. The correction factor falls with the index, but the uncorrected stress 8FD/πd³ rises LINEARLY with it, because D is C times d. The rise always wins. What a high index buys is a smaller correction factor and easier coiling; what it costs is a bigger, more highly stressed, more buckling-prone spring. The table on this page shows both effects at a fixed wire.
Does the index affect the rate as well as the stress?
Strongly. The rate is Gd⁴/(8D³n_a) and D = Cd, so at a fixed wire the rate goes as 1/C³: doubling the index makes the spring eight times softer. That is why the index is the first thing a designer moves when a spring needs to be softer without changing the wire, and why a small change in coiled diameter has such a large effect on a delivered spring’s rate.
Related calculators
References
- A. M. Wahl, Mechanical Springs (2nd edition, McGraw-Hill). The origin of the correction factor that carries his name and of the curved-beam factors used for extension-spring hooks and torsion-spring coils. Cited by name; the factors themselves are printed here because they are algebraic expressions in the spring index, not tabulated data.
- R. G. Budynas and J. K. Nisbett, Shigley’s Mechanical Engineering Design, chapter 10 “Mechanical Springs”. The source for the four-way end-condition table (Table 10-1, itself attributed there to Associated Spring’s Design Handbook), for the Bergsträsser factor, for the buckling constants C₁′ and C₂′, for the torsion-spring constant 10.8, and for the Sut = A/dm constants. Two of its published worked solutions (problems 10-35 and 10-37) were reproduced here to four significant figures as a check on the initial-tension band, and the end-condition table was checked cell for cell against RoyMech’s independent printing.
- Spring Manufacturers Institute, Handbook of Spring Design, and Associated Spring / Barnes Group, Design Handbook. The origin of the end-condition table, of the preferred initial-tension band plotted against spring index, and of the stability curves. Both are cited by name and NOT reproduced; the values used here were taken from the named catalogue and textbook printings below, which is this site’s standing policy on copyrighted design data.
- RoyMech, Helical Spring Design — Compression and Extension Springs and Spring Materials. Used as the independent check on the four-way end-condition table (which agrees with Shigley’s Table 10-1 cell for cell), on the SI A and m constants, and on the shear moduli. RoyMech’s own published position is worth quoting because it is the honest one: “do not use a fixed percentage of tensile strength as a universal spring allowable”.
- EN 13906-1, -2 and -3, Cylindrical helical springs made from round wire and bar — Calculation and design (Part 1 compression, Part 2 extension, Part 3 torsion). Cited by number, not reproduced. It is the European counterpart to the treatment on these pages and it is the document a European drawing will name; the closed forms used here (k = Gd⁴/8D³n, the Wahl correction, the bending rate of a torsion spring) are the same ones, and every figure this site prints is either computed from a definition or attributed to a named catalogue.
- R. C. Juvinall and K. M. Marshek, Fundamentals of Machine Component Design, chapter 17. Carried here because it DISAGREES with Shigley on the wire-strength constants — Ap = 2,170 MPa and m = 0.146 for music wire against 2,211 and 0.145, 1,750 and 0.192 for hard-drawn against 1,783 and 0.190 — and on the allowable, using a single Ssy = 0.4 Sut where Shigley splits 0.45, 0.50 and 0.35 by material. Both readings are named on the wire page; neither is called a misprint.
