Random name picker
Paste your entrants, choose how many winners to draw, and let chance do the rest: a rolling drum animation, no-repeat draws, and a complete draw history.
How the drawing works
Your list is shuffled with the Fisher-Yates algorithm using the browser's cryptographic
random number generator (crypto.getRandomValues), so every entrant has exactly
the same chance of winning no matter where they sit on the list. Blank lines are skipped
automatically, which means you can paste a list straight from a spreadsheet or a text file
without cleaning it up first.
With or without repeats: what's the difference?
With "no repeats" turned on, anyone who wins is taken out of the hat, the right setup for a giveaway with multiple prizes (first, second, third place) or for assigning turns without duplicates. Turn it off and every draw starts again from the full list, so the same name can come up more than once: handy, for example, when picking who presents at the weekly team meeting. The history at the bottom keeps track of every draw in the session.
A draw must be verifiable, not just random
For a draw with a real prize, randomness is the easy part: the hard part is being able to show it was not rigged. Whoever did not win must be able to see how the result was reached, and «I did it with a program» is not enough.
Three practices hold up: publishing the list of entrants beforehand, running the draw in front of someone or recording it, and stating how many names are drawn and in what order. A draw announced afterwards, with a list only its organiser has seen, is indistinguishable from a rigged one even when it is honest.
Shuffling well is harder than it looks
The right way to shuffle a list is Fisher-Yates: you run from the last item to the first and swap each one with a randomly chosen item among those not yet fixed. It is the computing equivalent of drawing slips from a bag without putting them back.
The wrong method, and a very common one, is sorting the list with a random comparison. It seems to work and produces different lists every time, but not every arrangement comes out with the same probability: some are far more frequent than others, and in a draw that is an advantage handed to somebody unintentionally.
Duplicates change the odds
If the same name appears twice in the list, that person has double the chance. It happens nearly always when the list comes from an online form, where somebody signed up twice or wrote their name two different ways.
It pays to clean the list first: remove blank rows, duplicates and trailing spaces, which make «Mario Rossi » different from «Mario Rossi». If the duplicates are intentional (several tickets each), keeping them is correct, but it has to be said: they are two different things and both need declaring.
Nearby tools
To strip duplicates from the list before the draw there is Remove duplicate lines. If you need numbers rather than names, look at Random number generator, and for tournament groups Group stage generator.