Randomly divide any number of participants into teams. Fair, instant, private.
Splitting 12 people into 3 groups of 4 can be done in 15,400 different ways (the multinomial coefficient 12! / (4!)^3). A fair random assignment means every one of those 15,400 groupings is equally likely. The dice83 group generator achieves this by running a Fisher-Yates shuffle on the participant list, then distributing the shuffled sequence round-robin across groups. Ronald Fisher and Frank Yates published this algorithm in 1938, and it remains the gold standard for unbiased permutation generation.
When a teacher asks students to "form groups," the result is almost never random. Friends cluster together. Confident students pick first. Quiet students end up in leftover groups. Even well-intentioned manual shuffling introduces subtle patterns: the teacher unconsciously separates known conflicts or groups students by where they sit. True random assignment eliminates every form of bias, conscious and unconscious. Each student has exactly the same probability of being in any group.
When 20 participants divide into 3 groups, two groups receive 7 members and one receives 6. The generator distributes the remainder fairly: extra members go to the first groups in the shuffled order, so the "larger group" designation itself is random. No group is systematically larger or smaller across repeated shuffles. This graceful handling of remainders works for any combination of participants and groups.
Project this tool on screen to make group formation transparent and engaging. Students watch the numbers deal into groups in real time. The animation creates a moment of shared anticipation. After the shuffle, each student finds their number and joins their assigned group. For repeated activities, bookmark configurations you use often:
Assign each student a number at the start of the term (or use their class list position). That number stays consistent across every shuffle. The tool uses numbers so no student names ever enter any system. Zero privacy risk, zero data collection.
The shuffle runs entirely in your browser using crypto.getRandomValues(). The server delivers this page and finishes. Group assignments are computed locally and exist only in your browser's memory. The "Copy All" text stays on your clipboard, never on any server. When you share the URL, you share the configuration (participant count and group count) with zero information about the actual assignment.
Send this link to a colleague. They get the same setup, their own random assignment.
Daily Inspiration
Jury-selected work from the A' Design Award, presented fresh each morning.