Randomizers built for teaching: pick students fairly, split a class into balanced teams, and set presentation orders. Student names are processed in your browser and are never uploaded or included in shareable links.
Your favourites
Recently used
Start from what you are trying to do
- Set up a lessonTeams, a seating plan, an order of presentations, and a fair way to pick who answers.4 steps, starting with Random Team Generator
- Random Team GeneratorSplit any list of names into random teams or groups.
- Random Student PickerPick a student, a pair or a small group at random from your class list.
- Classroom Seating Chart GeneratorArrange a class into a random seating grid of any size, with optional rules to keep particular students apart.
- Random Presentation Order GeneratorPut people, groups or talks into a random running order β every arrangement equally likely, so nobody can argue the sequence was chosen.
- Random Topic PickerDraw a topic, question or writing prompt at random from your own list, or start from ready-made sets for science topics, debate motions, writing prompts and revision questions.
- Random Letter GeneratorGenerate random letters from the whole alphabet, consonants only or vowels only, with or without repeats.
- Student Participation TrackerPick students without repeating anyone until the whole class has had a turn.
Frequently asked questions
Are student names sent to a server?
No β and this matters for classroom use. Names are processed entirely in your browser, never uploaded, and deliberately excluded from shareable links, so a URL you paste to a colleague cannot expose your class list.
How do I split a class into fair groups?
Paste the names into the Random Team Generator, choose the number of teams or the members per team, and generate. Names are shuffled with an unbiased algorithm and dealt out, so group sizes never differ by more than one.
Can I make sure the same student is not picked repeatedly?
Yes. Use "no repeats" when picking several students at once, so each is chosen at most once in that draw. For tracking participation across a whole lesson or term, that is what a participation tracker is designed for.
Can I keep specific students together or apart?
Not automatically β the split is fully random, which is part of what makes it defensible to students. If you need a particular arrangement, generate the groups and adjust manually, or run the generator on subgroups you have chosen.
Can I reuse the same groups next lesson?
Yes. Use seeded mode and note the seed; the same class list and seed reproduce the same groups exactly. That also demonstrates the split was not re-rolled until it looked convenient.
Do these tools work on a classroom display?
Yes. Results are shown in large type and announced as text, the layouts scale to projector and whiteboard sizes, and animated tools can be switched to a still presentation for students who find motion difficult.
Is there a limit on class size?
The team generator handles up to 2,000 names and the pickers up to 10,000, which is far beyond any single class. Very long lists stay fast because the algorithms are linear in the number of names.
Randomizers built for teaching
These tools handle the everyday classroom questions β who answers, who presents, which group β with two priorities that general-purpose random tools do not share: the result has to be visibly fair to students, and student names must never leave the teacher’s device.
Every draw on this page starts with crypto.getRandomValues, the cryptographically strong random source built into your browser. That is a CSPRNG seeded from operating-system entropy: unpredictable in practice, and the right choice when a result decides something that matters. It is deliberately not described as “true randomness”, which would require a physical entropy source such as atmospheric noise or radioactive decay. Tools that claim true randomness from a browser are overstating what the platform provides.
Why visible randomness changes the room
Teachers call on the same students more often than they intend to. It is a well-documented pattern and it is not deliberate: attention gravitates toward students who sit centrally, answer readily, or whose names come to mind fastest. A visible draw interrupts that, and the fact that students can see it is random changes how being picked feels β it stops being a judgement.
The same applies to group work. Student-chosen teams reliably reproduce existing friendship groups and leave the same people picked last. A random split avoids both outcomes.
One caveat worth planning for
Pure randomness has no memory. The same student can be drawn twice in a row across separate draws, which feels unfair to a class even though it is not. The practical fix is to draw several names at once with no repeats rather than drawing one at a time, so a single draw covers the lesson.
Equally: run the tool once and commit. Re-rolling until the teams look preferable reintroduces exactly the bias the tool was there to remove, and students notice quickly.
Privacy β the reason these are separate tools
Student names are personal data, and many schools have policies about where that data may be processed. These tools handle names entirely in the browser: nothing is uploaded, nothing is stored on a server, and names are deliberately excluded from shareable links, so a URL sent to a colleague cannot carry a class list with it.
If you need to keep a result β a seating plan, a set of groups β export or print it yourself. The page intentionally does not remember your class between visits.
Reusing a split
Seeded mode makes a draw reproducible. Note the seed alongside the class list and the same groups can be regenerated next lesson, which also demonstrates to students that the split was decided once rather than adjusted until it suited someone.
Keeping picks fair across a term
A random picker treats every draw independently, which is exactly right for a single question but can feel uneven across a lesson: one student may be called on twice before another is called at all. Two adjustments handle this without giving up randomness.
The first is to shuffle rather than repeatedly pick. Running the class list through the list randomizer once gives a random order in which everybody appears exactly once; working down that order guarantees full coverage before anyone repeats. The second is elimination mode in the name picker, which removes each student as they are drawn and produces the same effect one name at a time.
Student names stay in the browser
Class lists are personal information about children, so the tools on this hub are built so that names never leave the device. Everything is processed by JavaScript in the page: names are not sent to a server, are not written to a shareable link, and are not recorded in analytics, which register only that a tool was used. Closing or reloading the tab clears the list.
Two practical consequences follow. A list will not carry over between your classroom computer and your phone, because nothing is stored centrally to sync β paste it again on the other device. And if a colleague asks for the draw you ran, share the resulting order rather than a link, since the link carries the settings but never the names.