the Passing DataBase


Causal diagrams are (in my opinion) the simplest way to code and understand a passing pattern with 2 (or 3, after that it becomes complicated and messy) jugglers.  Siteswaps allow for coding the same type of information in a format more easily digestible by simulators.   The way I see it, the two notations complement one another, and that's why I'm presenting them together.

Siteswaps for passing

<N1 N2 N3 N4 | M1 M2 M3 M4>

A passing siteswap consists of two sets of numbers (N for one side, M for the other) between brackets: '<...>' and separated by ' | '.

Each of the sequences describes the throws of one juggler.  By default, these are integers, as in a solo siteswap (but you will see that this is not always true).  A throw that is a pass will be indicated by a p after the number (ex.:  3p for a normal single self). When you get to the end of the sequence, go back to the beginning as in solo siteswaps (instead of writing "a b c a b c a b c a b c ..." we settle for "a b c").
  If the sequence is especially long, it may be separated into 2 (or more) parts in the following format:
<N1 N2 | M1 M2>
<N3 N4 | M3 M4>

When the two jugglers do exactly the same thing (at the same time or staggered), the rhythm is called symmetrical (Christophe's "symmetrical passing patterns").  Thus sometimes we only need to write one sequence.
  Ex.: 5p 3 3 3 instead of <5p 3 3 3 | 3 3 5p 3>

For those who know nothing about solo siteswaps, take a look at the recommended sites posted on the links page.

Causal diagrams

A two-person causal diagram is made up of two lines.  Each line represents one of the jugglers.  On these lines are written the letters R and L, which represent the two hands of each juggler:

Next, we add arrows between the letters (hands), which represent a throw, whether a self (staying on the same line) or a pass (crossing lines).

Time progresses from left to right, from which it follows that the arrows point toward the right:  first one throws and then one catches.  That explains the alternation of L's and R's on each line; in a normal juggling pattern, one's hands throw one after the other.

For each circle (letter), there will be an arrow coming in and another arrow going out, i.e. one incoming pass and one outgoing pass (cf. the examples below; the first explanatory diagram don't show this because it is not a complete diagram).  This illustrates the fact that one must throw a club in order to be able to receive another.  The incoming club is the cause of the next throw.

Different types of arrows and what the numbers mean

The explanations given here follow (for now) the normal rules of siteswap, which state:

Beware however, contrary to the ladder diagrams, the arrows do not lead to the time when the same club will be thrown again.  The arrow points at the moment when the club is caught (if it had been thrown there), combined with the moment when another club is thrown to take its place.


<3p .....| .....>
A single pass (single spin) that goes straight across (R to L)
<4p .....| .....>
Double pass
<5p .....| .....>
Triple pass (it's easy to imagine what quadruple passes would look like...)

Classic selfs (3, 4, 5...)

<3 .....| .....>
Normal single self.
<4 .....| .....>
A double (which then comes back to the hand that threw it).
<5 .....| .....>
A triple self (changing hands)

Bizarre selfs (0, 1, 2)

<3p 2 .....| 4p .....>
Keep one club in hand (the arrow won't always be drawn). When no club arrives for a given hand, one may hold the club for another beat.  That's a chance to do a flourish, thumb twirl...
<3p 1 .....| 3p .....>
A handacross.  The arrow goes backward (back in time)!!!  That's because this handacross is the cause of the previous throw: you have to free the right hand for catching it.
<3p 3p 3 0 | ..... >
An empty hand (no need to throw).  Again, the arrow goes back in time: in order for the hand to be empty, one must have made an earlier throw with the same hand.  That's the cause that makes it possible to catch the incoming club.

Some examples

4-count or every other

<3p 3 3 3 | 3p 3 3 3>

This is the most common pattern (every other).  The jugglers pass at the same time and always with the right hand.  There are 3 selfs between each pass.

3-count with a 441

<3p 3 3 3p 4 4p 1| 3p 3 3 3p 3 3>

Waltz:  jugglers pass at the same time and alternate between right and left hands.

Here one of the jugglers, upon receiving a pass does:  - self double (4) - crossing double pass (4p) - handacross (1, the arrow pointing left)

2-count with doubles and triples

<3p 3 3p 2 3p 3 3p 3| 3p 3 4 4 5 3 0 3>


Here, the bottom juggler does the traditional right-left-triple in 2-count.

The first double, thrown at the same time as a regular pass, arrives late (a double takes longer to get there than a single).  The top juggler therefore has a pause (a 2) with his left hand (which otherwise would have received a regular pass).

When someone throws a triple, there is no pass coming to the right hand, which will then be empty two counts later (at which point the arrow goes backward: a 0).

Standard 7 clubs in 2-count

<4p 3 | 3 4p>

Here you will begin to grumble, and with good reason: why are 4's (doubles, all the passes) not made as crossing passes (R to R or L to L, as before)?

It's because the two jugglers are no longer doing exactly the same thing at the same time.  The R's of the top juggler correspond to the bottom juggler's L's.  There is a staggered start, which is not indicated by siteswap notation (on Joepass! you would enter it as "#jugglerStartLeft 2").

Crossing 7 clubs in 2-count

<4p 3 | 3 4p>

This is crossing 7 clubs in 2-count which follows the rules stated above.  The jugglers throw with the same hand at the same time, but one of them must make left-handed passes.

Staggered starts

You have seen in the previous examples that the two jugglers don't always throw with the same hand at the same time.  According to the time delay between both their right (or left) hands, I categorize rhythms into three families (not counting hurries or 'galloped patterns').

Siteswap does not take staggered starts into account.  Therefore, sometimes there are several ways to juggle certain sequences (cf. <4p 3 | 3 4p> in the examples above).
Be also aware that the new rules stated under are valid only for passes. Selfs throws will always follow the usual rules.

Family 1 : Delay=0

This includes 4-count, 3-count, 2-count, 1-count with 6 clubs, 4-count or crossing 2-count with 7 clubs...

In this family, the standard siteswap rules apply:
- even passes (4, 6... i.e. doubles, quadruples...) cross:  R->R or L->L
- odd passes (3, 5... i.e. singles, triples) go straight across:  R->L or L->R.

Family 2 : Delay=1 count

For example, 2-count or compressed mesopotamia with 7 clubs.

Note that the 1-count delay means that when A throws with the RH, B throws with the LH.  In this family, the standard siteswap rules are reversed:
- even passes (4, 6... i.e. doubles, quadruples...) go straight across: R->L or L->R
- odd passes (3, 5... i.e. singles, triples...) cross: R->R or L->L

Family 3 : Delay=0.5 count

These are essentially 7-club patterns-- 3-count, ultimate--but also some with 6 clubs--whynot?--as well as 8 and more.

In this family, the rules change completely; since the delay is no longer a whole number, neither are the passes.  The passes are now written as 3.5p, 4.5p, 5.5p...
In practice, you may choose to do either doubles or singles for 3.5p (which is between 3 and 4 - I know, you could've figured that out on your own).

A second new element is that in this case, one juggler makes all crossing passes, while the other makes all straight passes (without changing the numbers).  Thus we have: If N (=3.5p for example) is a crossing pass for J1, it is straight for J2.  And N+1 (4.5p in this case) is therefore a straight pass for J1.

A special siteswap notation may be applied to these patterns: 4-handed siteswaps.

I know that some people won't agree with this classification system.  However, if the diagrams are new for you, this may be less confusing.
FYI, some points to consider:

  • It is not necessary to differentiate delay = 0 from delay = 1.  In effect, both jugglers throw at the same time, but not necessarily with the same hand.  However, I find that in practice, the feel is completely different. 
  • There are many other patterns for which the delay is neither 0, 1, nor 0.5.  It's possible to have a delay of 0.3 for example.  I suspect that such patterns are permutations of other patterns belonging to the families previously described in which jugglers throw their passes higher or lower than normal (but I could be wrong).  One might even say that a pattern with a delay of 0.5 in which the two jugglers pass in 3.5p is a permutation of a pattern with delay=0 in which one juggler throws singles (3p) and the other doubles (4p).


Siteswap : properties

The total number of clubs equals:
(average of the numbers in the two sequences)*(number of jugglers).

For example, for <3p 4 4 1 | 3p 3 3 3 > :
average = (3+4+4+1+3+3+3+3)/8 = 3 (24/8)
and the number of clubs = 6 (3*2, i.e. 3 clubs per juggler).

One could also calculate the number of clubs juggled by each juggler (with his corresponding sequence) as in normal siteswaps.  When doing this, one often ends up with numbers like 3.5 clubs per juggler (for regular 7 clubs).

Causal diagrams : properties

In order to calculate the number of clubs in a causal diagram, we must first find (and define this notion) the number of causal lines present in the diagram.  In the example below, the three causal lines are clearly shown (one blue, one green, one red).  This should be enough to understand the concept of causal lines.  One may also make a vertical line and count the number of arrows that it crosses, but in this case arrows that go from right to left (hand-across and empty hand) should be counted as negative.

So we have:  number of clubs = ( number of lines ) + ( total number of hands).
In the case of 2-person passing patterns, there are 4 hands.

Here: number of clubs = 3 + 4 = 7 (it's a popcorn with 7 clubs).

In short, the lines represent the number of objects in the air at a given time, as opposed to those which jugglers hold in their hands (which is how we get the formula).

Moving on


A hurry is often defined as throwing twice in a row with the same hand.  This often happens because someone catches the club in the "wrong" hand.

Here I've shown the hurries in green, breaking the alternation of RLRLRL... by sometimes having 2 R or 2 L in a row.


Here I've tried to represent a duplex in a 2-count pattern (6 clubs).  The bottom juggler catches two clubs in his right hand and throws them back two counts later.  

The diagram's ambiguity comes from the fact that one line (the red one) is broken. We should agree on a way of dealing with this, perhaps by introducing a new arrow (like the dotted one) in the diagrams.  

Various self patterns

If desired, one may add an extra line to show self patterns which necessitate, for example (as is the case here for columns) synchronous throws.  Note that the line (red loop) thus created does not intervene in the calculation of the number of clubs in the pattern (we have simply created a problem for ourselfs by throwing a club even though nothing forced us to do so). 

Note: Most jugglers do this pattern by throwing synchronous doubles, handacross, pass (not synchronous doubles, hand-across, self, pass).  When making a clear diagram, you can see that theoretically that triples should be thrown, but by taking some liberties in throw height, it still works with doubles.


A kickup is the action of picking up and "throwing" (in a self or a pass) a club with one's foot.  A circle with an F (for Foot) suffices for this type of diagram.  In this case, you create a new line since you add another club to the pattern.

Thus you can play with the diagrams, doing what you want with them.  Feel free to take some initiative!

More jugglers

Adding jugglers is simple, both for the diagrams and for siteswaps.  In the diagrams, all you have to do is add a line for each new juggler.

For siteswap, you add a sequence of numbers for each juggler (still using a '|' (pipe) to separate each juggler).  On the other hand, you must identify which juggler should receive which passes, so we write 3p1 to note a pass thrown to juggler number 1 (The jugglers need to be numbered first).

Classic feed

<3 3 3p2 3 | 3p3 3 3p1 3| 3p2 3 3 3>

Line with a turn

<3p2 3 5p3 2 2 3 ...| 3p3 3 3 4p1 2 3 ...| 3p1 3 3 3 3p2 3 ...>