Pair generator
This page explains how Fair Team Maker shuffles names, assigns teams, rerolls single squads, and what it does not optimize.
Shuffle once per generation
Generate teams and Reroll all run Fisher–Yates shuffle on the participant array using crypto.getRandomValues.
The shuffled order is then distributed round-robin into the requested number of teams, which may yield unequal sizes when headcount does not divide evenly.
Team count versus target size
Number of teams mode calls splitIntoTeamCount with your Teams value.
Team size mode calls splitByTeamSize to derive how many teams are needed for the Target team size, again allowing remainder players on some squads.
Reroll one team
rerollTeam keeps other teams fixed and draws replacement members from the full participant list excluding names already placed on other teams.
This is still random, not skill-aware.
Pair preview mini-tool
pairGenerator shuffles for partner rows in the preview only; it does not mutate stored team results or the textarea.
An odd leftover name may appear as a solo row in the pair list.
Shuffle and assignment
Names are shuffled with crypto-backed Fisher–Yates, then sliced into teams according to the selected count or size mode.
Reroll runs a new shuffle; prior teams are not partially preserved unless the operator manually edits the list.
Equity framing for facilitators
Random splits reduce bias but do not guarantee skill balance; coaches should still adjust for injuries or accessibility needs after the initial split.
Document who ran the generator if disputes arise; the tool does not sign or timestamp results.