List Shuffler
Cryptographically-random Fisher-Yates shuffle of any list.
Overview
The List Shuffler takes any pasted list — one item per line — and returns it in a uniformly random order using a cryptographically secure Fisher-Yates shuffle. It is the no-nonsense version of pulling names from a hat, useful for picking a giveaway winner, randomising a presentation order or seeding a tournament bracket without dragging a spreadsheet into the picture.
The shuffler is aimed at community managers running raffles, teachers shuffling student groups, podcast hosts picking a question order and developers building shuffle-once seed data. Long-tail searches like "fair online list randomiser", "Fisher-Yates shuffle web tool" and "cryptographic raffle name picker" all resolve here.
How it works
The Fisher-Yates algorithm (also called Knuth shuffle) produces a uniformly random permutation in O(n) time. For each index i from N-1 down to 1, the tool draws a random integer j in the inclusive range [0, i] and swaps the elements at i and j. The key fairness property is that every one of the N-factorial permutations is equally likely — there is no bias toward keeping or moving any particular item.
Randomness comes from the OS cryptographic source rather than a seeded PRNG. The tool draws bytes from RandomNumberGenerator and converts them to unbiased integers in the target range using rejection sampling, which avoids the subtle modulo bias that catches naive shuffle implementations. Lists of up to several thousand entries shuffle in milliseconds.
Examples
Input: alice, bob, carol, dave → bob, alice, dave, carol
Input: 1..10 → 7, 3, 1, 10, 5, 9, 2, 6, 4, 8
Input: songs.txt (40 lines) → fresh playlist order
Input: 200 raffle entries → top 1 is the winner
FAQ
Is the shuffle really uniform?
Yes. Fisher-Yates with unbiased integer sampling produces every permutation with equal probability. The cryptographic source removes any predictable pattern.
Can I shuffle a CSV row order without losing columns?
Paste the rows as-is (one row per line) — the shuffler treats each line as an opaque token, so commas inside lines are preserved.
What happens to duplicate entries?
Duplicates are kept and shuffled like any other item. If you want unique results, dedupe before shuffling.
Is there a length limit?
The tool comfortably handles tens of thousands of lines. Very large lists may slow the browser when rendering, even though the shuffle itself stays fast.
Can I reproduce a shuffle from a seed?
No. The tool uses a cryptographic source by design, which is unseeded. If you need reproducibility, run a seeded shuffle in code instead.