Team Shuffler & Seat Assigner | Randomly Split a Name List
Paste a list of names and randomly split it into evenly-sized groups, or assign names to a seating grid (rows x columns). Useful for classroom groupings, seat changes, and party table assignments. Everything runs in your browser — the list is never sent anywhere.
The name list is processed entirely in your browser and is never sent to a server.
Results
Press "Shuffle" to see the results here.
How to use
- Paste your name list, one name per line.
- Choose a mode (group split or seat assignment) and set the group count, or rows and columns.
- Press "Shuffle" to see the result, then copy it.
How it works
Reading the name list
The pasted text is split by line breaks, and each line is treated as one entry. Leading and trailing whitespace is trimmed, and empty lines are ignored. Duplicate names are treated as separate entries rather than an error. Up to 500 names can be processed at once.
About the random source
Shuffling uses the Fisher-Yates algorithm, and all randomness comes from the Web Crypto API's crypto.getRandomValues(). Math.random() is not used because it is not guaranteed to be unpredictable, which matters for a fair draw.
Group split mode
After shuffling the list, it is divided into the requested number of groups with sizes as even as possible. When the count doesn't divide evenly, group sizes differ by at most one (for example, 11 people into 4 groups becomes three groups of 3 and one group of 2). The number of groups must be at least 1 and no greater than the number of names.
Seat assignment mode
After shuffling the list, names are placed into the requested rows x columns grid in row-major order (left to right on row 1, then row 2, and so on). If there are more seats than names, the extra seats are left empty. The total number of seats (rows x columns) must be at least the number of names and at most 400.
FAQ
Is my name list sent to a server?
No. Reading the list, shuffling, group splitting, and seat assignment all happen entirely in your browser — no data is sent anywhere.
Can group sizes be kept even?
Yes. In group split mode, even when the count doesn't divide evenly, the tool automatically keeps the size difference between groups to at most one person.
What happens if there are more seats than people?
The extra seats are shown as "Empty". If there are fewer seats than people, you'll get an error, so increase the number of rows or columns.
What happens if I press "Shuffle" again with the same list?
Each press draws fresh randomness and produces a different split or arrangement than before. There is no feature to save or pin a particular result.
How many people can be handled at once?
The name list supports up to 500 names, and seat assignment mode supports up to 400 seats (for example, 20 rows by 20 columns).
Related tools
- Amidakuji Generator (Ghost Leg Lottery) | Free Online ToolEnter participant names and outcomes (prizes, roles, tasks), and instantly generate a random amidakuji (Japanese "ghost leg" ladder lottery) that guarantees a fair one-to-one match for every participant. Great for picking who does what, party games, or drawing lots. Everything runs in your browser — nothing you type is sent anywhere.
- Anagram GeneratorRearranges the letters of the text you enter and lists the resulting anagram candidates. Works with Latin letters, digits, and non-Latin scripts alike. Everything runs in your browser, so the text you enter is never sent anywhere.
- Bingo Card Generator | Printable Number & Word Bingo CardsGenerate as many printable bingo cards as you need — classic number bingo (75-ball, 5x5, free center) or a custom word/theme bingo. Great for parties, office events, and classroom icebreakers. Everything runs in your browser; nothing is sent anywhere.
- Birthday CountdownEnter a birthday to see the days, hours, minutes, and seconds until the next birthday, plus the age you'll turn. The result is reflected in the URL, so you can share the link as-is. Everything runs in your browser, so the date you enter is never sent anywhere.
- All tools