Siteswap Simulator

Use the editor below to visualize any siteswap pattern.

What Siteswap Is (and Isn't)

Siteswap describes the timing layer of juggling: when each object will be thrown again, not the full visual shape of the trick.

Start with a single number

The siteswap simulator is already looping the simplest pattern there is: 3. Everything below is about turning the numbers you type there into a pattern you can read at a glance.

Siteswap writes the timing layer of a pattern. Each number says how many beats later the same object will be thrown again. A 5 does not mean “throw this ball to a certain height in centimetres.” It means the ball is busy for five beats, then comes back as the object you throw on that future beat.

The 3-ball cascade is just 3: every beat, one ball is thrown so that it becomes free again three beats later.

Try it in the simulator: turn on Ball numbers and keep your eyes on a single ball. You will watch it leave a hand, wait its turn, and drop back three beats later — every single time.

Hands take turns

Plain, vanilla siteswap assumes the hands alternate. If we start with the left hand, the beat grid looks like this:

Beat:  0 1 2 3 4 5 6 7 8
Hand:  L R L R L R L R L
Throw: 5 3 1 5 3 1 5 3 1

The starting hand is arbitrary — start on the right and the same pattern works, the labels simply swap.

Because the hands alternate, odd numbers land in the opposite hand and even numbers return to the same hand. A 3 crosses. A 4 comes back to the hand that threw it. A 5 crosses again.

Try it in the simulator: turn on Hand labels to see L and R on each throw, and watch the odd numbers cross while the even ones stay home.

Numbers you will meet first

Number Practical meaning
0 No object is thrown on that beat. The hand is empty.
1 A quick pass to the other hand, thrown again on the next beat.
2 Usually a hold: the object waits in the hand for a short interval. Some editors use a mark such as 2T when they want a visible tossed 2 instead of a hold.
3 Cascade timing: a normal crossing throw in a 3-ball rhythm.
4 Same-hand timing: the object returns to the hand that threw it.
5 A longer crossing throw. In 531, this is the high throw that gives the pattern its shape.

The useful habit is to read every number as a delay: “this object comes back in n beats.”

⏳
531 — all odd throws, so every single one crosses to the other hand.
⏳
642 — the same idea flipped: all even, so nothing ever crosses.

When a pattern is valid

Not every string of digits can actually be juggled. Two things have to line up, and you can check both on the beat grid — no algebra required.

The objects have to add up. The average of the numbers is how many objects the pattern uses: 531 gives (5 + 3 + 1) / 3 = 3, so it is a three-object pattern. If that average is not a whole number, the pattern is impossible — there is no such thing as half a ball, so 532 (which averages 3.33) can never be juggled.

The objects have to fit. To see where those three balls actually go, follow each throw to where it lands — every throw hops forward by its own value — and label the object it carries. A 5 thrown on beat 0 comes down on beat 5 and is thrown again there; a 1 on beat 2 lands on the very next beat. Keep tracing and only three labels are ever needed:

Beat:   0 1 2 3 4 5 6 7 8
Throw:  5 3 1 5 3 1 5 3 1
Ball A: A         A A
Ball B:   B     B     B
Ball C:     C C         C
Balls : A B C C B A A B C

Every beat is handed exactly one object, and the same three balls just keep circulating. That “exactly one per beat” is the whole test: if two throws ever landed on the same beat, one hand would have to catch two objects at once while another beat sat empty, and the pattern would jam. Count the distinct labels — three — and you are back to the average from a moment ago. Assigning the balls by hand is the average; the arithmetic only skips the drawing.

See what happens when a pattern only looks right. 321 averages to a clean (3 + 2 + 1) / 3 = 2, so it sails through the count test. But send each throw forward by its own value and every one of the first three — the 3, the 2 and the 1 — is aimed at the very same beat 3:

Beat:    0 1 2 3 4 5 6 7 8
Throw:   3 2 1 3 2 1 3 2 1
Catches: 0 0 0 3 0 0 3 0 0

A valid pattern hands exactly one object to every beat; here three pile onto beats 3, 6, 9… while the beats between them stay empty. One hand cannot catch and re-throw three objects at once, so 321 cannot be juggled as written — a whole-number average is necessary, but not sufficient. If you really do want to release several objects from one hand on the same beat, siteswap keeps a dedicated notation for exactly that: the multiplex brackets you will meet further down.

Try it in the simulator: type 531, read the balls off for yourself, then nudge one digit up or down and check whether the numbers still average to a whole count.

Numbers are delays, not heights

Jugglers often call siteswap numbers “heights,” because at one fixed tempo a bigger number needs more air time. But the notation itself is counting beats, not centimetres.

A useful comparison is sheet music. The siteswap is the score and the BPM is the tempo you play it at — just as a note’s length says how long it lasts while the tempo says how fast the bar goes by. Change the tempo and the notes are untouched; change the BPM and the pattern is untouched. 531 stays 531 whether you juggle it gently or flat out.

Here is that same idea in the balls themselves — one cascade, 3, at two tempos. The pattern is identical; only the metronome moves:

Compare two one-ball patterns at the same tempo. 1 throws on every beat; 300 throws once, then waits through two empty beats. In the same span of time, 1 reaches three throws while 300 reaches only one.

Now change only the tempo, so the throws reach a similar physical height. The timing story is still completely different:

You can make two throws look the same height. You cannot make them share the same schedule.

Try it in the simulator: change BPM in the settings or enable Required BPM and drag the tempo slider. The pattern stays exactly the same — only the height moves.

None of this means height stops mattering once you actually pick up the balls. Physically, air time and height are locked together: at a fixed tempo, a ball that must stay out for five beats simply has to be thrown higher than one that comes back in three. So once you settle on a tempo, the numbers do fix the relative heights — and hitting those ratios is often what makes a trick work at all. In 531 the 5 has to climb clearly above the 3 while the 1 barely skips across; blur those three heights together and the pattern stops reading as 531.

What the numbers leave out

Siteswap is not a full drawing of a trick. It usually does not tell you whether a throw goes inside or outside, whether your arms cross, whether a catch is clawed, or whether one ball sails over the top like tennis.

The cascade is 3 — but so are both of these. They look different only because their visual layer is different.

So siteswap answers one question extremely well — when does each object come back into the rhythm? — and leaves style, path, body position, and technique to you.

Beyond one throw per beat

Everything so far has assumed one throw per beat with the hands taking turns. Two common extensions bend that assumption, and the simulator understands both — so you can try them yourself.

Synchronous

Synchronous patterns throw both hands at the same time and are written as a pair in parentheses: (4,4) means both hands throw a 4 together. An x marks a synchronous throw that crosses to the other hand. Pattern (4,2x)(2x,4) is called a box: one hand throws a vertical 4 while the other sends a quick crossing 2x, then the sides switch.

Multiplex

Multiplex throws release more than one object from the same hand on the same beat, written inside square brackets. [34]0323 throws two balls together as 3 and 4. It is still timing notation — the brackets simply say that a single hand let go of a small bundle at once.

Try it in the simulator: type (4,2x)(2x,4) for the box, or [34]0323 for the multiplex throw, and watch the extra bracket and parenthesis syntax play out beat by beat.

Where to go next

This article intentionally skips the heavier mathematics. The fastest way to internalise the notation is to type your own numbers into the simulator and watch what holds together and what falls apart — that experiment teaches more than any table. For the full notation family, see the Wikipedia article on siteswap. For deeper extensions that can describe extra layers such as hand position, club spins, or custom timing, look up Ben Beever’s work on Generalised Siteswap and Siteswap: Ben’s Guide to Juggling Patterns.