Overview
Introduction
Sometimes you don't need a whole list reordered, you just need one item picked at random: today's task, a raffle winner, or a random menu choice.
This tool picks a single item uniformly at random from your list and lets you re-roll instantly with a Pick Again button.
What Is List Item Picker?
A random selection tool that picks exactly one item from a list, with every item having an equal chance of being chosen.
It's a simpler cousin of the Random category's Random Item Picker, which additionally supports per-item weighting; this tool intentionally skips weighting for a fast, no-configuration random pick.
How List Item Picker Works
The list is split into items using the resolved separator, blank items are filtered out, and one remaining item is selected using `Math.floor(Math.random() * items.length)` as the index.
The pick only runs client-side after the component has mounted (to avoid a hydration mismatch), and the Pick Again button bumps a refresh key to trigger a new random pick.
When To Use List Item Picker
Use it to randomly select a winner from a list of entries, choose a random task from a to-do list, or make a quick decision from a list of options.
It's also handy for randomly sampling a single item during testing or demonstrations.
Often used alongside List Randomizer, List Sorter and List Item Grouper.
Features
Advantages
- Uniform random selection, every item has an equal chance.
- Instant re-picking via the Pick Again button.
- Simpler than weighted pickers when you don't need to bias the odds.
Limitations
- Does not support weighting individual items; use the Random category's Random Item Picker if some items need higher odds than others.
- Uses `Math.random()`, which is not cryptographically secure; avoid this for anything requiring provably fair randomness.
- Requires at least one non-empty item in the list.
Examples
Best Practices & Notes
Best Practices
- Use Pick Again as many times as you like for repeated random draws from the same list.
- Remove any blank lines from your source data if you want to be sure exactly what's being picked from, though the tool filters them automatically.
- Use List Randomizer instead if you want the entire list reordered rather than a single item selected.
Developer Notes
Implemented with `Math.floor(Math.random() * items.length)` after filtering out items whose trimmed text is empty; the component gates the pick behind `useHasMounted()` and a `refreshKey` state, following the same pattern as the category's other randomness-based tools, to keep server and client renders in sync.
List Item Picker Use Cases
- Selecting a random winner from a list of raffle or contest entries
- Randomly choosing a task, meal, or activity from a list of options
- Quick random sampling during testing or demos
Common Mistakes
- Expecting weighted odds; this tool always picks with equal probability across all non-empty items.
- Using this for cryptographic or fairness-critical randomness, where `Math.random()` is not appropriate.
- Leaving many blank lines in the list and being confused when they're never picked; they're filtered out by design.
Tips
- Use the Random category's Random Item Picker instead if you need some items to be more likely than others.
- Combine with List Item Counter Remover first if your list items still have leftover numbering you don't want mixed into the pick.