I know that I can use online calculators or tables to determine spoke length. I also know that there are some pre-derived formulas for spoke length that I could use to calculate the spoke lengths or to make my own spreadsheet or calculator. I'm not interested in any of the above things; I would like some help on how to derive a formula for spoke length, given common lacing patterns such as 2-cross, 3-cross, etc.

My first approach would be to use length of a vector. The length of a vector in a Cartesian coordinate system is easily calculated by the formula

Length = SquareRoot(x^2 + y^2 + z^2)

where x, y, and z are projections of the vector along the x, y, and z axes.

Considering a coordinate system where Z-axis is equal to the axis of the hub, and Y is a radial line between the axle and the rim, then two of these projections are easy to find: I can determine projection in Z easily…it’s just the flange distance from the plane of the rim. I can determine the projection in Y and X using elementary trigonometry, IF I knew the angle that the spoke makes with respect to a radial spoke. Or stated another way, if I knew the angular displacement of the hub with respect to the rim.

The angle that a spoke makes with the rim/hub is a function of the lacing pattern. I am interested in the common lacing patterns of 1-cross, 2-cross, and 3-cross. But the missing link for me is, how can I use the crossing pattern to derive the spoke angle? Once the spoke angle is known, then deriving a formula for the length is simple using the vector length formula. The angle itself may be discovered by trig if we know the missing link.

Of course we know the flange hole circle diameter and the rim diameter. What I need is to know the angular relationship between the hub and the rim. This relationship is constrained to certain values by the spoke lengths and equilibrium requirement, but how to find it?

Update: I found some more information on Wikipedia article for "spoke". (https://en.wikipedia.org/wiki/Spoke). The article identifies the spoke angle as "a" and defines "a" as follows (for a 3-cross, 36-spoke wheel):

a = 360° k/m, for example 360°*3/18 = 60°.

At this point, I accept that this formula gives the spoke angle, but I don't yet understand the logic behind it. The stated justification is given as follows:

For each spoke crossed, the hub is rotated with reference to the rim one "angle between adjacent flange holes". Thus, multiplying the "angle between adjacent flange holes" by [crossing number] k gives the angle a.

It is not self-evident that each crossing causes the hub to be rotated by one "angle between adjacent flange holes".

  • 1
    You're doing it the hard way. Forget about the spoke angle and think of the location of spoke ends at rim and hub flange instead. The location at hub is trivial once you know the hole spacing and number of crossings.
    – ojs
    Commented May 11, 2022 at 10:56
  • 1
    The challenge is obtaining the relative position of the hub and rim holes, given the "number of crossings". I'm having a hard time coming up with a mathematical justification for why the hub/rim relationship must be a certain way, given a certain number of spoke crossings. Commented May 11, 2022 at 18:52
  • 1
    When in doubt, try drawing a picture.
    – ojs
    Commented May 11, 2022 at 21:08
  • It can also help to simplify things. Imagine a hypothetical wheel with one plane of spokes, half going forward and half going backward. Keeping it planar should simplify the picture. In this idealised wheel, a radial spoke length will equal half the ERD plus half the flange height. So a cross-1 spoke will be a little longer than radial, and cross-2 longer again, and the difference grows larger an larger.
    – Criggie
    Commented Feb 6, 2023 at 0:43

1 Answer 1


Okay, I decided that uploading the document as a series of images would be better than having to individually copy all the diagrams and render the equations separately (Bicycles StackExchange does not support LaTeX formatting).

The variables involved are:

  • Rr for the internal radius of the rim
  • Rh for the radius of the hub flange
  • ho for the hub flange offset (Figure 3)
  • s for the number of spokes
  • c for the cross count (Figure 4)

Figure 1: An annotated diagram of the wheel's three main physical components and two primary measurements

Figure 2: Identifying the two hub flanges. There are 32 spokes in total, so 16 spoke holes per hub flange.

Figure 3: Labelling the hub flange offset ho. Note: this value may be different for the two flanges as they may be asymmetrically spaced, so one should calculate spoke length separately for each.

Cross Number c

Figure 4: An illustration of how spoke crossing makes them leave the hub at an angle. This would be a 3-cross wheel.

For increased strength and stability, each spoke crosses over a specified number of other spokes from its own hub flange as it emerges from the hub. In the case of a zero-cross (radial) wheel, it would leave the hub perpendicular to a tangent line drawn along the flange's circumference at the point where the spoke leaves, crossing zero spokes in the process. For higher cross numbers, spokes emerge from the hub at an angle instead, caused by rotationally displacing the spoke holes relative to their corresponding hub holes so the spoke connecting them is no longer permenficular to either circle's circumference. As the crossing number increases, this displacement increases.

Figure 5: Increasing the crossing number leads to a greater deviation from perpendicular.

Picture a wheel with s spokes total. Each hub flange therefore accommodates half that number of spokes, so the angular spacing between adjacent spokes is
2π/(s/2) = 4π/s
The rim would have s spoke holes with an angular spacing of
If the wheelbuilder was to rotationally displace the hub by one hub hole, they would have rotated by two holes on the rim because the angular spacing of the spokes on a hub flange is twice that of the rim:
4π/s = 2*(2π/s)
However, since the hub has only been rotated by one hole's spacing, the wheelbuilder has created an opportunity for only one spoke crossing to occur (crossings are on the same hub flange). Therefore, since two holes' worth of angular displacement on the rim occur per hole of angular displacement on the hub, the change in spoke hole
δ = 2c

Approach 1: Trigonometry

Figure 6: The overall diagram. The blue triangles are perpendicular to each other.

This approach will first work with the rightmost scalene-triangle, and then work with the leftmost right-triangle. Firstly, the required length in the plane of the rightmost triangle will be determined (x), and then the overall required length will be found from there once the depth of the leftmost triangle is considered (y).

Figure 7: A simplified, 2D view of a single spoke installed in the wheel (rightmost triangle).

Since δ = 2c as found previously, one should implement the spoke crossings by using a spoke hole in the hub that is 2c away from the fundamental perpendicular position (refer to Figure 5). Since the angle between adjacent spoke holes is 2π/s rad, angle θ is hence equivalent to:
θ = 2c * 2π/s = 4πc/s

To find the unknown side x, the cosine law will be applied:
C^2 = A^2 + B^2 - 2AB * cos(c)
Where A, B, and C are the side lengths of a triangle, and c is the angle opposing side C.

Substituting the values C=x, A=Rh, B=Rr, and c=θ :

x^2 = Rrim^2 + Rhub^2 - 2RrimRhub * cos(4πc/s)

Figure 8: A spoke, its horizontal and vertical components, and a hub (leftmost triangle).

In the above diagram, the previously determined measurement x is now seen as a line parallel to the hub flange. After translating this line to the rim midplane, right triangle xhoy is drawn, where y is the hypotenuse and therefore the ultimate spoke length value.

Next, applying the Pythagorean Theorem gives the final spoke length formula:

a2 + b2 = c2

Where a and b are the side lengths of a right triangle, c is the length of the hypotenuse, and a ≤ b ≤ c

Substituting the values from Figure 8, the final spoke length y is as follows:

y = sqrt(Rrim^2 + Rhub^2 + hoffset^2 - 2RrimRhub * cos(4πc/s))

This result is identical to the standard formula used by professional wheelbuilders (Musson, 2020)


Ackroyd, J. A. (2011, June). Sir George Cayley: The Invention of the Aeroplane near Scarborough at the Time of Trafalgar. Journal of Aeronautical History, 23. Retrieved from https://www.aerosociety.com/media/4862/sir-george-cayley-the-invention-of-the-aeroplane-near-scarborough-at-the-time-of-trafalgar.pdf

Musson, R. (2020, January 19). Spoke length calculator review. Retrieved January 8, 2022, from Wheelpro: https://www.wheelpro.co.uk/support/spoke-length-calculators/

  • I can(barely)follow how you derive the formula for spell calculation from the physical structure of a wheel. How do you use that formula to determine spoke lengths for a wheel you haven’t built yet? Other words, how do you solve the equation to determine real world numbers?
    – zenbike
    Commented Feb 7, 2023 at 6:20
  • 1
    @zenbike I plan to overhaul this answer at some point to clarify the explanation (with another year of math experience under my belt). To find the real-world spoke length, simply substitute the values of all the variables as I defined them (e.g. R_r is the rim's radius).
    – MaplePanda
    Commented Feb 7, 2023 at 7:13
  • The answer I am looking for to my question at least is a practical explanation of solving this equation to real world numbers. Maybe a video explaining the steps would be the simplest way to do that? Or maybe I need to go take a math class or two
    – zenbike
    Commented Feb 7, 2023 at 20:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.