List Randomizer
Paste a list — one item per line — and we shuffle it into a fresh random order using cryptographic-quality randomness.
Alice
Bob
Charlie
Dana → Charlie
Alice
Dana
Bob
Paste a list — one item per line — and we shuffle it into a fresh random order using cryptographic-quality randomness.
Alice
Bob
Charlie
Dana → Charlie
Alice
Dana
Bob
The List Randomizer takes any list — names, tasks, teams, raffle entries, brainstorm ideas — and shuffles the order using the Fisher–Yates algorithm. Every permutation is equally likely, every shuffle is independent, and your list never leaves your browser.
Use it for draft picks, raffle order, randomly-assigning chores, picking who goes first in a game, or just removing your own bias from a top-N list.
Paste your entry list, click Convert, and the top line is your winner. Re-run for second place, third place, etc. Far simpler than a wheel-spinner.
Got a fantasy league or a pickup-game roster? Paste the player list, shuffle, and read the order top-to-bottom.
Forming a presentation order, judging panel, or conference-talk lineup? Shuffle the list to remove unconscious favoritism.
Stuck between options? List them, shuffle, take the first one. The randomness defeats decision paralysis.
Randomize question order so respondents can't anchor on the first item. Paste, shuffle, paste back.
The List Randomizer uses the Fisher–Yates shuffle (also known as the Knuth shuffle) to generate a uniformly random permutation of the input lines. The algorithm iterates from the last element to the first, swapping each element with a randomly chosen element from the remaining unshuffled portion. For cryptographic-quality randomness, the tool leverages crypto.getRandomValues() (via Web Crypto API) rather than Math.random(). This ensures every shuffle is independent, unpredictable, and suitable for fair draws or security-sensitive contests. The core loop runs in O(n) time, guaranteeing that each of the n! possible orderings is equally probable. Only the list order changes; no data is transmitted to any server.
While many methods can randomize a list, the List Randomizer offers a frictionless, cryptographically secure approach without leaving the browser.
| This tool | Python's random.shuffle() | Spreadsheet RAND() + sort | |
|---|---|---|---|
| Randomness source | Cryptographic (Web Crypto API) | Mersenne Twister (PRNG) | Floating-point PRNG |
| Ease of use | No setup: paste and click | Requires Python installation and code | Requires formula and manual sorting |
| Reproducibility | No seed; each shuffle is independent | Can seed for reproducible results | Seeding not straightforward |
| Security | Suitable for raffles & lotteries | Not cryptographically secure | Not cryptographically secure |
The Fisher–Yates shuffle, named after Ronald Fisher and Frank Yates, was first described in their 1938 book Statistical Tables for Biological, Agricultural and Medical Research. Donald Knuth later popularized its modern efficient form (the 'into' algorithm) in The Art of Computer Programming (Volume 2, 1969). The algorithm’s enduring appeal lies in its simplicity and its ability to produce an unbiased permutation in linear time — a foundational building block for randomized algorithms and tools like this one.
It uses JavaScript's Math.random() via the Fisher–Yates algorithm — every permutation has equal probability. It's not cryptographically secure (don't use for security purposes), but it's perfectly fair for raffles, draft picks, and decisions.
No — it preserves duplicates. If "Alice" appears twice, both copies will be in the output. Use our Remove Duplicate Lines tool first if you want unique entries.
Tested up to 50,000 lines without slowdown. Beyond that the browser may freeze for a moment, but it still works.
No — blank lines are filtered out before shuffling. If you want to keep blank lines as separators, replace them with a placeholder first.