Four randomization methods
Random (default) is a full Fisher-Yates shuffle using `Math.random`. Every permutation of the list is reachable with equal probability. Each run produces a fresh order - no seed input.
Reverse pairs swaps positions (1↔2), (3↔4), (5↔6), and so on - deterministic. Interleave halves splits the list at its midpoint and zips the halves together (`[a1, b1, a2, b2, ...]`). Block shuffle (groups of 3) Fisher-Yates shuffles within each consecutive three-item window - local chaos, rough overall order preservation.
Same op as Shuffle a list. Two URLs, same engine. Pick this framing when the intent is "generate a random order"; pick the other when it is "shuffle an existing list".
How to use create a randomized list
- 1Paste your list into the input panel
- 2Pick Method: Random (default, Fisher-Yates), Reverse pairs, Interleave halves, or Block shuffle
- 3Output is the randomized list; Random and Block change every run
- 4Copy or download the result
- 5For picking one random item instead of shuffling, use Pick random item
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this tool actually does
Four method modes, each with a distinct algorithm.
Random mode: full Fisher-Yates
Uniform random permutation via `Math.random`. Every order equally likely. Not cryptographically secure - fine for raffles, playlists, test data; not for anything where prediction resistance matters.
Reverse pairs: deterministic swap
Swaps items (1↔2), (3↔4), (5↔6). Odd-length tail stays put. Same input always gives the same output - good for predictable light rearrangement.
Interleave halves: zip two halves
Splits at the midpoint and zips the halves together. `[A B C D E F]` becomes `[A D B E C F]`. Useful for mixing an ordered list without full randomization.
Block shuffle: local scrambling
Divides into 3-item windows and Fisher-Yates shuffles within each. The list stays roughly in original order; adjacent neighborhoods get mixed up.
No seed input
`Math.random` is non-reproducible. Each click of Random / Block gives a different order. For reproducible shuffles, take one run's output and work with it.
Worked example
Random method (default). Output varies on every click - one possible result shown.
Apple Banana Cherry Date
Cherry Banana Apple Date
Settings reference
How each method shapes the output (using `A B C D E F` for illustration where the 4-item sample is too small to show the pattern).
| Setting | What it does | Effect on the sample |
|---|---|---|
| Method: Random (default) | Full Fisher-Yates shuffle | Different order every run - non-deterministic |
| Method: Reverse pairs | Swap (1↔2), (3↔4), (5↔6) | `Apple, Banana, Cherry, Date` → `Banana, Apple, Date, Cherry` |
| Method: Interleave halves | Split at midpoint, zip halves together | `Apple, Banana, Cherry, Date` → `Apple, Cherry, Banana, Date` |
| Method: Block shuffle (3) | Fisher-Yates within each 3-item window | First 3 scrambled, last 1 stays - no cross-window movement |