About the Random Picker
A random picker is useful any time you need an unbiased choice: drawing a giveaway winner, picking a restaurant, selecting which team goes first, choosing the next song, or shuffling a queue of work items into a fair order.
This tool offers three modes. Random number returns an integer in a range you define. Pick from list selects one or more items from a line-separated list. Shuffle reorders an entire list using the Fisher–Yates algorithm — the same algorithm used by reliable card-shuffling code.
How it works
All three modes draw randomness from window.crypto.getRandomValues, which is the cryptographically strong PRNG in modern browsers. This avoids the bias you can get from Math.random() when sampling small lists or large numeric ranges.
The Fisher–Yates shuffle iterates from the last element backwards, swapping each element with a uniformly-chosen element earlier in (or equal to) its position. This produces every permutation with equal probability — important for fair draws and accurate sampling.
Privacy
Whatever you paste into the list stays in your browser tab. Nothing is logged, stored, or sent across the network.
Frequently asked questions
- Is this fair enough to run a real giveaway?
- Yes for casual use. The randomness source is the same CSPRNG that browsers use for security. For prize giveaways with regulatory requirements (sweepstakes, contests in some jurisdictions), publish your draw method and consider recording the screen to demonstrate fairness.
- Why not just use Math.random?
- Math.random in some browsers has limited internal state and can produce subtle biases when sampling integers from large ranges or shuffling long lists. crypto.getRandomValues fixes both problems.
- Can I pick more than one item at a time?
- Yes — set the count higher than one in 'Pick from list' mode. The tool samples without replacement, so the same item never appears twice in the same draw.
- What's the maximum list size?
- Practically, anything under a few hundred thousand lines runs instantly. The whole list is held in memory, so very large lists are bounded only by your device's available RAM.
- Are blank lines treated as items?
- No. Blank lines and trimmed-empty lines are ignored. Leading and trailing whitespace within an entry is preserved.