Cadmeo

Classroom Group Generator

One per line, or comma-separated.

Groups (0 people)

:

The classroom group generator splits a list of names into random groups, either a fixed number of groups or groups of a fixed size. Names are shuffled with a Fisher-Yates shuffle before dealing, so every possible arrangement is equally likely, which matters when students are watching for favouritism.

How it works

  1. Names are read one per line, or comma-separated, with blanks ignored.
  2. The full list is shuffled using Fisher-Yates, which produces every ordering with equal probability.
  3. Names are then dealt round-robin into the groups, so sizes differ by at most one.
  4. Choosing "people per group" divides the total by that size and rounds up to get the group count.

Dealing round-robin rather than cutting the shuffled list into blocks is what keeps groups even. Cutting a list of 10 into groups of 4 gives 4, 4, 2; dealing gives 4, 3, 3.

Examples

Ten students into three groups

Names

10 names

Split by

Number of groups

Value

3

Result

Group 1 (4), Group 2 (3), Group 3 (3)

Ten does not divide by three, so round-robin dealing gives one group of four and two of three rather than 4, 4, 2.

Ten students in groups of four

Names

10 names

Split by

People per group

Value

4

Result

Group 1 (4), Group 2 (3), Group 3 (3)

Ten divided by four rounds up to three groups, which are then evened out. Asking for groups of four does not guarantee every group has four, it sets the maximum.

Frequently asked questions

Why do groups of four sometimes contain three people?

Because the group size sets a maximum, not a guarantee. Ten people in groups of four needs three groups, and the tool evens those out to 4, 3, 3 rather than leaving one group of two. An even split is almost always better for group work than a full group and a stranded pair.

Is the shuffle actually random?

Yes. It uses Fisher-Yates with the browser cryptographic random source, so every arrangement is equally likely. The naive shuffle that sorts by a random comparator is subtly biased and produces some orderings far more often, which is visible over a term of weekly groupings.

Can I stop two particular students being grouped together?

No, the split is unconstrained. For that, run the tool and adjust by hand, or split the class in two and run it on each half. Constraint solving is a different problem from random grouping.

Is the class list stored anywhere?

No. Names stay in the page and are lost when you close it. Nothing is uploaded, which is the relevant point when the list is a class of children.