Preparing your generator page
We are loading content and tools so everything is ready to use.
We are loading content and tools so everything is ready to use.
Split participants into fair random teams in seconds. Paste names one per line, choose Set number of teams or Set members per team, review the live participant count, generate shuffled balanced rosters, then copy formatted team lists for classes, sports, and events.
Also try Spin the Wheel, Sports Team Name Generator, and more in Randomizer tools.
Last updated: May 24, 2026 · Published: 2026-04-07 · Updated: 2026-05-24
Total participants: 8
Enter participants and generate teams.
Add participants and click generate
A random team generator (participant splitter) shuffles a list of names and assigns members to balanced groups so teachers, coaches, and facilitators can skip drawing names from a hat. It is designed for group assignments and activities—not as a roster database, skill matcher, or league administration tool.
This Muxgen tool runs in your browser: paste into the Participants textarea (default 8 sample names), pick a Split mode, set Number of teams or Members per team, generate via generateTeams with shuffleArray and round-robin distribution, and copy with formatTeamCopyList. No account and no server upload for your participant list.
Default settings use Set number of teams with 2 teams—2 teams × 4 members for 8 participants. Switch to members-per-team mode when fixed group sizes matter more than a fixed team count.
Three simple steps from name list to copy-ready team rosters.
Enter one name per line in the Participants textarea—default sample lists 8 names. Watch Total participants update via parseParticipants.
Pick Set number of teams or Set members per team. Set Number of teams (2–20, default 2) or Members per team (1–100, default 4).
Click Generate teams, review emerald team cards on the right, then Copy to clipboard for announcements, chat, or worksheets.
Every control in the random team generator component.
Multiline input id participants—default 8 lines from DEFAULT_PARTICIPANTS_TEXT. parseParticipants trims and filters blanks on every keystroke.
Live participants.length display below the textarea. Must reach 2 before Generate teams enables.
2 toggle buttons from SPLIT_MODE_OPTIONS—default Set number of teams. Switches between team-count and members-per-team inputs.
Visible when split mode is team-count. Range 2–20, default 2. Clamped on change; resolveTeamCount caps at participant count.
Visible when split mode is members-per-team. Range 1–100, default 4. Drives Math.ceil(participants ÷ size) team count.
Polite region reporting split mode updates and post-generate status from generateTeams—team count, participant count, and per-team size summary.
Primary full-width button—disabled when participants.length < 2. Runs shuffleArray + round-robin via generateTeams.
Ghost button on the result panel—exports formatTeamCopyList output when teams exist; Copied! feedback for two seconds.
How each Split mode fieldset option drives resolveTeamCount in random-team-generator-data.ts.
| Split mode | Value | Behavior |
|---|---|---|
| Set number of teams | team-count | You set Number of teams (2–20); resolveTeamCount caps at participant count. Default 2 teams. |
| Set members per team | members-per-team | You set Members per team (1–100); team count becomes Math.ceil(participants ÷ size). Default 4 members per team. |
Illustrative outcomes from describeBalance—deterministic math before shuffle; round-robin keeps sizes within these ranges.
| Participants | Teams requested | Expected balance |
|---|---|---|
| 8 | 2 | 2 teams × 4 members |
| 8 | 3 | 2 team(s) of 3, 1 of 2 |
| 8 | 4 | 4 teams × 2 members |
| 10 | 3 | 1 team(s) of 4, 2 of 3 |
| 12 | 4 | 4 teams × 3 members |
| 8 | 2 | Default sample (2 teams) |
Sample formatTeamCopyList export from sampleTeamsOutput with default settings—2 teams, 8 participants.
Exact text Copy to clipboard produces for the default sample roster.
Team 1 - Jordan - Avery - Alex - Taylor Team 2 - Morgan - Riley - Casey - Drew
4 members
4 members
How Set number of teams and Set members per team interact with shuffleArray and round-robin assignment.
Best when you know you need exactly 2–20 squads—debate sides, double-elimination brackets, or red vs blue. Default 2 teams for 8 participants yields 2 teams × 4 members.
Best when station capacity fixes group size—labs with 4-person tables, basketball half-courts, or escape-room rooms. 8 participants at 4 per team → 2 teams.
Both modes use the same shuffleArray + i % totalTeams assignment—only resolveTeamCount differs. Sizes stay within one member when counts do not divide evenly.
With 2 participants and team-count set to 20, resolveTeamCount returns 2 teams of one—empty teams are never created.
Members per team accepts up to 100; team-count mode accepts up to 20 teams. Paste long lists for camps, conferences, or league drafts.
Click Generate teams again for a new shuffle—same settings, different assignments. Useful when participants dispute the first split.
Where copied team lists land and which Muxgen pages complement this one.
Paste formatTeamCopyList output into assignment instructions or projector notes for instant group labels.
Drop generated rosters into lesson plans, workshop agendas, or tournament brackets.
Copy team blocks into channels for game nights, study groups, or remote breakout coordination.
Print copied lists for PE roll call, lab station assignments, or camp cabin sheets.
Spin the Wheel visualizes custom segments one pick at a time—this participant splitter batch-assigns entire rosters faster.
Sports Team Name Generator labels squads—this tool assigns who is on each team from your name list.
Built for classroom, sports, and event workflows—fast splits and copy-ready output.
Team cards appear immediately after Generate teams—no accounts, queues, or server round-trips.
Set number of teams and Set members per team—switch without leaving the page.
Fisher–Yates shuffle then even distribution keeps team sizes balanced within one member.
2–20 teams or 1–100 members per team—clamped inputs prevent invalid values.
formatTeamCopyList produces Team N headers with bullet members—one click to clipboard.
Total participants updates as you edit—know when you meet 2 before clicking generate.
Random team splits support education, sports, and group activities.
Teachers paste class rosters and split into project teams without repeating the same groups every week.
Coaches balance players for scrimmages, relay races, and pickup games in seconds.
Facilitators assign attendees to discussion tables with transparent shuffle logic.
Hosts randomize teams for board games, trivia, and bracket play before the first round.
Mix departments into cross-functional squads for icebreakers and hackathon pods.
Organizers rotate fair groups across multi-station schedules and color wars.
When teachers and organizers search for team split tools throughout the year.
Paste homeroom lists on day one—use members-per-team mode when lab tables seat four.
Split large tryout pools into scrimmage squads before coaches assign positions.
Random teams for trivia, white elephant teams, or family relay races at gatherings.
Gym classes and run clubs form accountability pods with fresh shuffles each week.
Assign judges or student presenter groups with team-count mode for parallel sessions.
Re-shuffle cabins or activity groups mid-session so campers meet new peers.
Terms tied to split modes, shuffle logic, and copy export.
team-count | members-per-team — selects which numeric input drives resolveTeamCount.
Splits textarea on newlines, trims each line, filters empty strings—returns string[].
In-place Fisher–Yates shuffle on a clone—Math.random() swap per index before round-robin.
Returns team bucket count from split mode, inputs, and participant length—capped at participant count in team-count mode.
Orchestrates shuffle, bucket creation, round-robin push, and status string with size range.
Clipboard export—Team headers plus hyphen bullets, e.g. first block of sampleCopyPreview.
A generator can start the round; your activity plan carries it forward.
Remove blank lines and duplicate names before generating—parseParticipants does not dedupe.
Use team-count when bracket slots are fixed; use members-per-team when table or court size is fixed.
Confirm the live count meets 2 and matches your expected roster size.
Paste into your doc or chat right after generating so results are not lost on refresh.
A second shuffle with the same settings builds trust—transparency beats arguing over manual picks.
Save formatTeamCopyList output when running multiple rounds so participants can verify fairness.
Habits that pair with Generate teams and Copy to clipboard.
8 default names (Alex, Jordan, Taylor, …) demonstrate 2-team output before you paste your roster.
Eight participants into three teams → 2 team(s) of 3, 1 of 2. Scroll the team balance reference table for more examples.
When each station needs 4 people, members-per-team mode avoids mental division.
Assign one icebreaker prompt per generated team for workshop kickoffs.
Run Sports Team Name Generator once rosters exist—split first, brand second.
Read the aria-live status aloud so groups see team sizes and total counts match expectations.
2 split modes, 2–20 teams, 1–100 members per team, min 2 participants, shuffleArray round-robin, formatTeamCopyList copy, disabled Generate button, privacy, and defaults.
Explore more tools in the directory.
Customizable spinning wheel for captains, challenges, and classroom rounds after teams form.
Assign round numbers, court order, or seed values to generated teams.
Icebreaker prompts for each team after the participant splitter assigns groups.
Pick an activity once balanced teams are ready for PE or game night.
Name each generated squad for tournaments, scrimmages, and spirit weeks.
Assign discussion topics per team in classroom breakout sessions.