Random Group Generator

Split a list of names into random groups online. Enter names by hand, paste a whole roster, or import an Excel/CSV file, then divide by number of groups or by group size and copy or export the result as CSV.

FreeOnline Tool
Loading…

How to Use

  1. Type one name per line, or paste an entire roster separated by line breaks, commas, full-width commas, ideographic commas, semicolons or tabs. The current head count is shown live below the box.
  2. Click "Import Excel / CSV" to upload an .xlsx, .xls or .csv file. Every non-empty cell across all worksheets is read as a name and appended to the list.
  3. "Remove duplicate names" is ticked by default and de-duplicates in order of first appearance before grouping. Untick it if genuinely different people share a name.
  4. Choose how to divide: by number of groups (N groups, sizes as even as possible, with the remainder handed out one extra person at a time starting from group 1) or by group size (M people per group, the last group may be short).
  5. Click "Start random grouping" to see the result cards. Not happy with them? Click "Shuffle again" for a fresh draw.
  6. Click "Copy result" to put the grouping text on the clipboard, or "Download CSV" to export a file that opens cleanly in Excel.
  7. New here? Click "Load sample data" to fill in 12 example names and run one grouping automatically.

Features

  • Three ways to build the roster: typing names one by one, pasting in bulk (line breaks, commas, full-width commas, ideographic commas, semicolons and tabs can be mixed), or importing an Excel/CSV file.
  • Two grouping modes: fix the number of groups, or fix how many people go in each group.
  • Uses the Fisher-Yates shuffle with randomness from the browser's cryptographic source (crypto.getRandomValues), so the draw is fair and unpredictable.
  • Optional automatic de-duplication and a live head count; spaces inside English names are never treated as separators.
  • Results are shown as cards with each group's members and size, and can be copied as text or downloaded as a CSV file with a BOM.
  • Runs entirely in your browser: the roster is never uploaded to a server.

Use Cases

Classroom group work
A teacher pastes in the class roster and draws groups of four for discussion or collaborative work, avoiding arguments over who picked whom.
Team-building squads
Divide participants into teams before an offsite or training day, and redraw on the spot with "Shuffle again" if needed.
HR training sessions
Import the sign-up spreadsheet, set the number of groups to match the available rooms, and export the result as CSV for records or printing.
Tournament and lottery draws
Basketball games, debates and internal contests all need impartial teams; enter the player list and let the shuffle decide.

FAQ

Is the grouping genuinely random?
The tool uses the classic Fisher-Yates shuffle, drawing random numbers from the browser's cryptographic source crypto.getRandomValues where available. Every click of "Start random grouping" or "Shuffle again" reshuffles the whole list, so the outcome is fair and unpredictable.
What happens when the head count does not divide evenly?
When dividing by number of groups, the remainder is handed out one extra person at a time starting from group 1, so 10 people in 3 groups become 4/3/3. When dividing by group size, every group is full except the last, so 10 people in groups of 4 become 4/4/2.
Which file formats can I import, and how are cells read?
.xlsx, .xls and .csv (UTF-8) are supported. Every non-empty cell across all worksheets is treated as a name, so keep the roster in its own column or sheet rather than mixing it with other data.
Will names with spaces, such as English full names, be split apart?
No. The list is only split on line breaks, commas, full-width commas, ideographic commas, semicolons and tabs, so "John Smith" stays intact as a single entry.