WheelMigo

How to split a class into random groups with a name wheel

Dividing a class into groups by hand is slow and rarely feels even. A random group generator does it in seconds, and it comes out fair.

Quick answer

To split a class into fair random groups, paste your roster into the random group generator and pick one of two modes: a fixed number of groups, or a fixed number of students per group. It deals every name out with a cryptographic shuffle, so the groups come out even — sizes differ by at most one — and nobody is placed by hand. Everything runs in your browser; your class list is not uploaded.

Key points

  • Two modes: choose the number of groups, or the number of students per group.
  • Names are dealt out one at a time, so group sizes differ by at most one — no lopsided teams.
  • The shuffle uses the browser's cryptographic random source, so the split is genuinely fair, not first-come or alphabetical.
  • It groups the names on your list; to balance by ability or gender, arrange the roster first — the tool will not infer it.
  • It runs locally in your browser; the class list is never uploaded.

Splitting a class into groups by hand has two quiet problems: it is slow, and it is rarely as fair as it looks. Left to a teacher's on-the-spot choices, the same students end up together, the strong personalities cluster, and one group ends up a person short. A random group generator removes both problems at once — it deals every name out by chance and keeps the group sizes even.

Split a class in two clicks

Open the random group generator, paste your class list (one name per line, or import the list you already saved), choose how you want the groups sized, and generate. Every name is shuffled and dealt into the groups, and you can re-generate as many times as you like for a fresh mix. If you keep a saved roster, you can reuse it every lesson and just re-split.

Two ways to size the groups

The generator gives you two modes, and which one you want depends on how you phrased the task in your head. Choose “number of groups” when you want a fixed count — “make five teams” — and the tool spreads everyone across exactly five groups. Choose “students per group” when the group size is what matters — “groups of four” — and it makes as many groups of four as your class allows. Either way, when the class does not divide evenly, the leftover students are spread one each across the groups rather than piled into a last, oversized one.

Why the split is even, and actually random

Two design choices are doing the work. First, the tool deals names out round-robin — one to each group in turn — instead of slicing the list into chunks, which is why the group sizes never differ by more than one. Second, the order it deals in comes from the browser's cryptographic random source (the same one measured in our fairness test), not the order you typed the names or the alphabet. That combination is what makes the result both even and genuinely unbiased, rather than “random-looking” but quietly favouring whoever sits at the top of the list.

What it does — and what it does not

Be clear about the boundary so the groups do what you need. The generator groups the names on your list at random; it does not know anything about the students, so it will not balance groups by ability, gender, reading level, or who works well together. If you need that kind of balance, arrange or tag the roster yourself first — for example, split into two lists and generate within each. And for a task you repeat across lessons, just re-generate: a fresh shuffle each time keeps the same pairs from forming week after week.

From a class list to fair groups

The point of a group generator is not novelty — it is removing the two things that make hand-picked groups feel unfair: the teacher's unconscious pull toward familiar pairings, and the uneven sizes that come from eyeballing it. Paste the list, pick a mode, and the split is even, random, and done in seconds. For calling on individuals rather than grouping them, the same roster works with the classroom name picker.

How this works

The even split comes from dealing names round-robin across the groups, so sizes differ by at most one; the randomness comes from the browser's crypto.getRandomValues with rejection sampling to remove modulo bias — the same selection method measured over 7,000,000 draws in our fairness test. The tool applies it to your class list whatever its size, entirely in your browser.

Frequently asked questions

What is a classroom group generator?
It is a tool that splits a class list into random groups for you. You paste the names, choose how many groups or how many students per group, and it shuffles everyone and deals them out evenly — so you get fair groups without picking them by hand.
How do I make even groups?
The generator deals names out one at a time across the groups rather than slicing the list into blocks, so when the class does not divide evenly the extra students are spread one per group. That keeps every group within one person of the others automatically — you do not have to even them up yourself.
Can I choose the group size instead of the number of groups?
Yes. There are two modes: fix the number of groups (“make five teams”) or fix the number of students per group (“groups of four”). Pick whichever matches your task, and the tool works out the rest.
Is the grouping actually random?
Yes — the order names are dealt in comes from the browser's cryptographic random source, not the order you typed them or the alphabet, so no student is favoured by where they sit on the list. Our fairness test measured that same source over 7,000,000 draws and found it even to within a fraction of a percent.
Does it balance groups by ability or gender?
No. It groups the names at random and knows nothing about the students, so it will not balance by ability, gender, or anything else. If you need that, arrange the roster first — for instance, split into separate lists and generate within each — rather than expecting the tool to infer it.

References

  1. MDN — Crypto.getRandomValues()

← All articles