Free · no sign-up

Random Team Generator

Create random teams, balance skills and roles, or improve fairness across repeated rounds—all in one private workspace.

Local by defaultNo roster upload to generate
1 · Roster

Paste names

0 people

One name per line. Add skills, roles, availability, and custom fields in Advanced setup.

Add at least two people to create teams.

2 · Setup

Choose how to split

Split by
Mode
Output Waiting for roster

Allocation preview

Your team board will appear here.

Generate once, then drag, swap, lock, compare, save, export, or add the result to fairness history.

0People RandomMode 2 teamsSplit

Three different jobs

Random is not the same as balanced or fair over time

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.

01

Random

Uses a seeded Fisher–Yates shuffle and satisfies hard rules. The same roster, options, history, and seed reproduce the same result.

02

Balanced

Evaluates many valid candidates, then improves skill totals, averages, role coverage, custom categories, and spread rules.

03

Fair Over Time

Adds saved teammate pairs, captain counts, participation, rests, responsibilities, and team-strength exposure to the objective.

Reusable presets

One roster workflow, different real-world rules

Classroom

Balance ability or grade, mark absences, keep support pairs together, separate recurring conflicts, and present groups clearly.

Sports

Balance skill and positions, spread goalkeepers, choose captains, rotate rests, and assign courts or stations.

Workshops

Distribute departments, seniority, roles, languages, or custom experience fields across cross-functional groups.

Events and camps

Rotate tables, rooms, activities, or networking partners while reducing repeat teammate and opponent combinations.

Transparent method

What the scores mean—and what they do not mean

Balance score

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.

Role coverage

Measures how evenly selected roles, positions, departments, grades, categories, and custom spread rules are distributed.

Historical fairness

Combines teammate coverage, pair repetition, captain counts, participation, rests, responsibility counts, and repeated strong/weak team exposure.

Limits

The bounded optimizer searches for a strong valid result; it does not promise the only solution, a global mathematical optimum, or perfect social fairness.

Optional power

Advanced setup

Roster attributes

Edit skill, roles, availability, captain eligibility, and custom fields.

Participant attributes used for balancing and constraints

Balance objectives

Balanced and Fair modes use the selected fields. Random mode displays these scores without selecting for them.

Rules

Use names and dropdowns—no expressions required.

0

Use Command/Ctrl or Shift to select two or more people.

Saved fairness history

No committed rounds yet.

Rotation mode

Generate multiple rounds

Availability is read from the Advanced roster table. Empty availability means all rounds; enter values such as 1; 2; 4.

CSV import

Map your columns

First imported rows

This browser

Saved projects

Checking browser storage…

Real files

Export result

Explicit public projection

Create an expiring share

Only the fields selected below will be uploaded. Notes and custom attributes are never included.

Before and after

Compare generations

Accessible move

Move participant

Roster change

Add participant

Algorithm and limits

How team generation works

Seeded random mode

The seed initializes a deterministic pseudo-random generator. A Fisher–Yates shuffle produces candidate orders. The same roster IDs, settings, constraints, saved history, and seed produce the same result and replay checksum. This is reproducibility, not a cryptographic lottery claim.

Hard rules first

Keep Together groups are merged into indivisible units. Keep Apart pairs, locked teams, capacities, and hard minimum-per-team rules are validated before scoring. Conflicts are shown instead of silently violating a rule.

Balanced mode

The generator builds multiple valid candidates, scores skill totals and averages, role/category coverage, team sizes, and spread rules, then performs bounded local swaps. It returns the best valid result found within the size-aware search budget.

Fair Over Time

Fair mode also penalizes historical teammate repeats and considers teammate coverage, captain counts, participation, rests, responsibility counts, and repeated placement on unusually strong or weak teams.

Score weights

Balanced defaults to 45% skill, 25% role/category coverage, 20% constraints/spread rules, and 10% team-size equality. Fair defaults to 25% skill, 15% role/category coverage, 15% constraints, 25% pair history, and 20% long-term participation/captain/strength fairness.

Limitations

Complex constrained grouping is combinatorial. This bounded optimizer is designed for practical rosters of up to 500 people, but it cannot guarantee a global optimum or that every feasible edge case will be found. Skill ratings and categories can also reflect organizer bias. Treat scores as transparent decision aids, not proof of perfect social fairness.

Effective July 25, 2026

Terms and Privacy Policy

Local processing

Names, skills, roles, notes, custom attributes, constraints, and history are processed in your browser for ordinary generation. Saved projects use this browser’s IndexedDB, with localStorage as a fallback. Clearing browser data can remove them, so export a project JSON backup when the roster matters.

Shares

No roster is uploaded unless you actively create a share. Before sharing, you choose full names, initials, or anonymous labels and whether to include scores, seed, skill, roles, or positions. Notes and custom attributes are excluded. Shares expire after the selected period and are marked not to be indexed, but anyone with a live link may view it. Do not share sensitive student, employee, medical, or protected information.

Anonymous product events

The site may record allowlisted events such as a generation, export type, selected mode, or coarse roster-size bucket. Event payloads do not include names, roster content, skill values, roles, custom attribute content, notes, or shared team text.

Security and exports

Imported text is rendered as text rather than executable HTML. CSV exports neutralize cells that could be interpreted as spreadsheet formulas. You remain responsible for reviewing downloaded files and recipients.

Use of results

Results are decision aids. The service does not guarantee randomness suitable for regulated drawings, a mathematically optimal allocation, equal outcomes, safety, eligibility, or discrimination-free decisions. Review constraints and manually adjust when human context requires it.

Availability

The service is provided as-is and may change or be unavailable. Keep independent backups of important projects. Do not use the service to violate law, policy, contractual obligations, or the rights of participants.

Clear local data

Use the footer action to delete projects, autosave, and preferences created by this site in the current browser.