The notation of Juggling (2-handed siteswaps)

When people here about juggling, their first picture in their head is probably the one of a clown with a red nose and n > 2 objects simultaneously in the air. However, some beautiful and simple mathematical concepts hide behind this entertaining art.

The vanilla siteswap notation was developed around 1985 and assumes that throws are happening o at beats that are equally spaced in time.

Since then, the siteswap notation is the most commonly used system for juggling notation. There are great resources out there, explained by many awesome people (you can find a small list at the end of this page.).

Besides the equally spaced beats, the vanilla notation requires that the throwing hands are alternating, meaning only one hand a time. Also, the vanilla notation assumes only one throw at a time, not multiple objects on one beat. We regard a sequence \(\psi = a_1, a_2, ...a_{i-1}\) which consist of non-negative integers and can be juggled with n objets (we do not consider half objects or negative throws). This sequence \(\psi\) is periodic (\(\psi \equiv ...\psi,\psi,\psi...\)) and cyclic invariant (\(\psi = ABCD = BCDA = \psi^\prime\)).

Let's get more into the numerical system behind. Siteswaps let us encode each throw into a number of beats. Beats are discrete amounts of time until the objects is thrown again. The concrete number is related to the relative height: The higher the number, as longer the object stays in the air. And since gravity is not that easy to change, this results in higher or lower throws respectively.

Note that the height of a throw is not absolutely defined, but remains individual for every juggler. A 3-beat throw of a fast juggler will be e.g. much lower than for a slow juggler.

To imagine those numbers a bit better, let us have a look on the well-known 3-Ball cascade: Siteswap animations from   juggling lab.

If we follow the yellow ball \(b_1\), we can observe that after it is thrown, two other balls are thrown (\(b_2, b_{3}\)) before it is \(b_1\)'s turn again. In other words, two beats elapse until \(b_1\) will be thrown again. Counting the beats shows that \(b_1\) is thrown on beat 1, 4, 7... etc. As \(b_1\) in thrown in every third beat, we call this throw a 3-throw. Throwing a 3-throw gives us the time to throw 2 other balls before it is thrown again. Generally expressed:

An \(N\)-throw lands on the \(N^{th}\) beat. After an \(N\)-throw, (\(N\)-1) objects can be thrown.

An often used visualisation in juggling is the ladder-diagram. It shows a bird-like perspective on the juggling pattern using the lateral expansion to visualise the time.

As you can see, the 3-throw of the right-hand lands 3 beats later and is thrown again as a 3-throw. We can also see, that a 3-throw will always land on the opposite hand as it was thrown with. In contrast, every even-number throw will land on the same hand. That is also the reason for that we juggle the 4-ball base pattern as so-called fountains:

Siteswap animations from   juggling lab.

So now that we defined \(N\)-throws, we can do a really cool thing: We can combine the different \(N\)-throws with each other to create new patterns. For example the pattern 531, which looks in the ladder diagram as follows:

The right-hand throws a 5-throw, followed by a 3-throw from the left and a 1-throw from the right. Recall that \(N\)-1 objects can be thrown after an \(N\)-throw. Hence, 0 balls can be thrown after the 1-throw, so the ball is thrown very low and fast to the other hand.

We can describe each simple juggling pattern by a juggling sequence, which is a sequence of integers corresponding to the throws in the juggling pattern. The length of the sequence is called period. The siteswap 531 for instance has a period of 3.

Is every sequence jugglable? Following the vanilla restriction, not every random combination of integers is a valid siteswap. Recall, that the vanilla restriction assumes only one throw at a time, which also prohibits two or more throws landing on the same beat. Throwing a 5-throw and one beat later a 4-throw results into that both will land on the same beat (aka. a collision). In general, an \(n\)-throw followed by an (\(n-1\))-throw results in a collision. Following the vanilla restriction, this is an invalid siteswap.

Notes for nerds

All posssible siteswaps
Yes, of course people have compiled list for all possible 3 ball siteswaps up to a specific period length: Sean Gandini compiled some cards [1] showing the siteswaps for several numbers of balls and a period length up to 5. You can also generate your own list with Tillmanns app Siteswap Generator [2] with a period length of your choice.

Jack Boyce invented the state notation [3], which designates the times in the future when each object will be thrown next. Determining those landing point and showing those states as 1s and 0s, it is possible to create a map of all possible states for asynchronous non-multiplex \(n\)-object siteswaps given the maximum period length. The edges of this graphs show the \(n\)-throws as they cause the transition between the states. Moving along the edges lets us move to new result states. When we move over multiple states and eventually reaching the initial state again will result in a valid siteswap.

Siteswaps also come with another nice and handy attribute: Based on the given siteswap, you can determine the number of objects. The average theorem determines how many objects are required to juggle a particular siteswap. Let \(\psi\) be a juggling sequence consisting of integers \(I\). Then the number of objects \(N_o\) of \(\psi\) can de determined by

\(N_o(\psi) = \frac{\sum_{i\in I}{\psi(i)}}{|I|}\)

where \(|I|\) is the length of the sequence. Example: \(\psi = \langle 531 \rangle\)

\(N_o(\langle 531 \rangle) = \frac{5 + 3 + 1}{3} = \frac{9}{3} = 3\)

And with that, it is ... ♫ time to do some juggling tricks, duda duda ♫ ...


[1] S. Gandini, “Juggling Cards.” [Online]. Available:

[2] “Siteawp Generator.” [Online]. Available:

[3] J. Boyce, “The Longest Prime Siteswap Patterns” [Online]. Available:

See also

[4] A. Leymann, “The Beauty and Mathematics of Juggling.” [Online]. Available:

[5] A. Zinser, “Juggling Theory Part I. Siteswap State Diagrams” [Online]. Available:

[6] B.Beever, “Guide to Juggling Pattern” [Online]. Available:

[7] A. Engels & A. Mauw, (1999), “Why men (and octopuses) cannot juggle a four ball cascade.”. Eindhoven University of Technology, Department of Mathematics and Computing Science. Available:

[8] H. Lundmark (2004), “Siteswap state diagrams”. [Online] Available:

[9] G. Warrington (2003), “Juggling Probabilities”. The American Mathematical Monthly. 112. 10.2307/30037409.

[10] B. Polster (2003), “The Mathematics of Juggling”. Springer Verlag. Preview:

[11] P. J. Beek & A. Lewbel (1995), “The Mathematics of Juggling”. [Online] Available:

[12] A. Knutson (1993), “Siteswap FAQ”. Available:

to reading

Blog Logo

Jennifer Matthiesen



A Blog about Neural Networks and Their Outputs

Back to Overview