Skip to content

Random name picker and list shuffler

Paste any list and draw winners at random with no repeats, add weights, or shuffle the whole list — using cryptographic randomness, on your device.

  • Runs in your browser
  • Nothing you enter is sent
  • Free, no account
Your list
One entry per line. Paste from a spreadsheet, a chat thread or a sign-up sheet.

8 entries ready.

What do you want to do?

Winners are always distinct — nobody is drawn twice.

Case-insensitive. Turn it off to let repeat entries improve someone's odds.

Write Name | 3 to give that line three times the chance.

Draws use crypto.getRandomValues, the browser's cryptographic random source, with a Fisher–Yates shuffle. No seed, no clock, no server — and because the list never leaves your device, nobody can see the entrants but you.

Winners
Paste your list above, then press Pick to draw the winners.

How to pick a random winner

  1. Paste your list into the box, one entry per line. Blank lines are ignored, and duplicate lines are removed unless you turn that off.
  2. Choose how many winners you want. They are always distinct — nobody is drawn twice.
  3. Press Pick. Winners are revealed one at a time, and the full result can be copied as a numbered list.
  4. Switch to Shuffle instead if you want the entire list in a random order — useful for running order, seating, review rotas or randomised task assignment.

Weighted draws

Turn on weights and add a number after a vertical bar to change someone's odds:

Alice | 3
Bob | 1
Charlie | 2

Alice has three chances in six, Charlie two and Bob one. The odds table lists everyone's exact probability of being drawn first. Weights are useful for raffle tickets bought in different quantities, entries earned by activity, or a rota where somebody is due a heavier share.

When several winners are drawn with weights, each pick removes that entrant from the pool and the remaining probabilities are recalculated — the standard weighted sampling-without-replacement procedure.

How the randomness works

Two things make a draw trustworthy: the source of randomness and the algorithm that uses it.

The source here is crypto.getRandomValues, the browser's cryptographically secure generator, with rejection sampling so that every index is exactly equally likely — no modulo bias.

The algorithm is a Fisher–Yates shuffle, which walks the list from the end and swaps each item with a uniformly chosen earlier one. It produces every possible ordering with equal probability in linear time. The popular alternative — array.sort(() => Math.random() - 0.5) — is measurably biased, because comparison sorts assume a consistent ordering and a random comparator gives them nothing of the kind. Some orderings come up several times more often than others.

Running a giveaway people will accept

  • Freeze the entry list first. Export it, note how many entries there are, and do not edit it after the deadline.
  • Decide the rules before you draw — how many winners, what happens if someone does not respond, whether duplicate entries are allowed.
  • Draw substitutes at the same time. Pick five winners when you need three, and publish the order.
  • Record it. A screen recording of the draw with the entry count visible is the practical substitute for an auditor.
  • Be honest about what this tool can and cannot prove. Because everything runs privately in your browser, there is no third-party log — that is excellent for privacy and useless as an audit trail. For a legally regulated prize draw you may need a verifiable service instead.

Odds at a glance

Entries 1 winner 3 winners 10 winners
1010%30%100%
502%6%20%
1001%3%10%
5000.2%0.6%2%
1,0000.1%0.3%1%
10,0000.01%0.03%0.1%

With equal weights and a draw without replacement, each entrant's chance of appearing among the winners is simply winners ÷ entries.

Other things this is good for

  • Picking who presents first, or the order of a stand-up
  • Assigning secret-santa style pairings by shuffling twice
  • Choosing a random sample of records for a spot check
  • Splitting a class into randomised groups — shuffle, then deal off the top
  • Settling a decision when a coin has too few sides

Privacy

Entrant names, emails or handles never leave this browser tab. There is no upload, no account and no logging, which is exactly what you want when the list is customer data or colleagues' names.

Questions

Can I pick more than one winner?

Yes. Set how many winners you want and they are drawn without replacement, so nobody is picked twice. If you ask for more winners than there are entries, everyone wins and the tool says so.

How do weights work?

Switch weights on and write "Name | 3" to give that line three times the chance of any line weighted 1. The odds table lists every entrant's exact probability of being drawn first.

Is this fair enough for a giveaway?

The draw uses crypto.getRandomValues with a Fisher–Yates shuffle, which is the standard unbiased algorithm — far better than sorting by Math.random. There is no seed and no server, so nothing can be rigged after the fact, though that also means there is no shareable audit trail.

Does my list get uploaded?

No. Everything, including the entrant names, stays in your browser tab. Nothing is transmitted, stored or logged, which matters when the list is customer emails or employee names.