Siteswap
(juggling notation)
There is one almost bizarrely mathematical aspect to juggling, which is the fact that you can categorize a great number of multi-prop (eg ball) juggling tricks by the order in which the props are catched in each hand. Starting with the (somewhat reasonable) assumption that up to one prop is in one hand at a given time, the tricks can be described by the number of props thrown before catching the prop thrown first.
Assuming periodic trick patterns, any trick can be then characterized as a string of numbers, made unique by convention that the smallest repeating period is kept and the largest number is put first.
For example the most basic 3-ball juggling trick, where each throw send the ball to the other hand, has siteswap notation that is just “3”, meaning it’s short form of the infinite pattern “33333…”. A ball is thrown from the right hand (0), then a second ball is thrown from the left hand (1), then the third ball is thrown from the right hand (2), next the first ball is catched by the left hand and immediately thrown again (3).
The number 3 describes the “spacing” of a given throw, it’s not specific to a ball or a hand. For example the rather easy-to-juggle 3-ball pattern 441 includes short passes (1) from left to right hand but also from right to left. The (4) are vertical throws catched in the same hand they are thrown on — even numbers always are, and odd numbers always mean the throw changes hand.
Here are some animations from created with Juggling Lab, roughly in order of juggling difficulty:
Naturally since this is now “math”, there exist various theorems about siteswaps, such as that the sum of the numbers of the siteswap notation is divisible by the number of props.
More information:
It needs to be said that siteswaps do not capture the real essence of juggling. For example the famous Mill’s Mess pattern has the same siteswap “3” as the most basic trick. What makes it look so interesting (and pleasing to juggle!) is that the hands continuously change their positions — an aspect completely ignored by the siteswap notation.





