How it works : Random draw
Nearly every online draw uses the browser's ordinary random function, which is predictable. This one uses the system's cryptographic generator, with rejection, and it shows you the exact count of possible outcomes.
A list of pupils' names is personal data. Pasting it into a site that ships it off to a server just to shuffle it means handing a stranger the make-up of your class, for a job the browser can do on its own. Here the list is read inside your tab, it is never sent anywhere, and it disappears when you close the page.
The draw itself is not a detail. A browser's ordinary random function is built for speed, not fairness: its sequence is reproducible, and on some engines it was frankly biased for years. This tool uses only the system's cryptographic generator, the one that makes encryption keys, and it throws a draw away rather than bending it to fit the size of your list.
It also shows what the others hide: how many outcomes were possible, and therefore what chance each name had. On a list of twenty-eight names, an honest draw gives each of them exactly one chance in twenty-eight, and that can be checked by arithmetic rather than by watching an animation.
How it works
- Paste your list into the box above, one name per line. Empty lines are ignored.
- Start the tool. It reads the list, shows it back exactly as it understood it, and draws.
- Then choose what you want: one name, several names without replacement, the whole list shuffled, or groups. Every change runs a fresh draw.
Formats accepted
One name per line. Empty lines and stray spaces are stripped; duplicates are KEPT and reported, because two people can share a first name and quietly removing one would change your list without telling you.
Pasted text
One line per name. You can paste a whole column out of a spreadsheet: each cell arrives on its own line.
Its limits
There is no spinning wheel, and it is written here rather than promised elsewhere
An animated wheel is a graphical component this site's design system does not have, and we do not knock one together to look pretty. More to the point, a wheel does not make a draw any fairer: it makes it slower. What makes a draw fair is the generator behind it and the absence of bias, and both of those are on screen with their arithmetic. If a classroom display is what you are missing, say so: that is a fair request, not an obvious one.
40,000 characters of list, comfortably more than an entire school
Past that point the list we show back becomes unreadable long before the draw becomes slow. The limit therefore sits where the tool stops being useful, not where it stops working.
Duplicates are kept
Two pupils can both be called Camille. Silently dropping the second one would remove a person from the draw, which is the exact opposite of the job asked for. The tool counts duplicates and says so, and the call is yours.
Nothing is kept from one run to the next
The tool writes no list to your device and keeps no trace of one, so it cannot remember who already had their turn last week. That is an accepted limit, and it is the price of the promise: a stored list of pupils' names is a list that can leak.
A draw is not a fair rota
Real randomness can pick the same person twice in a row, and that is normal: it is in fact the signature of an untampered draw. If you want everyone to have exactly one turn, use the whole shuffled list rather than repeated draws: that is the mode built for it.
Questions about this tool
Is my list of names sent anywhere?
No, and it is the point that matters most here, because a list of pupils' first names is personal data. Open the inspector with the F12 key, go to the “Network” tab, clear the list, then paste your names and draw as often as you like: the request list stays empty. Cut your connection and do it again: the tool still draws.
Why make such a fuss about the random generator?
Because it is the only thing separating a draw from a performance of one, and almost nobody looks at it. A browser's ordinary generator produces a reproducible sequence from an internal state: it is built to be fast, not unpredictable, and its quality varied wildly between engines for years. The system's cryptographic generator is the one used to make encryption keys. For picking a name in front of a class the difference has no dramatic consequence; but when the right method costs three lines, using the wrong one has no excuse.
What is this rejection the page talks about?
A way of avoiding a silent bias. The system hands back numbers drawn from a fixed range, say zero to sixty-five thousand five hundred and thirty-five. If your list has twenty-eight names and you simply take the remainder of the division by twenty-eight, the first names on the list pick up one extra chance and the last ones lose it, because the range does not split into equal parts. The gap is tiny, but it is systematic and invisible. The fix is to throw away the draws that land in the incomplete part and try again: the result becomes exact.
Why can the same name come out twice in a row?
Because each draw ignores the ones before it, which is exactly what an honest draw does. A tool that refused to land on the last name drawn would no longer be fair: it would give that name a zero chance and every other name a larger one. If what you need is for everyone to take a turn, “Shuffle the whole list” does it in one go and skips nobody.
How are the groups built?
The whole list is shuffled first with the Fisher and Yates method, then dealt name by name into the groups, the way a deck of cards is dealt. That detail has a useful consequence: groups can never differ by more than one name, even when the number of names does not divide by the number of groups. Cutting the shuffled list into slices would give the same balance, but dealing reads more plainly in the code, and code that reads plainly is code you can check.
Can I use this for a draw that has real consequences?
For an informal draw, yes, without reservation: the method is sound and you can check it. For a draw that has to stand up against third parties, say allocating a property or a place, no, and not because of the randomness: because nothing here proves to anyone else what happened on your screen. A draw that has to stand up needs a witness, a minute or a notary, and no website can replace that, including one that swears otherwise.
Can I keep my list for next time?
Not inside the tool, and that is deliberate: we write no list of names to your device, so none can ever be found there. Keep your list where you already keep it, in a file or a spreadsheet, and paste it again. That is one extra gesture in exchange for a guarantee worth having.
Nearly every online draw uses the browser's ordinary random function, which is predictable. This one uses the system's cryptographic generator, with rejection, and it shows you the exact count of possible outcomes.
VerifyThe proof, step by stepThe network inspector check, explained one gesture at a time, with screenshots.
The cornerThe classroom cornerFor people who teach: a timer with its work cycles, a random draw that does not cheat, worksheets as PDF, and flashcards whose schedule stays inside your own file.