Permute every non-empty list row exactly once and number the resulting order.
The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.
Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.
Fisher–Yates walks backward through a copy of the list and swaps each position with a rejection-sampled position no later than itself. This produces a permutation without dropping or adding rows; Web Crypto drives fresh orders and an explicit seed drives repeatable ones.
Items: ["Ana","Ben","Cleo","Dan"] Seed: standup
1. Cleo 2. Dan 3. Ana 4. Ben
Conference programmes order presenters, recreational teams establish batting order, and playlist tests rearrange tracks while preserving the complete source list.