What this does
Paste a list, one item per line, and get it back either fully shuffled into random order or reduced to a single random pick. It is the same job as writing names on paper and drawing from a hat, done properly — which matters more than it sounds, because a lot of "random" shuffling done by hand or with a bad algorithm is not actually uniformly random.
What a genuinely fair shuffle requires
Every possible ordering of the list should be equally likely to come out. This is a well-studied problem with a well-known correct answer — the Fisher-Yates shuffle — and a well-known wrong answer that people reach for intuitively: sorting the list by a random number attached to each item. That naive approach produces a biased result, because JavaScript's default sort is not guaranteed to be a fair random permutation when driven by random comparison values — certain orderings end up more likely than others, in a way that is not obvious just by looking at the output. Fisher-Yates avoids this by construction and is what a correct shuffle tool actually needs.
Where this actually gets used
- Picking a winner from a list of raffle entries or giveaway participants fairly.
- Randomising presentation order — the order candidates appear on a ballot, questions on a quiz, or items in a survey, where a fixed order could bias results.
- Assigning teams or groups randomly from a list of names.
- Deciding an order — who goes first, whose turn it is — without an argument about fairness.
- Sampling a smaller random subset out of a larger list for testing or review.