Siteswap Juggling Pattern Generator and Checker
Siteswap writes a juggling pattern as the heights of its throws: 3 is the basic three-ball cascade, 441 and 531 are three-ball tricks, 4 is the four-ball fountain. Not every string of numbers can be juggled. This checks a pattern by where its throws land and by simulating it with real balls, calls it jugglable only when they agree, says how many balls it needs, and makes new patterns for a chosen number of balls, length and highest throw, drawn as a timeline of throws.
What this generator does
Handles vanilla siteswap — one throw per beat, hands alternating. Synchronous and multiplex notation (brackets and parentheses) are not read.
How to use this tool
- Choose Check a pattern and type one, such as 441, or choose Make a pattern and set the balls, period and highest throw.
- Press the button. The verdict, the checks and a timeline of two cycles appear.
- Each arc on the timeline is one throw, from the beat it leaves to the beat it lands.
Understanding the controls
- What to do
- Check a pattern you type, or make new patterns that pass both checks.
- Pattern
- Throw heights in order, up to nine throws. Digits 0 to 9, then a for 10 up to f for 15.
- Balls, period and highest throw
- For made patterns: the number of balls, how many throws before it repeats, and the highest throw allowed. Repeats of a shorter pattern, like 3333, are skipped.
- Pattern code
- Leave empty for a new pattern from the browser's secure generator. With a code, the same code and settings make the same pattern again; the code is a seed, not a secret.
Worked examples
- Check 441
- Jugglable with 3 balls, repeating every 3 throws.
- Check 432
- Not jugglable: all three throws land on the same beat of the cycle; the simulation finds a beat with no ball to throw.
- Code harbour: 3 balls, period 3, up to 5
- 414. With 4 balls, period 4, up to 7: 4552.
Common use cases
- Checking a pattern from a video or a friend before trying it
- Finding new three-ball tricks to learn
- Teaching the arithmetic behind juggling
How this generator works
A throw of height t made on beat i lands on beat i + t. The landing check uses the standard rule: a pattern is jugglable exactly when, taken around the cycle, no two throws land on the same beat; the number of balls is then the average throw. The simulation does not use that rule: it juggles the pattern beat by beat with real balls for six cycles and stops at any beat where a hand must catch two balls at once, or throw with nothing in it, or hold a ball through a 0. The page calls a pattern jugglable only when the two methods agree; over all 4,680 patterns of up to four throws with heights up to 7 they agreed every time, and 540 were valid. New patterns are made by choosing where each throw lands as a shuffle of the beats, which gives a valid pattern by construction, then keeping those with the right number of balls and highest throw.
Randomness and fairness
Made patterns come from the browser's secure generator, or a seeded one when you give a code. A code repeats a pattern while the generator is unchanged. Codes are deterministic, not cryptographic.
For how randomness is produced across the whole site, see how Generate Random works.
Assumptions this tool makes
- Vanilla, asynchronous siteswap: one throw per beat, hands alternating.
- A 2 is a held ball and a 0 an empty hand, as in standard siteswap.
Limitations and good to know
- Vanilla siteswap only; synchronous (4,4) and multiplex [33] patterns are not read.
- Says whether a pattern can be juggled in principle, not how hard it is for a person; physical difficulty is not judged.
- Up to nine throws and heights up to 15.
Common mistakes
- Checking only the average
- 432 averages 3 but cannot be juggled: every throw lands on the same beat.
- Reading 10 as two throws
- Heights above 9 are letters: a is 10, b is 11.
Practical tips
- Learn 441 and 531 from the cascade: they keep three balls and mix in one higher throw.
- Odd throws cross to the other hand; even throws return to the same hand.
Privacy and your data
Patterns are checked and made in your browser. With analytics consent, a count records that a pattern was checked or made; the pattern itself and any code are never sent.
Related generators
- Random Rhythm GeneratorGenerate bars of rhythm to clap or play, in any time signature, with counting written underneath and every bar adding up exactly.
- Polyrhythm GeneratorTwo voices at different subdivisions, with the cycle length and the number of coinciding beats both computed from arithmetic.
- Euclidean Rhythm GeneratorHits spread as evenly as a cycle allows, using the algorithm that reproduces traditional rhythms from a dozen musical cultures.
- Practice Drill Rotation GeneratorBuild a training session where every squad works through every drill station once, with no two squads at the same drill at the same time.