FROM A NAME LIST TO READY TEAMS

Random Team Generator

Split a class, game group or workshop into evenly sized teams. Keep marked leaders apart, optionally balance your own skill scores and swap participants before sharing.

Even team sizesOptional leader placementCopy, TXT, CSV & JSON

Participants

Optional name | score uses whole skill scores 1–5 (default 3). Prefix * to mark a leader. Distinguish duplicate names, for example Chris A / Chris B. Up to 500 people.

Sizes differ by at most one person. Leaders go to separate teams. Score balance uses a randomized greedy approximation, not a guaranteed optimal result.

Enter a list, then generate your teams.

See teams ↓

Your teams

Teams appear here after you generate them.

Fine-tune the teams

Click two participant buttons to swap their places. Marked leaders stay on their team. Manual edits may change score balance.

Back to participant list ↑

Names, scores and teams stay in this page’s memory. No roster upload or saved participant history is used. Refreshing clears the result. Website ads and analytics follow our privacy information.

Using Random Team Generator

Turn a participant list into ready teams for a class, game or workshop. Review names, leaders and optional skill totals before sharing.

  1. Enter one participant per line. Optional name | score accepts 1–5; prefix * to mark a leader. Give duplicate names a distinguishing tag.
  2. Choose random or skill-score balance, and number of teams or maximum people per team. Generate and review the even team sizes.
  3. Rename teams, swap two unmarked participants or undo a swap. Copy the roster or download TXT, CSV or JSON.

Example

Try class example for twelve participants in three teams, with two marked leaders kept apart.
For a group of eleven with maximum four people per team, three teams have sizes 4,4 and 3.

Questions & answers

How are team sizes chosen?

For a chosen team count, sizes differ by at most one person. For maximum people per team, the team count is rounded up, then people are distributed evenly without exceeding that maximum. There must be2–50 nonempty teams.

How is randomness generated?

The existing password helper supplies browser cryptographic random values with rejection sampling. Fisher–Yates shuffles and randomized tie choices use that helper, with no Math.random fallback. This is not an independently audited contest draw.

How are leaders placed?

Prefix a name with *. Marked leaders are shuffled into distinct teams before other participants. No more leaders than teams are allowed. Their stars are labels, not extra participants.

Does score balancing guarantee the best teams?

No. Participants are shuffled, then unmarked people are assigned in descending entered score to eligible teams with the lowest current score totals, using randomized ties and fixed capacities. Leader placement constrains the result. It is a greedy approximation using your own1–5 scores.

Can I change the result?

Rename teams or click two participant buttons to swap. Up to 20 swaps can be undone. Marked leaders cannot be moved across teams by a swap; team sizes remain unchanged. Manual swaps can change score balance.

What about duplicate names?

Names are compared after Unicode normalization and case folding. Duplicates are rejected so one person is not accidentally entered twice. Use tags such as Chris A and Chris B for different people sharing a name.

Are names saved or uploaded?

No processing upload or stored roster history is used. Names and results stay in page memory; closing/refreshing removes them. Downloaded files contain the roster. Website ads and analytics follow the privacy information.

Why can a CSV name have an apostrophe added?

The enabled CSV protection prefixes cells starting with formula-trigger characters, reducing spreadsheet formula execution risk. It changes only that CSV representation. TXT/JSON retain original names; turn it off only if appropriate for your destination.

What limits apply?

2–500 participants,40,000 input characters,100 characters per name,2–50 teams or maximum people per team. Scores must be whole 1–5 values. Empty lines are ignored; pipes and a leading star are reserved input syntax.

Help improve this tool

Report a problem or suggest an improvement

Describe the issue without pasting private tool input. Feedback goes to our admin inbox.

Find another tool · Read practical guides