Fisher–Yates was analog
The Fisher–Yates shuffle debuted in 1938 so scientists could randomize lab experiments with paper tables—decades before browsers existed.
Tip: Ctrl/Cmd + Enter shuffles again using the same options.
List randomization is the process of taking an ordered list of items and producing a new order where each item’s position is determined at random. This tool uses the well-known Fisher–Yates shuffle (also called the Knuth shuffle), which walks the list from end to start and swaps each element with a uniformly chosen earlier element (or itself). When paired with a uniform random number generator, Fisher–Yates yields an unbiased permutation: every possible ordering is equally likely.
What does “seeded” mean? A seed is a number that initializes the random number generator. Using the same input list and the same seed will always produce the same shuffled output. This is useful for audits, contests, classroom demos, and research workflows where you need to prove how the result was produced. Share the seed alongside your winners so others can independently verify the outcome.
Picking N winners vs. shuffling everything. If you only need a subset (for example, five prize winners from 1,000 entries), this tool shuffles the entire list once and then takes the first N items. That approach is equivalent to drawing without replacement and keeps selection probabilities fair.
Handling duplicates. Real-world lists often contain repeated names or IDs. You can choose to remove duplicates before shuffling (giving each unique item one ticket) or keep duplicates (giving repeated entries multiple tickets). Decide which option matches your rules and disclose it up front to avoid confusion.
Privacy and performance. Everything runs locally in your browser. No uploads are required, so sensitive lists (participants, emails, internal IDs) remain on your device. The algorithm is linear time—O(n)—and scales well to large lists, limited mainly by your browser’s memory.
Is this cryptographically secure? No. The default browser RNG and the optional seeded PRNG here are designed for fairness and reproducibility, not for cryptographic secrecy. For security-critical draws (e.g., lotteries regulated by law), use a certified, audited process and publish your methodology.
Best practices for transparent draws
Common uses: prize drawings, assigning presentation order, generating randomized teams or brackets, sampling rows from a dataset, and creating unbiased A/B testing sequences. Whatever the use case, a transparent process plus a reproducible seed makes it easy for others to verify your results.
The Fisher–Yates shuffle debuted in 1938 so scientists could randomize lab experiments with paper tables—decades before browsers existed.
Psychologists show that when people “fake randomness,” they avoid streaks. True shuffles embrace runs, so repeats actually prove fairness.
Publishing your seed lets anyone rerun the shuffle and verify outcomes—standard practice for Twitch giveaways, research audits, and speedruns.
A duplicated name is a second raffle ticket. Removing duplicates keeps draws “one entry, one chance.” Leaving them weights the result on purpose.
Shuffling once and taking the top N is identical to sampling without replacement—a trick used in Monte Carlo studies and QA spot checks.