What is siteswap?

Siteswap is a mathematical notation system which can be used to notate juggling tricks & patterns. It has often been described as, "Sheet music for jugglers". As well as being a very useful notation system used for descriptive purposes it is also a very elegant mathematical model of a juggling pattern. A model which can be analysed & manipulated in many ways to create new patterns. Don't be put off because I said the word mathematical, the only maths involved is a bit of counting. If you can count you can understand siteswap.

What is A siteswap?

A siteswap is a string of characters used to represent a juggling pattern. Siteswaps are mostly made up of numbers, but will also sometimes contain letters. These letters are used to represent two digit numbers so as not to confuse 12 (twelve) with 1 2 (one & two). For example, characters 0 - 9 represent the numbers 0 - 9, after that A = 10, B = 11, C = 12 & so on.

A few examples:


This page on its own will only deal with letters & numbers but there are other characters that appear in siteswap notation which introduce new concepts that you can read about on seperate pages. These characters are brackets '(' & ')' which are used in Synchronous Siteswap & square brackets '[' & ']' which are used in Multiplex Notation.

What do the numbers (& letters) mean?

Firstly a little bit about the terminology I'm going to be using. As I said in the first paragraph the letters are actually numbers too. The letters represent the two digit numbers 10 & above. From now on when I say number bear in mind that I mean the 'numerical value of a character'. Also siteswaps can be juggled with balls, rings, clubs or any other prop, but for the sake of easy reading I will only use the word ball.

Each number is an event involving one ball on a given beat in time. So if the siteswap string is made up of three numbers (eg. 534) then there are three events before the sequence repeats itself.

After an event the ball will not be involved in any other events until that number of beats later. So if the first event in a siteswap string is a 5 then after the event takes place the ball is not touched again until five beats later, meaning four beats occur before the ball is used again on the fifth beat.

To help visualise this get yourself a pen & either draw yourself a line of dots on a piece of paper or download & print out a pdf of pre-dotted paper.

We will start off with the simplest three ball siteswap: 3, which is used to denote a regular Three ball cascade. Each dot represents a beat of the pattern. On each beat one event occurs. In the case of our example pattern the event is always a 3 (because in siteswap 3 means 3333333....). So start at the first dot on the line (the first beat of the pattern) & count down the line three beats (not including the beat we are already on) then draw a curved line from the first dot over the next two so that it joins up with the fourth. Now do the same for each dot in turn, until you get to the end of the row or you get bored, then we'll look at the finished result.

Look at the first dot on the line, follow the line leading from it down the line of dots as it bounces from one beat to the other. This line connects all of the beats where an event occurs using that particular ball. Now follow the line from the second dot, this line connects all the events involving the second ball. Then follow the line from the the third dot which connects the events of ball three. Now that you have done that you know that there are three distinct lines weaving round the dots, this tells us that the pattern you have drawn involves three balls.

Look at each dot on the line, notice that each dot (apart from the first three) has only one line coming in & only one line going out. This shows us that for every beat in the pattern the event that occurs on that beat only involves one ball.

All numbers are drawn the same, except the number of beats changes according to the value of the number. A zero represents an event involving no balls, in other words during that beat no balls are touched at all.

To get a feel for this technique of drawing out the events try drawing a few of these patterns:

B97531 (remember: letters represent 2 digit numbers)

Not every string of numbers is a valid siteswap pattern

Let's look at another example pattern: 21. The first event is a 2 so draw a curve from the first dot two beats down the line to the third dot. The second event is a 1 so draw another curve from the second dot one beat down the line to the third dot. We now have two lines (balls) leading into the third beat. The third event as stated by the siteswap is another 2, so draw another line from the third dot to the fifth. Note that there is no line leading into the fourth beat, this tells us that unless we introduce another ball into the pattern we will have no ball to use for this event. Carry on down the line of dots drawing in each event stopping at the eleventh dot.

We've already learnt that the number of lines = the number of props required to juggle the pattern, so count up the lines. We have one ball bouncing down the line as a 2, then we have five new balls entering the pattern, one for each 1. If we carried on juggling this pattern we would have to introduce another ball every second event so in effect we would be juggling a pattern with an ever increasing number of balls.

Look at the third dot on the line. There are two lines leading in, this tells us that there are two balls that are due to be touched during this beat. The event that occurs on this beat is a 2 which only involves one ball, so only one of the balls is scheduled to be used later on in the pattern. So during this beat one of the balls disappears.

Obviously we cannot juggle with an ever increasing number of objects & objects cannot simply disappear, so 21 is not a valid siteswap pattern. The problem with this pattern occurs on the third beat, the event that ocurs only involves one ball but should involve two. To show this we would need to use Multiplex Notation.

Here are some more invalid siteswaps, draw them out to see where & why they go wrong.


Validating a siteswap

The only thing we need to check to see if a siteswap is a valid pattern is whether there are enough balls available on any given beat to perform the event specified on that beat. (note: All of the examples used on this page only use events involving one ball, but when it comes to using Multiplex notation the event may require two or more balls.)

This can be done by drawing out the paths between each event as we have been doing. If there are more lines leading into a beat than out, or similarly more lines leading out than in then we have an invalid pattern. Although as you have probably found out already this method can be time consuming, & can get pretty complex when dealing with complex synchronous multiplex patterns.

One of the easiest ways to validate siteswap strings is the countdown method, which with a little practise can be done quickly in your head. Let's look at the siteswap 62341 to see if it is a valid pattern.

Write 62341 down on a piece of paper. Start by looking at the first number - 6 & count backwards from this number all the way down to 0 jumping to the next character in the sequence as you say each number, if you get to the end of the sequence jump back to the start like so (the normal numbers are the siteswap events & the superscripts are the numbers as we count them):

66, 25, 34, 43, 12 (skip back to the start of the sequence) 61, 20, 3, 4, 1

This shows us that the ball used during the first beat for the event 6 is next touched six beats later for event 2. Write down a little number 6 underneath the 2. Now do the same for each number in the sequence. When you've finished you should end up with this:

631, 26, 34, 42, 1-

The normal numbers show what events take place on each beat & the subscripts show how many balls are next touched during this beat (& which events the balls came from). Read what you have written one event at a time.

The first event is a 6 which involves only one ball, but there are two balls that are due to be touched during this beat. If we were drawing lines between the events this would be the same as two lines in & one line out. The next three events all show an event requiring one ball, & also that one ball is next touched during each beat. This is the same as one line in & one line out - no problems. The last event is a 1 which requires 1 ball, but no balls are due to be touched during this beat, so we have nothing to perform this event with. This is equivalent to no lines in & one line out. So we know that we can't juggle this pattern because of what happens on the first & last beat of the sequence.

Put simply: If the number of balls which will be used in an event on any beat is different from the number of balls scheduled to be touched during that beat then the pattern is invalid.

The averaging rule

Another easy thing to check which is related to validation is the number of balls that will be used in the pattern. The number of balls is equal to the sum of all the numbers in the pattern divided by the number of events. This is called the averaging rule because you work out the mean average number of all the events. For example:

5+3+1=9, 9/3= 3 balls
6+3+3=12, 12/3= 4 balls
6+4+5=15, 15/3= 5 balls

If the result is not a whole number then the pattern will fail the countdown test. If the result is a whole number it is not guaranteed to be a valid pattern. For example try the averaging rule & then the countdown method on 534 then 543.

The most important bit

At no point on this page have I mentioned anything about left or right hands, or about throws, or about catches. Up until that sentence at least. What I have described is the bare bones of siteswap which is simply the scheduling of events.