List Item Picker

Picks a single item uniformly at random from a list, every item has an equal chance of being chosen. Supports a configurable separator and a Pick Again button to re-roll the pick instantly. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

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

Picking from a short list

Input

Alice
Bob
Carol

Output

Bob

One of the three names is chosen at random; the result varies on every pick.

Picking from a comma-separated list

Input

pizza,tacos,sushi

Output

sushi

Comma separator mode splits the list before picking one item uniformly at random.

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.

References

Frequently Asked Questions