Paste a list and let the picker choose for you. It selects one item or several, with or without repeats, and can apply weights when some options should come up more often. Every draw uses your browser's cryptographic random source, and your list is processed locally rather than uploaded.
Settings
Recent results
Generated locally in your browser — your settings and results never leave this page.
What the random item picker does
Paste a list of options and let the picker choose. It handles the everyday version of the problem — one item from a list — and the more demanding variants: several items at once, no repeats so nothing is chosen twice, and weighted draws where some options deliberately come up more often.
The selection is uniform by default, which means a list of five items gives each exactly a 20% chance on every draw. The result appears in large type, the entries that were not selected are listed underneath, and every draw carries a short reference you can note down.
How the selection works
Every draw on this page starts with crypto.getRandomValues, the cryptographically strong random source built into your browser. That is a CSPRNG seeded from operating-system entropy: unpredictable in practice, and the right choice when a result decides something that matters. It is deliberately not described as “true randomness”, which would require a physical entropy source such as atmospheric noise or radioactive decay. Tools that claim true randomness from a browser are overstating what the platform provides.
Turning random bytes into a number in your range is where most implementations quietly go wrong. The obvious approach — take a random 32-bit value and apply % range — is biased whenever the range does not divide evenly into 2³². Some outcomes get one extra chance out of every four billion draws, which sounds negligible but is a genuine, measurable defect. This tool uses rejection sampling instead: draws landing in the incomplete final block are discarded and redrawn, so every value is exactly equally likely.
No-repeat mode is a shuffle, not a retry loop
When you ask for several items with no repeats, a naive implementation draws one at a time and redraws whenever it hits something already chosen. That works until you ask for nearly the whole list, at which point it slows dramatically, and it hangs forever if you ask for more items than exist. This tool runs a partial Fisher–Yates shuffle instead: it cannot produce a duplicate, it takes the same time regardless of how many you request, and asking for too many is caught and explained rather than attempted.
Weighted picking, and when it is appropriate
Add a number after a pipe to weight an entry: Premium prize | 1 alongside Standard prize | 9 makes the standard prize nine times as likely. Internally the tool builds cumulative weights and takes a single uniform draw across the total — the standard, correct approach, rather than repeatedly rejecting until something sticks.
| Entry | Weight | Share of total | Chance per draw |
|---|---|---|---|
| Standard prize | 9 | 9 / 10 | 90% |
| Premium prize | 1 | 1 / 10 | 10% |
| Withdrawn entry | 0 | 0 / 10 | never selected |
Weighting is deliberately unfair, which is exactly right for prize tiers and loot tables and exactly wrong for a draw people expect to be equal. The tool shows a warning on screen whenever weighting is active, so nobody mistakes a weighted result for a fair one. Entries with no weight count as 1, and an entry weighted 0 can never be selected — useful for keeping someone on the list but out of the draw.
Worked example: picking two of five with no repeats
Five options, two picks, no repeats. Each option has a 2-in-5 chance of appearing in the result, and the two picks are guaranteed different:
List Pizza, Sushi, Tacos, Curry, Burgers Picks 2, no repeats Result Tacos, Pizza Not selected: Sushi, Curry, Burgers
Practical uses
- Deciding between options when the choice genuinely does not matter and the deliberation is costing more than the decision.
- Small prize draws where a visible, explainable method matters more than ceremony.
- Assigning tasks from a shared list without anyone feeling singled out.
- Sampling for review — picking a handful of records to check without cherry-picking the easy ones.
- Loot and reward tables in games, where weighting is the point rather than a compromise.
Limitations and honest caveats
This tool draws fairly, but it cannot make a process fair on its own. Who is on the list, whether anyone was left off, and whether the draw was run more than once all matter more than the algorithm. If a result may be questioned later, use seeded mode and publish the seed with the entry list so the draw can be reproduced by anyone.
The draw reference shown with each result is an identifier, not a proof: it is generated alongside the draw and does not by itself demonstrate that the draw was not repeated. The seed does that.
Privacy
Your list never leaves the browser. It is not uploaded, not stored, and not written into the page URL — so a link you share cannot expose your options or participants. The page continues to work with no network connection once it has loaded.
Related tools
For people rather than things, the Random Name Picker uses the same engine with wording built around names. For a visual draw in front of an audience, the Wheel Spinner shows the same result on a spinning wheel. To reorder rather than select, use the List Randomizer, and for numeric ranges use the Random Number Generator.
How to use the Random Item Picker
- Paste your options into the list box, one per line.
- Choose how many to pick, and whether the same item may be chosen twice.
- Add "| 3" after an entry and tick Use weights if some options should come up more often.
- Press Pick an item. Press again for a fresh draw.
- Copy the selection, or export the draw record as CSV.
Frequently asked questions
How does the picker choose an item?
It requests cryptographically strong random values from your browser and uses unbiased rejection sampling to land on a position in your list. With "no repeats" on, it runs a partial Fisher–Yates shuffle instead, which cannot return the same item twice.
Does every item have an equal chance?
Yes, unless you deliberately turn on weights. In the default mode a list of five items gives each a 20% chance on every draw, and the draws are independent of one another.
How do weights work?
Write a number after a pipe, such as "Premium prize | 1" and "Standard prize | 9". The tool builds cumulative weights and takes a single uniform draw across the total, so the second entry is nine times as likely. Entries without a weight count as 1, and a weight of 0 can never be selected.
What happens if I ask for more picks than I have items?
With "no repeats" on, the tool refuses and explains that there are not enough entries. With repeats allowed, it happily returns more picks than you have items, because each draw is independent.
What is the draw reference shown under the result?
A short identifier generated alongside the draw. It has no effect on the outcome — it exists so you can record and refer to a specific draw. For a fully reproducible record, use Seeded mode and note the seed as well.
Can I use this for a giveaway?
For small, informal draws it is suitable: secure mode is used by default and the result is genuinely uniform. For anything where fairness may be questioned later, record the seed in Seeded mode so the draw can be repeated and checked by anyone.
Are my options private?
Yes. Your list stays in the browser, is never uploaded, and is deliberately excluded from shareable links so it cannot leak through a URL you paste to someone else.