Shoelace Length Formulas

Formulas (icon)

All of the underlying mathematical formulas from the Shoelace Length Calculator are shown here both in mathematical notation and in generic notation (colored GREEN) compatible with spreadsheet software (like Microsoft Excel).

Variables Used in Formulas

NOTE: These length formulas are based on five measurements:

P = Pairs of eyelets;
H = Horizontal spacing;
V = Vertical spacing;
W = Width of lugs;
L = Length of ends.

See the Accurate Shoelace Lengths page for more details.

Formulas for Total Shoelace Length

Angled Checker Lacing (each lace)

=H +(V×4 +√(H²+(V×3)²)×6)×INT((P−1)÷5) +(√(H²+V²)×((P−1) MODULO 5) +L)×2

=H+(V*4+SQRT(H*H+V*V*9)*6)*INT((P-1)/5)+(SQRT(H*H+V*V)*MOD((P-1),5)+L)*2

Army Lacing

=(H +V×INT(P÷2) +√(H²+V²)×INT((P−1)÷2) +L)×2

=(H+V*INT(P/2)+SQRT(H*H+V*V)*INT((P-1)/2)+L)*2

(Same formula as Bow Tie Lacing)

Asterisk Lacing

=(H×INT((P+7)÷6) +V×INT((P×2−1)÷3) +√(H²+(V×2)²)×INT(P÷3) +L)×2

=(H*INT((P+7)/6)+V*INT((P*2-1)/3)+SQRT(H*H+V*V*4)*INT(P/3)+L)*2

Bow Tie Lacing

=(H +V×INT(P÷2) +√(H²+V²)×INT((P−1)÷2) +L)×2

=(H+V*INT(P/2)+SQRT(H*H+V*V)*INT((P-1)/2)+L)*2

(Same formula as Army Lacing)

CAF Combat Boot Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Cascade Lacing

=H +V×((P−1)×2−(P MODULO 2)) +√(H²+V²)×((P MODULO 2) +(P−2)×1.03) +√(H²+(V×(P−2))²)×1.03 +L×2

=H+V*((P-1)*2-MOD(P,2))+SQRT(H*H+V*V)*(MOD(P,2)+(P-2)*1.03)+SQRT(H*H+(V*(P-2))*(V*(P-2)))*1.03+L*2

(This approximates 3% longer diagonals to allow for loop unders)

Checkerboard Lacing

• Lace 1 (Horizontal):

=H×P +V×(P−1) +L×2

=H*P+V*(P-1)+L*2

(Note that End Lengths can be much shorter than other methods)

• Lace 2 (Vertical):

=V×1.05×(P−1)×(Vertical Passes) +L×2

=V*1.05*(P-1)*(Vertical Passes)+L*2

(This approximates 5% longer verticals to allow for weaving)

Chevron Lacing

=(H +V +√(H²+V²)×(P−2) +L)×2

=(H+V+SQRT(H*H+V*V)*(P-2)+L)*2

(Same formula as Gap Lacing)

C.I.A. Lacing

• Variation 1, 2 or 3 (Low, Mid or High X):

=H×(P−2) +√(H²+V²)×6 +√(H²+(V×2)²)×(P−4) +L×2

=H*(P-2)+SQRT(H*H+V*V)*6+SQRT(H*H+V*V*4)*(P-4)+L*2

• Variation 4 or 5 (Two Xs):

=H×(P−3) +√(H²+V²)×8 +√(H²+(V×2)²)×(P−5) +L×2

=H*(P-3)+SQRT(H*H+V*V)*8+SQRT(H*H+V*V*4)*(P-5)+L*2

• Variation 6 (Three or more Xs):

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

• Variation 7 (Bottom X):

=H×(P−1) +√(H²+V²)×4 +√(H²+(V×2)²)×(P−3) +L×2

=H*(P-1)+SQRT(H*H+V*V)*4+SQRT(H*H+V*V*4)*(P-3)+L*2

Commando Lacing

=H×P +V×(P−1) +L +75 mm

=H*P+V*(P-1)+L+75

(This allows 75 mm = 3 inches for figure-of-eight anchoring knot)

Corset Lacing

=H×3 +√(H²+V²)×(P−1)×2 +L×4

=H*3+SQRT(H*H+V*V)*(P-1)*2+L*4

Criss Cross Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

Cyclone Fence Lacing

=H +V×((P−1)×2−(P MODULO 2)) +√(H²+V²)×(2.06−(P MODULO 2)×0.03) +√(H²+(V×2)²)×1.06×(P−3) +L×2

=H+V*((P-1)*2-MOD(P,2))+SQRT(H*H+V*V)*(2.06-MOD(P,2)*0.03)+SQRT(H*H+V*V*4)*1.06*(P-3)+L*2

(This approximates 3% longer diagonals to allow for loop unders)

Dense Checker Lacing

• Lace 1 (Horizontal):

=(H×(P−1) +L)×2 +V×((P×2)−3)

=(H*(P-1)+L)*2+V*((P*2)-3)

(Note that End Lengths can be much shorter than other methods)

• Lace 2 (Vertical):

=V×1.05×(P−1)×(Vertical Passes) +L×2

=V*1.05*(P-1)*(Vertical Passes)+L*2

(This approximates 5% longer verticals to allow for weaving)

(Same formula as Lace 2 of Checkerboard Lacing)

Display Shoe Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Double Lacing

(For even numbers of eyelet pairs, the following formulas both work out the same)

• Lace 1 (Odd rows):

=(H +√(H²+(V×2)²)×INT((P−1)÷2) +L)×2

=(H+SQRT(H*H+V*V*4)*INT((P-1)/2)+L)*2

• Lace 2 (Even rows):

=(H +√(H²+(V×2)²)×INT((P−2)÷2) +L)×2

=(H+SQRT(H*H+V*V*4)*INT((P-2)/2)+L)*2

Double Back Lacing

• Variation 1 (Verticals at bottom, Shorter):

=(H +V +√(H²+(V×2)²)×(P−2) +L)×2

=(H+V+SQRT(H*H+V*V*4)*(P-2)+L)*2

• Variation 2 (Crossover at bottom, Longer):

=(H +√(H²+V²) +√(H²+(V×2)²)×(P−2) +L)*2

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)*(P-2)+L)*2

Double Cross Lacing

• Variation 1 (Even number of eyelet pairs, Regular spacing, Shorter):

=(H+L)×2 +√(H²+V²)×(P−4) +√(H²+(V×3)²)×(P−2)

=(H+L)*2+SQRT(H*H+V*V)*(P-4)+SQRT(H*H+V*V*9)*(P-2)

• Variation 2 (Even number of eyelet pairs, Compressed at ends, Longer):

=(H+L)×2 +√(H²+V²)×(P−2) +√(H²+(V×2)²)×4 +√(H²+(V×3)²)×(P−4)

=(H+L)*2+SQRT(H*H+V*V)*(P-2)+SQRT(H*H+V*V*4)*4+SQRT(H*H+V*V*9)*(P-4)

• Variation 3 (Odd number of eyelet pairs, Compressed at one end):

=(H +√(H²+(V×2)²) +L)×2 +(√(H²+V²) +√(H²+(V×3)²))×(P−3)

=(H+SQRT(H*H+V*V*4)+L)*2+(SQRT(H*H+V*V)+SQRT(H*H+V*V*9))*(P-3)

Double Helix Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Double Sided Lacing (each lace)

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

End Shortening Lacing

=H×(P+(P MODULO 2)) +V×((P−(P MODULO 2))²÷2 +(P MODULO 2)×2) +L×2

=H*(P+MOD(P,2))+V*((P-MOD(P,2))*(P-MOD(P,2))/2+MOD(P,2)*2)+L*2

Escher Lacing

=(H +V×INT((P−1)÷2) +√(H²+(V×2)²) +L)×2 +√(H²+V²)×INT(P÷2) +√(H²+(V×3)²)×INT((P−4)÷2)

=(H+V*INT((P-1)/2)+SQRT(H*H+V*V*4)+L)*2+SQRT(H*H+V*V)*INT(P/2)+SQRT(H*H+V*V*9)*INT((P-4)/2)

Footbag Lacing

• Variation 1 (Basic):

=(H +V×5 +√(H²+V²)×(P−4) +L)×2

=(H+V*5+SQRT(H*H+V*V)*(P-4)+L)*2

• Variation 2 (Corkscrew):

=(H +V×6 +√(H²+V²)×(P−4) +L)×2

=(H+V*6+SQRT(H*H+V*V)*(P-4)+L)*2

(Variation 2 approximates 50% longer on 2 x verticals wrapped around edges)

• Variation 3 (Extended):

=(H +V×8 +√(H²+V²)×(P−5) +L)×2

=(H+V*8+SQRT(H*H+V*V)*(P-5)+L)*2

• Variation 4 (Double extended):

=(H +V×10 +√(H²+V²)×(P−5) +L)×2

=(H+V*10+SQRT(H*H+V*V)*(P-5)+L)*2

Gap Lacing

• Variation 1 (Single vertical):

=(H +V +√(H²+V²)×(P−2) +L)×2

=(H+V+SQRT(H*H+V*V)*(P-2)+L)*2

(Same formula as Chevron Lacing)

• Variation 2 (Double vertical):

=(H +V×2 +√(H²+V²)×(P−3) +L)×2

=(H+V*2+SQRT(H*H+V*V)*(P-3)+L)*2

Gippo Lacing

=H×(P−2) +V×2 +√(H²+V²)×(P−4) +√(H²+(V×2)²) +√(H²+(V×INT((P+1)÷2))²)×2 +√(H²+(V×(P−2))²) +L×4

=H*(P-2)+V*2+SQRT(H*H+V*V)*(P-4)+SQRT(H*H+V*V*4)+SQRT(H*H+V*INT((P+1)/2)*V*INT((P+1)/2))*2+SQRT(H*H+V*(P-2)*V*(P-2))+L*4

Half & Half / Criss Cross Lacing

• Variation 1 (Bi-color shoelace):

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

• Variation 2 (Knotted halves, each half-shoelace):

=H +√(H²+V²)×(P−1) +L +50 mm

=H+SQRT(H*H+V*V)*(P-1)+L+50

(This allows 50 mm = 2 inches for half of the joining reef knot)

• Variation 3 (Separate halves, each half-shoelace):

=H÷2 +√(H²+V²)×(P−1) +L +75 mm

=H/2+SQRT(H*H+V*V)*(P-1)+L+75

(This allows 75 mm = 3 inches for figure-of-eight anchoring knot)

Half & Half / Straight Bar Lacing

• Variation 1 (Bi-color shoelace):

=(H×INT((P+1)÷2) +V×(P−1) +L)×2

=(H*INT((P+1)/2)+V*(P-1)+L)*2

(Same formula as Straight Bar Lacing):

• Variation 2 (Knotted halves, Half-shoelace 1, Odd rows):

=H×(INT(P÷2) +0.5) +V×(P−0.5) +L +50 mm

=H*(INT(P/2)+0.5)+V*(P-0.5)+L+50

(This allows 50 mm = 2 inches for half of the joining reef knot)

• Variation 2 (Knotted halves, Half-shoelace 2, Even rows):

=H×((P−1)÷2 +(P MODULO 2)×1.5) +V×(P−1.5) +L +50 mm

=H*((P-1)/2+MOD(P,2)*1.5)+V*(P-1.5)+L+50

(This allows 50 mm = 2 inches for half of the joining reef knot)

• Variation 3 (Separate halves, Half-shoelace 1, Odd rows):

=H×(INT(P÷2) +0.5) +V×(P−1) +L +75 mm

=H*(INT(P/2)+0.5)+V*(P-1)+L+75

(This allows 75 mm = 3 inches for figure-of-eight anchoring knot)

• Variation 3 (Separate halves, Half-shoelace 2, Even rows):

=H×(INT((P−1)÷2) +0.5) +V×(P−2) +L +75 mm

=H*(INT((P-1)/2)+0.5)+V*(P-2)+L+75

(This allows 75 mm = 3 inches for figure-of-eight anchoring knot)

Hash Lacing

• Variation 1 (Regular hashes, Shorter):

=(H +V×INT((P−3)÷2) +√(H²+(V×3)²)×INT((P−2)÷2) +L)×2

=(H+V*INT((P-3)/2)+SQRT(H*H+V*V*9)*INT((P-2)/2)+L)*2

• Variation 2 (Compressed hashes, Longer):

=(H +V×(P−1−INT((P−1)÷3)×2) +L)×2 +√(H²+(V×2)²)×INT((P−1)÷3)×4

=(H+V*(P-1-INT((P-1)/3)*2)+L)*2+SQRT(H*H+V*V*4)*INT((P-1)/3)*4

Hexagram Lacing

• Variation 1 (Separate hexagram(s), Shorter):

=(H×INT((P+2)÷4) +V×INT((P−2.5)×3÷4) +√(H²+V²)×INT((P−2) MODULO 4)÷3) +L)×2 +√(H²+(V×3)²)×INT((P−2)÷4)×4

=(H*INT((P+2)/4)+V*INT((P-2.5)*3/4)+SQRT(H*H+V*V)*INT(MOD(P-2,4)/3)+L)*2+SQRT(H*H+V*V*9)*INT((P-2)/4)*4

• Variation 2 (Overlapping hexagrams, Longer):

=((H +√(H²+(V×3)²))×INT((P−2)÷2) +V×(P−4) +L)×2

=((H+SQRT(H*H+V*V*9))*INT((P-2)/2)+V*(P-4)+L)*2

Hidden Knot Lacing

=(H×INT((P+1)÷2) +V×(P−1) +L)×2

=(H*INT((P+1)/2)+V*(P-1)+L)*2

(Same formula as Straight Bar Lacing)

Hiking / Biking Lacing

=(H×INT((P+1)÷2) +V×(P−1) +L)×2

=(H*INT((P+1)/2)+V*(P-1)+L)*2

(Same formula as Straight Bar Lacing)

Hill Valley Lacing

=H×(2−(P MODULO 2)) +V×((P-1)×2-(P MODULO 2)) +SQRT(H²+V²)×((P MODULO 2) +INT((P−1)÷2)×2.06) +L×2

=H*(2-MOD(P,2))+V*((P-1)*2-MOD(P,2))+SQRT(H*H+V*V)*(MOD(P,2)+INT((P-1)/2)*2.06)+L*2

(This approximates 3% longer diagonals to allow for loop unders)

Knotted Lacing

=(H +√(H²+V²)×1.03×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*1.03*(P-1)+L)*2

(This approximates 3% longer diagonals to allow for knots)

Knotted Segment Lacing

=(H +√(H²+V²)×(P−0.75) +L)×2

=(H+SQRT(H*H+V*V)*(P-0.75)+L)*2

(This approximates 25% longer on two diagonals to allow for knot)

Ladder Lacing

• Variation 1 (No lock at top, Shorter):

=((H+V)×(P−1) +L)×2

=((H+V)*(P-1)+L)*2

• Variation 2 (With lock at top, Longer):

=((H+V)×P−V+L)×2

=((H+V)*P-V+L)*2

Lattice Lacing

• Variation 1 (Single lattice):

=(H +V×(INT((P−4)÷2)×(2−(INT(P÷2) MODULO 2))+1) +√(H²+V²)×(P MODULO 2) +√(H²+INT(P÷2)²)×INT(P÷2) +L)×2

=(H+V*(INT((P-4)/2)*(2-MOD(INT(P/2),2))+1)+SQRT(H*H+V*V)*MOD(P,2)+SQRT(H*H+INT(P/2)*INT(P/2))*INT(P/2)+L)*2

• Variation 2 (Multiple short lattices):

=(H +(V×2 +D3×3)×INT((P−1)÷5) +√(H²+V²)×((P−1) MODULO 5) +L)×2

=(H+(V*2+D3*3)*INT((P-1)/5)+SQRT(H*H+V*V)*MOD((P-1),5)+L)*2

Left Right Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Lightning Lacing

=H×(2−(P MODULO 2)) +√(H²+V²)×(P−1) +√(H²+(V×(P−1))²) +(V×INT((P−1)÷2) +L)×2

=H*(2-MOD(P,2))+SQRT(H*H+V*V)*(P-1)+SQRT(H*H+(V*(P-1))*(V*(P-1)))+(V*INT((P-1)/2)+L)*2

Lock Lacing

• Variation 1 (High lock, Shorter):

=(H +V +√(H²+V²)×(P−2) +√(H²+(V÷2)²) +L)×2

=(H+V+SQRT(H*H+V*V)*(P-2)+SQRT(H*H+V*V/4)+L)*2

• Variation 2 (Low lock, Medium):

=(H +V +√(H²+V²)×(P−3) +√(H²+(V×2)²) +√(H²+(V÷2)²) +L)×2

=(H+V+SQRT(H*H+V*V)*(P-3)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V/4)+L)*2

• Variation 3 (Looped lock, Longer):

=H×4.1 +(√(H²+V²)×(P−1) +L)×2

=H*4.1+(SQRT(H*H+V*V)*(P-1)+L)*2

(This approximates 5% longer on two horizontals to allow for loops)

Locked Double Helix Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Loop Back Lacing

=(H +√(H²+V²)×1.05×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*1.05*(P-1)+L)*2

(This approximates 5% longer diagonals to allow for loop backs)

NASA Space Boot Lacing

=((H+V)×(P−1) +L)×2

=((H+V)*(P-1)+L)*2

(Same formula as Train Track Lacing)

One Handed Lacing

=H×P +√(H²+V²)×(P−1) +L +75 mm

=H*P+SQRT(H*H+V*V)*(P-1)+L+75

(This allows 75 mm = 3 inches for figure-of-eight anchoring knot)

Over Under Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Same formula as Criss Cross Lacing)

Pentagram Lacing

• Variation 1 (Regular pentagram, Longer), only 4 pairs of eyelets:

=H×3 +V×8 +√(H²+V²)×2 +√(H²+(V×4)²) +L×2

=H*3+V*8+SQRT(H*H+V*V)*2+SQRT(H*H+V*V*16)+L*2

• Variation 1 (Regular pentagram, Longer), more than 4 eyelet pairs:

=H×3 +V×INT((P−1)÷2)×6 +√(H²+V×INT((P−1)÷2)×V×INT((P−1)÷2))×2 +√(H²+V×((P+(P MODULO 2))×2−6)×V×((P+(P MODULO 2))×2−6)) +L×2

=H*3+V*INT((P-1)/2)*6+SQRT(H*H+V*INT((P-1)/2)*V*INT((P-1)/2))*2+SQRT(H*H+V*((P+MOD(P,2))*2-6)*V*((P+MOD(P,2))*2-6))+L*2

• Variation 2 (Inverted pentagram, Shorter), only 4 pairs of eyelets:

=H×3 +V×6 +√(H²+V²)×2 +√(H²+(V×4)²) +L×2

=H*3+V*6+SQRT(H*H+V*V)*2+SQRT(H*H+V*V*16)+L*2

• Variation 2 (Inverted pentagram, Shorter), more than 4 eyelet pairs:

=H×3 +V×INT((P−1)÷2)×4 +√(H²+V×INT((P−1)÷2)×V×INT((P−1)÷2))×2 +√(H²+V×((P+(P MODULO 2))×2−6)×V×((P+(P MODULO 2))×2−6)) +L×2

=H*3+V*INT((P-1)/2)*4+SQRT(H*H+V*INT((P-1)/2)*V*INT((P-1)/2))*2+SQRT(H*H+V*((P+MOD(P,2))*2-6)*V*((P+MOD(P,2))*2-6))+L*2

Perspective Lacing

• Shoes with 4 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +L)×2 +V×2

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+L)*2+V*2

• Shoes with 5 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +L)×2 +V×4

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+L)*2+V*4

• Shoes with 6 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +L)×2 +V×6

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+L)*2+V*6

• Shoes with 7 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +L)×2 +V×8

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+L)*2+V*8

• Shoes with 8 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +√(H²+(V×4)²) +L)×2 +V×6

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+SQRT(H*H+V*V*16)+L)*2+V*6

Progressive Lacing

• Shoes with 4 Pairs of eyelets:

=(H +√(H²+V²) +√(H²+(V×2)²) +L)×2

=(H+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+L)*2

• Shoes with 5 Pairs of eyelets:

=(H +√(H²+V²)×2 +√(H²+(V×2)²) +L)×2

=(H+SQRT(H*H+V*V)*2+SQRT(H*H+V*V*4)+L)*2

• Shoes with 6 Pairs of eyelets:

=(H +V +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +L)×2

=(H+V+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+L)*2

• Shoes with 7 Pairs of eyelets:

=(H +V +√(H²+V²)×2 +√(H²+(V×2)²) +√(H²+(V×3)²) +L)×2

=(H+V+SQRT(H*H+V*V)*2+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+L)*2

• Shoes with 8 Pairs of eyelets:
Variation 1 (High horizontal section, Shorter):

=(H +V×2 +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +√(H²+(V×4)²) +L)×2

=(H+V*2+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+SQRT(H*H+V*V*16)+L)*2

• Shoes with 8 Pairs of eyelets:
Variation 2 (Low horizontal section, Longer):

=(H +V×5 +√(H²+V²) +√(H²+(V×2)²) +√(H²+(V×3)²) +√(H²+(V×4)²) +L)×2

=(H+V*5+SQRT(H*H+V*V)+SQRT(H*H+V*V*4)+SQRT(H*H+V*V*9)+SQRT(H*H+V*V*16)+L)*2

Quick Release Ladder Lacing

=H×(P−2 +(P MODULO 2)) +V×((P−2)×2 +(P MODULO 2))×2 +L×2

=H*(P-2+MOD(P,2))+V*((P-2)*2+MOD(P,2))*2+L*2

Quick Tight Lacing

=H×P +√(H²+V²)×(P−2) +√(H²+(V×INT((P+1)÷2))²) +√(H²+(V×INT(P÷2))²) +L×2

=H*P+SQRT(H*H+V*V)*(P-2)+SQRT(H*H+V*INT((P+1)/2)*V*INT((P+1)/2))+SQRT(H*H+V*INT(P/2)*V*INT(P/2))+L*2

Riding Boot Lacing

=H×P +√(H²+V²)×(P−1) +√(H²+(V×(P−1))²) +L×2

=H*P+SQRT(H*H+V*V)*(P-1)+SQRT(H*H+V*(P-1)*V*(P-1))+L*2

(Same formula as Shoe Shop Lacing)

Roman Lacing

=(H×INT((P+5)÷6) +V×INT((P−1)×5÷6) +√(H²+V²)×INT((P+1)÷3) +L)×2

=(H*INT((P+5)/6)+V*INT((P-1)*5/6)+SQRT(H*H+V*V)*INT((P+1)/3)+L)*2

Sawtooth Lacing

=H×P +√(H²+(V×2)²)×(P−2) +(V+L)×2

=H*P+SQRT(H*H+V*V*4)*(P-2)+(V+L)*2

Segmented Lacing

=(H +√(H²+V²)×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*(P-1)+L)*2

(Each segment calculated separately, using the same formula as Criss Cross Lacing)

Shoe Shop Lacing

• Variation 1 (Long diagonal, Longer):

=H×P +√(H²+V²)×(P−1) +√(H²+(V×(P−1))²) +L×2

=H*P+SQRT(H*H+V*V)*(P-1)+SQRT(H*H+V*(P-1)*V*(P-1))+L*2

(Same formula as Riding Boot Lacing)

• Variation 2 (Long vertical, Shorter):

=(H+V)×P +√(H²+V²)×(P−2) +L×2

=(H+V)*P+SQRT(H*H+V*V)*(P-2)+L*2

Spider Web Lacing

=(H +(V +√(H²+(V×2)²))×(P−2) +L)×2

=(H+(V+SQRT(H*H+V*V*4))*(P-2)+L)*2

Starburst Lacing

=(H +V×INT(P÷2) +L)×2 ...
... +√(H²+(V×2)²)×2   (for 3 or more eyelet pairs) ...
... +√(H²+(V×4)²)×2   (for 5 or more eyelet pairs) ...
... +√(H²+(V×6)²)×2   (for 7 or more eyelet pairs) ...
... +√(H²+(V×8)²)×2   (for 9 or more eyelet pairs) ... (etc.)

=(H +V*INT(P÷2) +L)*2 ...
... +SQRT(H*H+V*V*2*2)*2   (for 3 or more eyelet pairs) ...
... +SQRT(H*H+V*V*4*4)*2   (for 5 or more eyelet pairs) ...
... +SQRT(H*H+V*V*6*6)*2   (for 7 or more eyelet pairs) ...
... +SQRT(H*H+V*V*8*8)*2   (for 9 or more eyelet pairs) ... (etc.)

Straight Bar Lacing

=(H×INT((P+1)÷2) +V×(P−1) +L)×2

=(H*INT((P+1)/2)+V*(P-1)+L)*2

Straight Easy Lacing

=(H×INT((P+1)÷2) +V×(P−1) +L)×2

=(H*INT((P+1)/2)+V*(P-1)+L)*2

(Same formula as Straight Bar Lacing)

Straight European Lacing

=H×P +(√(H²+V²) +L)×2 +√(H²+(V×2)²)×(P−2)

=H*P+(SQRT(H*H+V*V)+L)*2+SQRT(H*H+V*V*4)*(P-2)

Supernova Lacing

=(H+L)×2 ...
... +√(H²+(V×1)²)×2   (for 2 or more eyelet pairs) ...
... +√(H²+(V×2)²)×2   (for 3 or more eyelet pairs) ...
... +√(H²+(V×3)²)×2   (for 4 or more eyelet pairs) ...
... +√(H²+(V×4)²)×2   (for 5 or more eyelet pairs) ... (etc.)

=(H+L)*2 ...
... +SQRT(H*H+V*V*1*1)*2   (for 2 or more eyelet pairs) ...
... +SQRT(H*H+V*V*2*2)*2   (for 3 or more eyelet pairs) ...
... +SQRT(H*H+V*V*3*3)*2   (for 4 or more eyelet pairs) ...
... +SQRT(H*H+V*V*4*4)*2   (for 5 or more eyelet pairs) ... (etc.)

Train Track Lacing

=((H+V)×(P−1) +L)×2

=((H+V)*(P-1)+L)*2

(Same formula as NASA Space Boot Lacing)

Twistie Lacing

=(H +√(H²+V²)×1.07×(P−1) +L)×2

=(H+SQRT(H*H+V*V)*1.07*(P-1)+L)*2

(This approximates 7% longer diagonals to allow for twists)

Two-One-Three Lacing

=(H +√(H²+V²)×(P−3) +√(H²+(V×2)²)×2 +L)×2

=(H+SQRT(H*H+V*V)*(P-3)+SQRT(H*H+V*V*4)*2+L)*2

Ukrainian Lacing

• Variation 1 (Ends anchored separately at bottom):

=H +(√(H²+V²)×(P−2) +L +75 mm)×2

=H+(SQRT(H*H+V*V)*(P-2)+L+75)*2

(This allows 75 mm = 3 inches for each figure-of-eight anchoring knot)

• Variation 2, 3 (Ends tied together at bottom/top):

=(H +√(H²+V²)×(P−2) +L +50 mm)×2

=(H+SQRT(H*H+V*V)*(P-2)+L+50)*2

(This allows 50 mm = 2 inches for each half of the joining reef knot)

• Variation 4 (Starting horizontal tucked under first crossover):

=H +(√(H²+V²)×(P−1) +L +75 mm)×2

=H+(SQRT(H*H+V*V)*(P-1)+L+75)*2

(This allows 75 mm = 3 inches for each figure-of-eight anchoring knot)

Waffle Lacing

=(H +V×(P−3) +√(H²+(V×2)²)×(P−2) +L)×2

=(H+V*(P-3)+SQRT(H*H+V*V*4)*(P-2)+L)*2

Winter Solstice Lacing

=(H +V×(P−1) +L)×2

=(H+V*(P-1)+L)*2

Woven Lacing

=(H +√(H²+(V×3)²)×1.05×(P−1) +L)×2

=(H+SQRT(H*H+V*V*9)*1.05*(P-1)+L)*2

(This approximates 5% longer diagonals to allow for weaving)

Zig Zag Lacing

=(H+L)×2 +(V +√((H×2)²+V²))×(P−1)

=(H+L)*2+(V+SQRT(H*H*4+V*V))*(P-1)

Zipper Lacing

=H×(P+1) +√(H²+(V×2)²)×(P−1) +L×2

=H*(P+1)+SQRT(H*H+V*V*4)*(P-1)+L*2

(This approximates diagonals at half the horizontal spacing)

Lug Bow Tie Lacing

=(H +V×INT(P÷2) +W×INT((P+1)÷2) +√(H²+(V−W)²)×INT((P−1)÷2) +L)×2

=(H+V*INT(P/2)+W*INT((P+1)/2)+SQRT(H*H+(V-W)*(V-W))*INT((P-1)/2)+L)*2

Lug Criss Cross Lacing

=(H +W×P +√(H²+(V−W)²)×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*(P-1)+L)*2

Lug Double Lacing

(For even numbers of lug pairs, the following formulas both work out the same)

• Lace 1 (Odd rows):

=(H +W×INT((P+1)÷2) +√(H²+(V×2−W)²)×INT((P−1)÷2) +L)×2

=(H+W*INT((P+1)/2)+SQRT(H*H+(V*2-W)*(V*2-W))*INT((P-1)/2)+L)*2

• Lace 2 (Even rows):

=(H +W×INT(P÷2) +√(H²+(V×2−W)²)×INT((P−2)÷2) +L)×2

=(H+W*INT(P/2)+SQRT(H*H+(V*2-W)*(V*2-W))*INT((P-2)/2)+L)*2

Lug Double Back Lacing

=(H +W×P +√(H²+V²) +√(H²+(V×2−W)²)×(P−2) +L)×2

=(H+W*P+SQRT(H*H+V*V)+SQRT(H*H+(V*2-W)*(V*2-W))*(P-2)+L)*2

Lug Hash Lacing

=(H +W×P +√(H²+(V+W)²)×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V+W)*(V+W))*(P-1)+L)*2

Lug Hexagram Lacing

=(H×(P+3) +W×(P×3+1))÷2 +√(H²+(V×2)²)×(P−1) +L×2

=(H*(P+3)+W*(P*3+1))/2+SQRT(H*H+V*V*4)*(P-1)+L*2

(Only applicable when number of lug pairs P = 5, 9, 13, 17, 21, etc.)

Lug Hiking / Biking Lacing

=(H +V +W×(P−1) +√(H²+(V−W)²)×(P−2) +L)×2

=(H+V+W*(P-1)+SQRT(H*H+(V-W)*(V-W))*(P-2)+L)*2

Lug Infinity Lacing

=(H +V×(P−1) +W×(P+1) +√(H²+W²)×P +L)×2

=(H+V*(P-1)+W*(P+1)+SQRT(H*H+W*W)*P+L)*2

Lug Knotted Lacing

=(H +W×P +√(H²+(V−W)²)×1.03×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*1.03*(P-1)+L)*2

(This approximates 3% longer diagonals to allow for knots)

Lug Knotted Segment Lacing

=(H +W×P +√(H²+(V−W)²)×(P−0.75) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*(P-0.75)+L)*2

(This approximates 25% longer on two diagonals to allow for knot)

Lug Ladder Lacing

• Variation 1 (No lock at top, Shorter):

=(H +(V+W)×(P−1) +√(H²+W²)×(P−2) +L)×2

=(H+(V+W)*(P-1)+SQRT(H*H+W*W)*(P-2)+L)*2

• Variation 2 (With lock at top, Longer):

=(H +(V +W +√(H²+W²))×(P−1) +L)×2

=(H+(V+W+SQRT(H*H+W*W))*(P-1)+L)*2

Lug Lattice Lacing

=(H +W×P +(√(H²+(V+W)²) +√(H²+(V×2−W)²)×2)×INT((P−1)÷3) +L)×2

=(H+W*P+(SQRT(H*H+(V+W)*(V+W))+SQRT(H*H+(V*2-W)*(V*2-W))*2)*INT((P-1)/3)+L)*2

Lug Lock Lacing

=(H +V +W×(P−1) +√(H²+(V−W)²)×(P−2) +√(H²+((V+W)÷2)²) +L)×2

=(H+V+W*(P-1)+SQRT(H*H+(V-W)*(V-W))*(P-2)+SQRT(H*H+(V+W)/2*(V+W)/2)+L)*2

Lug Loop Back Lacing

=(H +W×P +√(H²+(V−W)²)×1.05×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*1.05*(P-1)+L)*2

(This approximates 5% longer diagonals to allow for loop backs)

Lug Segmented Lacing

=(H +W×P +√(H²+(V−W)²)×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*(P-1)+L)*2

(Each segment calculated separately, using the same formula as Lug Criss Cross Lacing)

Lug Shoe Shop Lacing

=(H +W×P +L)×2 +√(H²+(V−W)²)×(P×2−3) +√(H²+(V×(P−1)−W)²)

=(H+W*P+L)*2+SQRT(H*H+(V-W)*(V-W))*(P*2-3)+SQRT(H*H+(V*(P-1)-W)*(V*(P-1)-W))

Lug Spider Web Lacing

=(H +(V +√(H²+(V+V+W)²))×(P−2) +W×(P−1) +L)×2

=(H+(V+SQRT(H*H+(V+V+W)*(V+V+W)))*(P-2)+W*(P-1)+L)*2

Lug Starburst Lacing

=(H +W×P +L)×2 ...
... +√(H²+(V×1)²)×2   (for 2 or more eyelet pairs) ...
... +√(H²+(V×2)²)×2   (for 3 or more eyelet pairs) ...
... +√(H²+(V×3)²)×2   (for 4 or more eyelet pairs) ...
... +√(H²+(V×4)²)×2   (for 5 or more eyelet pairs) ... (etc.)

=(H +W*P +L)*2 ...
... +SQRT(H*H+V*V*1*1)*2   (for 2 or more eyelet pairs) ...
... +SQRT(H*H+V*V*2*2)*2   (for 3 or more eyelet pairs) ...
... +SQRT(H*H+V*V*3*3)*2   (for 4 or more eyelet pairs) ...
... +SQRT(H*H+V*V*4*4)*2   (for 5 or more eyelet pairs) ... (etc.)

(Same formula as Lug Supernova Lacing)

Lug Straight Bar Lacing

• Variation 1 (Single pass at top/bottom, Shorter):

=((H +V +W)×(P−1) +L)×2

=((H+V+W)*(P-1)+L)*2

• Variation 2 (Double pass at top/bottom, Longer):

=((H+W)×(P+1) +V×(P−1) +L)×2

=((H+W)*(P+1)+V*(P-1)+L)*2

Lug Supernova Lacing

=(H +W×P +L)×2 ...
... +√(H²+(V×1)²)×2   (for 2 or more eyelet pairs) ...
... +√(H²+(V×2)²)×2   (for 3 or more eyelet pairs) ...
... +√(H²+(V×3)²)×2   (for 4 or more eyelet pairs) ...
... +√(H²+(V×4)²)×2   (for 5 or more eyelet pairs) ... (etc.)

=(H +W*P +L)*2 ...
... +SQRT(H*H+V*V*1*1)*2   (for 2 or more eyelet pairs) ...
... +SQRT(H*H+V*V*2*2)*2   (for 3 or more eyelet pairs) ...
... +SQRT(H*H+V*V*3*3)*2   (for 4 or more eyelet pairs) ...
... +SQRT(H*H+V*V*4*4)*2   (for 5 or more eyelet pairs) ... (etc.)

(Same formula as Lug Starburst Lacing)

Lug Twistie Lacing

=(H +W×P +√(H²+(V−W)²)×1.07×(P−1) +L)×2

=(H+W*P+SQRT(H*H+(V-W)*(V-W))*1.07*(P-1)+L)*2

(This approximates 7% longer diagonals to allow for twists)

Lug Zipper Lacing

=((H +√(H²+(V+W)²)×(P−1))×1.03 +W×P +L)×2

=((H+SQRT(H*H+(V+W)*(V+W))*(P-1))*1.03+W*P+L)*2

(This approximates 3% longer segments to allow for knots)

NOTE: These forumlas are theoretically accurate, but in practice they will be out a little depending on the accuracy of any approximations, the diameter of the eyelets, depth of the eyelets, variations in distances between eyelets, thickness of the laces, elasticity of the laces, how tightly they are laced, how complex a knot is used, the curvature of the top of your foot – even the thickness of your socks!

Support Ian

Sponsors

Click to buy U-Lace elastic shoelace segments (USA)
Click to buy shoelaces from Kicks Shoelaces (Australia)
Click to buy tough shoelaces from Ironlace (USA)
Click to buy shoelaces from Big Laces (UK)
Click to buy handmade shoelaces from Cute Laces (USA)

This page last updated: 11-Sep-2023. Copyright © 2006-2023 by Ian W. Fieggen. All rights reserved.

Website created by Ian Fieggen (aka. “Professor Shoelace”), inventor of the Ian Knot.

Ian's Other Websites:
Ian's Software SiteSoftwareIan's Graphics SiteGraphicsIan Fieggen's SiteIanChris Fieggen's SiteChrisFieggen Family TreeTree