Spoke length calculator review

Updated February 3, 2022

Written by Roger Musson

I'm going to look at some of the popular online spoke length calculators, and check the method they use to calculate the spoke lengths.

If you know that a calculator has been changed, then please let me know and I'll update the review.

The spoke length formula

The spoke length formula wasn't invented by any particular person, as long as you have an understanding of the geometry of a cycle wheel, you can easily derive the spoke length formula using basic trigonometry*.


R = Rim radius (half the ERD)
H = Hub flange radius
F = Hub flange offset
X = Cross pattern
h = Number of spokes in the wheel
d = Diameter of the spoke hole in the hub

The formula shown here uses angles in radians, which is the default for spreadsheets and programming languages.

* For more advanced calculations using different types of hubs, rims and lacing patterns, it's better to use vector algebra.

Wheel test data

The data is for one side of the wheel. If you want to put this data into one of the calculators, then use the same hub dimensions for both the left and right sides.

Hub diameter50
Hub flange offset35
Hub spoke hole diameter2.6
Rim ERD600

The standard calculation

Using the test data, the formula gives a spoke length of 285.9240

This length is purely theoretical, it doesn't mean that spokes cut to 285.924 will be the perfect length, because spokes are elastic, and in a tensioned wheel the spokes will stretch (this is elastic stretch, once the tension is removed, they will return to their original length). Longer spokes will stretch more, thinner spokes will stretch more, higher tensioned spokes will stretch more, and a spoke can stretch up to 1mm.

The Wheelpro calculator

Full disclosure : I designed and coded this one. At high school, and right through university my strong subject was math, and in my distant past I did a fair bit of programming in Assembler and C. I've always built my own wheels, and from 1997 onwards wheelbuilding was a full time business. Which means I'm pretty clued up on spoke lengths and how to calculate them.

The Wheelpro calculator takes into account spoke elongation, producing more accurate lengths, it calculates spoke head clearance, and draws wheels. It's all coded using vectors, and the algorithms can handle many other wheel configurations, although at present it's limited to normal, straight pull and triplet lacing, but others are planned. The interface looks simple, but it's extremely powerful, and offers lots of additional features that are useful for wheelbuilders, such as the logic I built in that interogates your entries and highlights errors and gives advice. It's everything I want from a calculator, and if there was something that I needed for my own wheelbuilding activities, I just added it, and of course user feedback on additional features is always welcome.

Just go and spend some time with it, but please read the Help Guide otherwise you'll miss all the important bits.

Calculators that are interesting

The majority of spoke length calculators are just an interface to plug values into the standard spoke length formula and calculate spoke lengths for standard wheels. The calculators shown in this section do something that is different.



The free format entry means that it can cater for many configurations of wheels, such as offset spoke beds and offset hubs, however for these offset components you need to understand what you are doing, no guesswork or it will bite you, although the drawings will highlight any major errors in your values. It also calculates spoke head clearance (you need to have a good understanding of wheel geometry to calculate the clearance). It also calculates spoke lengths for triplet laced wheels (again a good understanding of lacing geometry is required). It also draws a diagram of the wheel. Well done Karl, I like what you've done here.

The Wheelmaker


This is one you've probably not heard of, but it's quite amazing. It's an excellent calculator for exploring wheel geometry, including some very non standard configurations. A lot of work has gone in to this calculator, and I like it a lot.

GRIN Technologies


This calculator is specific to hub motors, and the data inputs reflect this type of wheel. I like the cross pattern they encourage for use on paired hole hubs which makes the spokes cross their immediate neighbor which is often needed to keep the spoke to rim entry angle at a reasonable value on large diameter hubs, and they give the option of the Alt pattern where the spokes are pulling away (the normal way for small diameter hubs). A lot of thought has gone into this calculator for its specific purpose. The drawings are very good. If you use hub motors then this calculator is highly recommended. (note: I need to put paired spoking into the WP calculator, but paired normal hubs aren't common, so they're on the list of things to do along with straight pull triplet and G3 lacing).

Please watch their video on How to Use the ebikes.ca Hub Motor Spoke Calculator. There's plenty of useful information on wheel geometry and spoke calculations that relates to all wheels, so don't fast forward, watch it all.

DT Swiss calculator


This calculator will compensate for spoke elongation by using correction values based on the selected DT spoke and DT nipple.

DT correction values (February 3, 2022)

The tables show the exact values that DT uses.The correction values for the spokes do not take into account spoke tension (tighter spokes will stretch more), so on a rear wheel with 50% less tension on the left side, the correction value will be the same. I'm not sure why the straightpull equivalent spokes have different values.

DT Spoke correctionmm
DT champion 1.8-0.2
DT champion 2.00
DT champion 2.340
DT competition 1.8/1.6-0.3
DT competition 2.0/1.80
DT competition race 2.0/1.6-0.3
DT supercomp0
DT revolution 1.8/1.5-0.8
DT revolution 2.0/1.5-0.5
DT alpine0
DT alpine II0
DT alpine III0
DT aerolite-0.3
DT aero speed-0.2
DT new aero0
DT aero comp0
DT champion 1.8 straightpull-0.2
DT champion 2.0 straightpull-0.4
DT champion 2.34 straightpull0
DT competition 1.8/1.6 straightpull-0.3
DT competition 2.0/1.8 straightpull-0.4
DT competition race 2.0/1.6 straightpull-0.3
DT supercomp straightpull-0.57
DT revolution 1.8/1.5 straightpull-0.8
DT revolution 2.0/1.5 straightpull-0.63
DT alpine III straightpull0
DT aerolite straightpull-0.55
DT aero speed straightpull-0.2
DT new aero straightpull0
DT aero comp straightpull-0.4

The correction values for DT nipples (they do not apply to nipples from other manufacturers).

DT Nipple correction : Normal hubsmm
DT Pro Lock Standard Brass 1.8 / 12mm0
DT Pro Lock Standard Brass 1.8 / 14mm-1
DT Pro Lock Standard Brass 1.8 / 16mm-2
DT Pro Lock Standard Brass 2.0 / 12mm0
DT Pro Lock Standard Brass 2.0 / 14mm-1
DT Pro Lock Standard Brass 2.0 / 16mm-2
DT Pro Lock Standard Alu 1.8 / 12mm0
DT Pro Lock Standard Alu 1.8 / 14mm-1
DT Pro Lock Standard Alu 1.8 / 16mm-2
DT Pro Lock Standard Alu 2.0 / 12mm0
DT Pro Lock Standard Alu 2.0 / 14mm-1
DT Pro Lock Standard Alu 2.0 / 16mm-2
DT Pro Lock Pro Head Brass 1.8 / 12mm0
DT Pro Lock Pro Head Brass 1.8 / 14mm-1
DT Pro Lock Pro Head Brass 2.0 / 12mm0
DT Pro Lock Pro Head Brass 2.0 / 14mm-1
DT Pro Lock Pro Head Brass 2.34 / 14mm-1
DT Pro Lock Hidden Alu 2.0 / 12mm9
DT Pro Lock Squorx Pro Head Brass 2.0 / 15mm0.5
DT Pro Lock Squorx Pro Head Alu 1.8 / 15mm0.5
DT Pro Lock Squorx Pro Head Alu 2.0 / 15mm0.5
DT Pro Lock Hexagonal Alu 2.0 / 15mm0.5

These are the nipple corrections that DT use, when a straight pull hub is selected. I don't understand why there needs to be any difference, but this is what they use.

DT Nipple correction : Straight pull hubsmm
DT Pro Lock Standard Brass 1.8 / 12mm-0.5
DT Pro Lock Standard Brass 1.8 / 14mm-1.5
DT Pro Lock Standard Brass 1.8 / 16mm-2
DT Pro Lock Standard Brass 2.0 / 12mm-0.5
DT Pro Lock Standard Brass 2.0 / 14mm-1.5
DT Pro Lock Standard Brass 2.0 / 16mm-2
DT Pro Lock Standard Alu 1.8 / 12mm-0.5
DT Pro Lock Standard Alu 1.8 / 14mm-1.5
DT Pro Lock Standard Alu 1.8 / 16mm-2
DT Pro Lock Standard Alu 2.0 / 12mm-0.5
DT Pro Lock Standard Alu 2.0 / 14mm-1.5
DT Pro Lock Standard Alu 2.0 / 16mm-2
DT Pro Lock Pro Head Brass 1.8 / 12mm-0.5
DT Pro Lock Pro Head Brass 1.8 / 14mm-1.5
DT Pro Lock Pro Head Brass 2.0 / 12mm-0.5
DT Pro Lock Pro Head Brass 2.0 / 14mm-1.5
DT Pro Lock Pro Head Brass 2.34 / 14mm-1.5
DT Pro Lock Hidden Alu 2.0 / 12mm9
DT Pro Lock Squorx Pro Head Brass 2.0 / 15mm0
DT Pro Lock Squorx Pro Head Alu 1.8 / 15mm0.5
DT Pro Lock Squorx Pro Head Alu 2.0 / 15mm0
DT Pro Lock Hexagonal Alu 2.0 / 15mm0

This is the actual calculation code that DT uses (the example shown is for the left side):

left = Math.sqrt(Math.pow(ntkLi / 2 * Math.sin(4 * Math.PI * empKreLi / empSp), 2) +
       Math.pow(erd / 2 - (ntkLi / 2 * Math.cos(4 * Math.PI * empKreLi / empSp)), 2) +
       Math.pow(afLi, 2)) - (holeAperture / 2);

left_rounded = Math.round(left + spokeCorrLeft + nippleCorrLeft);

Here's how the DT calculator presents the calculation on the website:

Website nameWhere the data comes from
AccurateThis is the number that comes from the standard spoke length formula, and is the value of left in the above code rounded to 1 decimal.
RecommendedThe accurate value with the spoke and nipple corrections added on (values taken from the above tables), then rounded to the nearest whole number.

Here's a worked example:

DT Revolution 2.0/1.5 spokes and DT 14mm nipples.

Using the test data (top of this page), two spoke lengths are shown : 285.9 (accurate) 284 (recommended).

The accurate length is the standard length given by the formula then rounded to 1 decimal. The recommended length modifies the accurate length by adding the corrections:

285.924 - 0.5 (DT Rev correction) - 1 (DT 14mm nipple correction) = 284.424
Rounded to the nearest whole number gives 284

The DT calculator and straight pull hubs

Be very careful with the DT calculator for User Defined straightpull hubs because you have no control over the cross value. The entry for the number of crosses is greyed out, but even the visible number is irrelevant because the actual cross used in the calculation is determined by the calculator code.

if(empSp <= 24) {
    multiplierLeft = 2.5;
 } else {
    multiplierLeft = 3.5;

Here you can see how the code forces 24 or fewer spokes to get 2x, and greater than 24 gets 3x. The additional 0.5 cross is how calculators using the standard spoke length formula adapt it to cater for straight pull calculations (in the Wheelpro calculator that uses vector algebra, I define a straight pull hub as a hub with a spoke hole pair angle of zero degrees). So be warned, if you have a 28 hole straight pull hub that requires 2 cross lacing, then you can't use the DT calculator. All the DT hubs in the calculator database are fine, everyone of them over 24 holes are 3 cross design.

Other DT calculator considerations

The DT calculator is an excellent source of dimensions for DT hubs, especially straight pull hubs where the spoke offset is not easy to measure. For rims you need to measure them yourself (which you already knew I hope).

Be careful when entering data in the DT calculator because it will select a nipple based on the spoke selection, so if you manually set your own nipple choice, then alter the spoke type, it will reset your original nipple choice, and the replacement nipple choice may affect the spoke length without you realising this.

One thing to note about the DT calculator, is that it cannot directly calculate for rims with asymmetric holes and rims with wide hole spacing (both types of rim that DT make). For these rims, you have to manually edit the hub offsets as described in their calculator help page. This, together with the user defined straight pull hub issue, makes me think the calculator was written a long time ago, no one knows how it works, they dare not touch it, and they're stuck with what they've got, which is a back end database that they update with their product definitions, that sends a data file into the calculator.

The Sapim calculator


The Sapim calculator uses a non standard rim erd measurement using the internal diameter of the rim. You'd think the spoke length would come up way short, but they get the calculation wrong by missing out the subtraction of the hub spoke hole diameter which artificially inflates their calculation by around 1.3mm, then they add on the rim spoke bed thickness (a user supplied value), and it makes their spoke length look sort of valid. They also specify the hub flange offsets in a non standard way, and together with the non standard rim erd it means you cannot easily enter standard hub and rim spoke length data data into this calculator, so be very careful if you use the Sapim calculator.

For completeness...

var aTandwiel = (totalLengthHub / 2) - nonGearSide;

var aTandwiel_tussenstap =
    (Math.pow(internalDiameterRim / 2, 2) +
     Math.pow(diameterNonGearSide / 2, 2) +
     Math.pow(aTandwiel, 2)) -
    (internalDiameterRim * (diameterNonGearSide / 2) * (Math.cos(de_ra((720 * crossingsNonGear) / numberSpokes))));

var aTandwiel_tussenstap_round = Math.round(Math.sqrt(aTandwiel_tussenstap));

var spaaklengteTandwiel = parseFloat(aTandwiel_tussenstap_round) + parseFloat(rimThickness);

As you can see, the actual erd they use in the formula is the internal rim diameter (see the definition of this on the Sapim calculator website), then at the end add on the rim thickness to the spoke length. And no sign of the hub spoke hole diameter.

Standard calculators

The following calculators don't do anything special, so I won't go into any detail. All they do is take your hub, rim, spokes and cross values and plug them into the standard formula, and they all calculate a spoke length of 285.9 (see test data at top of page).



Pro Wheel Builder


United Bicycle Institute







There are plenty more of these basic calculators and I'm not going to list anymore. If you come across one, and you want to test it, then put the test data in and see what it calculates, and if it's 285.9 then the calculator is doing nothing special.

And finally

If any of the owners of the calculators listed here, take issue with anything I've written, then please get in touch and I'll amend (if necessary).