During the bicycle wheel building process, once a rim and hub are purchased the next step is to calculate the spoke length. The length is dependent on both components and the spoke lacing pattern.

As with most problems involving circles, we need to draw some triangles and use a couple basic trigonometric functions in order to calculate the length of two lines, AD¯\overline{AD} and CD¯\overline{CD} below. Those lines represent the spoke length of the drive-side and non-drive side of the wheel. In order to calculate the length of those lines we first need to find the distance from the rim to the hub represented by BD¯\overline{BD} and the distance from the center of the hub, which lies halfway between the two lock nuts, to the center of each flange represented by AB¯\overline{AB} and BC¯\overline{BC}.

As depicted in the diagram below, the width of the drive side and non-drive side of the hub will differ because of the space required for the cassette. A hub designed for a fixed or single speed bicycle is symmetric, which means AB¯=BC¯\overline{AB}=\overline{BC} and simplifies the following calculations.

Hub profile

The first step to calculate the length of AB¯\overline{AB} and BC¯\overline{BC} is to take some basic measurements of the hub, including the flange width, Over Locknut Distance (OLD) represented by EF¯\overline{EF} and the width between the lock nut and the outside of flange on each side represented by xx and yy.

AB¯=OLD2x+flangewidth2\overline{AB}=\frac{OLD}{2}-x+\frac{flange width}{2}

BC¯=OLD2y+flangewidth2\overline{BC}=\frac{OLD}{2}-y+\frac{flange width}{2}

With AB¯\overline{AB} and BC¯\overline{BC} calculated we focus on the other side, BD¯\overline{BD}, which is the distance from the hub to the correct spoke hole in the rim, which is dependent on the lacing pattern.

The following diagram demonstrates a spoke laced in a 3-cross pattern. With each cross the spoke moves two spoke holes along the rim. That is because every other hole in the rim is laced to the same side of the hub. In contrast, a radial lacing pattern is represented by HB¯\overline{HB}.

Side profile

In order to calculate the length of BD¯\overline{BD} we need to draw another triangle represented by BDI\triangle BDI. To calculate the length of BD¯\overline{BD} we need to find the length of BI¯\overline{BI} and DI¯\overline{DI}.

BD¯=BI¯2+DI¯2\overline{BD} = \sqrt{\overline{BI}^2+\overline{DI}^2}

In order to calculate the length of BI¯\overline{BI} we need to calculate DGH\angle DGH.

DGH=2πn2×c=4πcn\angle DGH=\frac{2\pi}{\frac{n}{2}}\times c=\frac{4\pi c}{n}

Next measure the diameter of the flange between opposite spoke holes. That value divided by two gives us the radius, which is represented above as BG¯\overline{BG}. That length and DGH\angle DGH provide us with enough information to calculate the length of BI¯\overline{BI} using the trigonometric sine function.

BI¯=BG¯×sin(DGH)\overline{BI}=\overline{BG}\times sin(\angle DGH)

With the length of BD¯\overline{BD} still in mind we turn our focus to DI¯\overline{DI}. I used a couple of spare spokes and a caliper to measure the diameter of the rim between opposite spoke holes. Alternatively, the manufacturer of the rim should list the Effective Rim Diameter (ERD). Either value divided by two gives us the radius, represented above as GD¯\overline{GD}.

DI¯=GD¯BG¯×cos(DGH)\overline{DI}=\overline{GD}-\overline{BG}\times cos(\angle DGH)

With DI¯\overline{DI} and $ calculated we can finally calculate the length of $ using the Pythagorean theorem.

BD¯=DI¯2+BI¯2\overline{BD}=\sqrt{\overline{DI}^2+\overline{BI}^2}

Alternatively, BD¯\overline{BD} can be calculated using BG¯\overline{BG} and DG¯\overline{DG} in one of the following ways:

BD¯=1DG¯×sin(DGH)\overline{BD}=\frac{1}{\overline{DG}}\times sin(\angle DGH)

BD¯=1BG¯×cos(DGH)\overline{BD}=\frac{1}{\overline{BG}}\times cos(\angle DGH)

BD¯=DG¯2BG¯2\overline{BD}=\sqrt{\overline{DG}^2-\overline{BG}^2}

With BD¯\overline{BD} and the previously calculated AB¯\overline{AB} and BC¯\overline{BC} we can finally calculate the length of the drive-side and non-drive side spokes!

Top view

In the above diagram the non-drive side spoke length can be calculated using the Pythagorean theorem. Additionally, since manufactures don’t measure the length of a spoke to the center of the spoke holes in the flange you will need to subtract the difference, which can be calculated by dividing the spoke hole diameter by two.1

AD¯=AB¯2+BD¯2s2\overline{AD}=\sqrt{\overline{AB}^2+\overline{BD}^2} - \frac{s}{2}

Similarity, we can calculate the drive-side spoke length as follows.

CD¯=BC¯2+BD¯2s2\overline{CD}=\sqrt{\overline{BC}^2+\overline{BD}^2} - \frac{s}{2}

Simplified equation

There are many ways of rewriting these equations. A common one may look like the following:

L=a2+b2+c2s2L=\sqrt{a^2 + b^2 + c^2} - \frac{s}{2}

Given the following two equations derived above.

BD¯=DI¯2+BI¯2\overline{BD}=\sqrt{\overline{DI}^2+\overline{BI}^2}

AD¯=AB¯2+BD¯2s2\overline{AD}=\sqrt{\overline{AB}^2+\overline{BD}^2} - \frac{s}{2}

We simply substitute BD¯\overline{BD} as follows:

AD¯=AB¯2+(DI¯2+BI¯2)2s2\overline{AD}=\sqrt{\overline{AB}^2+(\sqrt{\overline{DI}^2+\overline{BI}^2})^2} - \frac{s}{2}

AD¯=AB¯2+DI¯2+BI¯2s2\overline{AD}=\sqrt{\overline{AB}^2+\overline{DI}^2+\overline{BI}^2} - \frac{s}{2}

References