Overview
Introduction
Randomizing the order of a list is handy for anything from shuffling raffle entries to randomizing quiz question order.
This tool shuffles list items with a proper Fisher-Yates shuffle and lets you re-roll instantly with a button, no need to retype or reload.
What Is List Randomizer?
A list transformer that randomly reorders items using the Fisher-Yates shuffle algorithm, a well-known unbiased shuffling method.
Unlike the string category's newline-only Line Randomizer, this tool accepts a configurable separator so comma-separated and custom-delimited lists shuffle correctly too.
How List Randomizer Works
The list is split into items using the resolved separator, then shuffled in place with a Fisher-Yates pass that walks the array backward, swapping each item with a randomly chosen earlier (or equal) position.
The shuffle only executes client-side after the component has mounted, and a Shuffle Again button bumps an internal refresh key to trigger a fresh shuffle on demand.
When To Use List Randomizer
Use it to randomize the order of raffle or giveaway entries, quiz questions, or playlist tracks.
It's also useful whenever you need a quick, unbiased random ordering of any list of items for testing or demonstration purposes.
Often used alongside List Sorter, List Reverser and List Item Picker.
Features
Advantages
- Fisher-Yates produces a mathematically unbiased random permutation.
- Configurable separator supports more list formats than the newline-only Line Randomizer.
- Instant re-shuffling via the Shuffle Again button without losing your original list.
Limitations
- Requires at least two items to shuffle; a single-item list has nothing to reorder.
- Uses `Math.random()`, which is not cryptographically secure; do not use this for anything requiring a provably fair or tamper-resistant shuffle.
- Each shuffle is independent; there is no seeded/reproducible mode.
Examples
Best Practices & Notes
Best Practices
- Click Shuffle Again as many times as you like to get a different random order without re-entering your list.
- Use List Item Picker instead if you only need to select one random item rather than reorder the whole list.
- Don't rely on this for security-sensitive randomness; it uses standard, non-cryptographic `Math.random()`.
Developer Notes
The shuffle is a standard Fisher-Yates implementation iterating from the end of the array to the start, swapping each element with one at a random index `j` where `0 <= j <= i`; the component gates the shuffle behind `useHasMounted()` and re-runs it via a `refreshKey` state bump on each Shuffle Again click, to keep server and client renders in sync.
List Randomizer Use Cases
- Randomizing raffle or giveaway entry order
- Shuffling quiz or flashcard question order
- Generating a quick random playlist or task order
Common Mistakes
- Expecting a seeded, reproducible shuffle; each run uses fresh randomness with no seed option.
- Using this for cryptographic or fairness-critical randomness, where `Math.random()` is not appropriate.
- Trying to shuffle a single-item list and being surprised by the clear error message.
Tips
- Use the comma or custom separator mode if your list isn't formatted one item per line.
- Pair with List Item Counter Adder afterward to number the freshly shuffled order.