Classroom and meeting groups
Paste a list, shuffle it at random, and split it by group count or by people per group.
Guide
Random Tools handles three jobs on one page: random integers, random grouping and a list draw. All three modes share a random module driven by crypto.getRandomValues(), using rejection sampling to produce integers without modulo bias, and grouping uses Fisher–Yates over the same source. It does not use Math.random(), which makes it suitable for everyday draws and groupings that need more dependable randomness than an ordinary interface animation.
Updated 2026-09-102 min read
| Input | Output | Notes |
|---|---|---|
| 1–100, 6 numbers, no repeats | Six different integers | Can be sorted ascending or descending |
| 12 people, 3 groups | Three shuffled groups | Assigned in turn to keep the sizes as even as possible |
| A draw with winners removed | A winner log, one entry per round | Duplicate names are removed one occurrence at a time |
Paste a list, shuffle it at random, and split it by group count or by people per group.
Switch on “remove winners from the list” to stop one entry winning twice, and keep the winning order for this page session.
The implementation applies rejection sampling to the 32-bit values from crypto.getRandomValues() before taking the modulo, which avoids bias when the range does not divide evenly.
No. The winner log is not written to local storage, so refreshing the page loses it.
The list, the random parameters and the results are all handled inside the browser; nothing is uploaded to a server and the draw log is not persisted.
Updated 2026-09-10
Random numbers, random groups and prize draws in one, backed by a cryptographically secure source
Uses a cryptographically secure random source, so results cannot be predicted