Random
Uses a seeded Fisher–Yates shuffle and satisfies hard rules. The same roster, options, history, and seed reproduce the same result.
Free · no sign-up
Create random teams, balance skills and roles, or improve fairness across repeated rounds—all in one private workspace.
Allocation preview
Generate once, then drag, swap, lock, compare, save, export, or add the result to fairness history.
Team board
Replay checksum:
Scores compare this result with the objectives selected for the current mode. They do not prove absolute fairness or a global optimum.
History view
Rotation schedule
Three different jobs
Choose the objective that matches the decision you are making. The generator never labels a random result “balanced” just because the team sizes are equal.
Uses a seeded Fisher–Yates shuffle and satisfies hard rules. The same roster, options, history, and seed reproduce the same result.
Evaluates many valid candidates, then improves skill totals, averages, role coverage, custom categories, and spread rules.
Adds saved teammate pairs, captain counts, participation, rests, responsibilities, and team-strength exposure to the objective.
Reusable presets
Balance ability or grade, mark absences, keep support pairs together, separate recurring conflicts, and present groups clearly.
Balance skill and positions, spread goalkeepers, choose captains, rotate rests, and assign courts or stations.
Distribute departments, seniority, roles, languages, or custom experience fields across cross-functional groups.
Rotate tables, rooms, activities, or networking partners while reducing repeat teammate and opponent combinations.
Transparent method
Compares team skill totals and averages with the ideal for each team size. Missing skills use the roster mean as a neutral estimate and are disclosed in the explanation.
Measures how evenly selected roles, positions, departments, grades, categories, and custom spread rules are distributed.
Combines teammate coverage, pair repetition, captain counts, participation, rests, responsibility counts, and repeated strong/weak team exposure.
The bounded optimizer searches for a strong valid result; it does not promise the only solution, a global mathematical optimum, or perfect social fairness.