Random Picker & Decision Maker

Pick names, numbers or options fairly, using real cryptographic randomness, not a shuffled guess.

In short

A fair random pick needs a uniform distribution. This uses the browser's cryptographic random generator with rejection sampling, which avoids the slight bias that simple modulo arithmetic introduces.

Result

Add some entries and press Pick.

Last reviewed

Runs entirely in your browser. Nothing you type here is uploaded, stored or logged.

What "random" means here

Most web tools reach for Math.random(), which is fast but not cryptographically secure and, more importantly, is usually combined with modulo arithmetic that quietly favours some outcomes over others.

This tool uses crypto.getRandomValues() with rejection sampling: it discards values that would fall in the uneven tail of the range and draws again. The result is a genuinely uniform distribution. Every entry has exactly the same chance, not approximately the same chance.

For picking who does the washing up, this is overkill. For a prize draw with fifty entrants, it's the difference between fair and nearly fair.

Drawing without repeats

For raffles and prize draws you almost always want each entry drawn at most once. Leave "allow repeats" off and entries are removed from the pool as they're selected.

Turn it on when repetition is the point, simulating dice rolls, coin flips, or picking a random item each time from a fixed menu.

How the team split works

The list is shuffled using the Fisher-Yates algorithm, which produces every possible ordering with equal probability, then dealt round-robin into teams.

Dealing round-robin rather than cutting the shuffled list into blocks matters when the count doesn't divide evenly: it guarantees teams differ in size by at most one, instead of leaving one team short by several.

Useful in practice for

  • Classrooms: cold-calling without unconscious favouritism, or forming project groups without the usual social sorting.
  • Prize draws and giveaways: paste the entrant list, draw the winners.
  • Sports and games: balanced sides, playing order, who kicks off.
  • Decisions: where to eat, who presents first, which task to start with.
  • Sampling: pulling a random subset for a spot-check or review.
  • Chores and rotas: a defensible way to assign the unpopular ones.

When a random choice is the wrong tool

Randomness is fair in the sense that it's unbiased, which is not the same as being appropriate. It ignores merit, need, effort and circumstance entirely.

It's the right tool when there's no principled way to choose, genuinely interchangeable options, or where the appearance of impartiality matters more than optimising the outcome. It's the wrong tool when a reason for the decision exists and you're using a shuffle to avoid making it.

A note on verifiability

Everything happens in your browser and nothing is logged, which is good for privacy and bad for proof. There's no receipt, no timestamp, no independent record.

For an informal draw that's fine. For anything with real prizes, promotional-draw rules in many jurisdictions require demonstrable fairness, at minimum screen-record the draw, and check what your local regulations actually demand.

Frequently asked questions

Is this actually random?

Yes. It uses crypto.getRandomValues(), your browser's cryptographically secure random source, with rejection sampling so every entry is equally likely. The common shortcut of Math.random() * n introduces a small but real bias; this does not.

Can I draw multiple winners without repeats?

Yes. Set the number to draw above one and leave "allow repeats" unticked. Entries are removed as they are picked, which is what you want for raffles and prize draws. Tick it if you are simulating dice or coin flips, where repeats are expected.

How does team splitting work?

The full list is shuffled with a Fisher-Yates shuffle, then dealt out round-robin into the number of teams you choose. That gives teams within one member of each other in size, and every arrangement is equally likely.

Is the result recorded anywhere?

No. Names and results stay in your browser and are never transmitted. That also means the result is not independently verifiable, for anything with real money or legal weight, use a service that provides an audit trail.

Can I use this for a giveaway?

For an informal one, yes. For anything with prizes of real value, promotional-draw regulations in many countries require demonstrable fairness and record-keeping. Screen-record the draw at minimum, and check local rules.