Skip to content
PICK

Random Picker

Pick N fair winners from a list with CSPRNG.

Fairly pick winners from a list with the browser CSPRNG (crypto.getRandomValues). Unique or with-replacement draws, optional dedupe.

Enter candidates and press Pick.

(Press Pick)

About Random Picker

A random picker draws fair winners from a candidate list—handy for giveaways, seating, chores, and sampling test data. toco.tools takes one candidate per line and a winner count. Unique mode (without replacement) uses a partial Fisher–Yates shuffle; with-replacement mode draws independently each time. Optional dedupe keeps the first occurrence of duplicate lines. Randomness comes from the browser CSPRNG (crypto.getRandomValues) with rejection sampling—not Math.random. Everything runs locally; nothing is sent to a server.

How to use

  1. Enter candidates one per line (or load the sample)
  2. Set winner count and unique / with-replacement
  3. Pick and copy the winners

FAQ

What randomness source do you use?

The browser CSPRNG via crypto.getRandomValues—not Math.random. Unique draws use a partial Fisher–Yates shuffle; index selection uses rejection sampling to avoid modulo bias.

Unique vs dedupe?

Unique means each pool entry can win at most once in a draw. Dedupe collapses identical lines into one candidate before drawing.

What are the limits?

Up to 10,000 candidates and 500 winners. In unique mode you cannot request more winners than candidates.

Is my list sent to a server?

No. Drawing runs entirely in your browser; nothing is sent to toco.tools servers.