Skip to main content

pick-random-item

Picking a random item from a list is the simplest random task β€” drawing a winner, choosing a meal from a list of options, picking a movie for movie night. The ZTools Pick Random Item tool runs in the browser using fair pseudo-random selection (Math.random) or cryptographic randomness (crypto.getRandomValues for prize draws). Supports picking N items without replacement (no duplicates) or with replacement, and optional per-item weights for biased draws.

Use cases​

Pick a winner from a list​

Paste 200 entrants, pick 1. With crypto-RNG for auditable fairness.

Decide between options​

List of restaurants for tonight; pick one randomly. Removes decision fatigue.

Run a draw with multiple winners​

"Pick 3 from 100" β€” without replacement, each winner unique.

Weighted random for unequal probabilities​

Some entries get more entries (one-per-purchase). Provide weights β€” tool draws proportionally.

How it works​

  1. Paste list β€” One item per line (or comma-separated, JSON).
  2. Pick count β€” How many to draw. With or without replacement.
  3. Optional weights β€” Each item can have a weight (default 1). Higher weight = more likely.
  4. Pick RNG β€” Math.random (fast, fine for casual) or crypto.getRandomValues (cryptographically random).
  5. Draw β€” Output: chosen item(s). Re-draw for new pick.

Examples​

Input: [A, B, C, D, E], pick 1

Output: One random β€” say "C". Each equally likely (20%).


Input: Same list, pick 3 without replacement

Output: E.g. [B, D, A] β€” three unique items.


Input: Weighted: A weight 1, B weight 3, C weight 1

Output: A and C each ~20%, B ~60%.

Frequently asked questions​

How is this different from list-randomizer?

List-randomizer outputs a full shuffled list. Pick-random-item outputs N selected items. Both use Fisher-Yates internally for fairness.

Without replacement?

Once picked, an item won't be picked again in the same draw. With replacement: same item can repeat.

Weighted draw?

Useful for biased random β€” e.g. one ticket vs three tickets per entrant. Weights need not sum to a specific value.

Privacy?

All in browser.

Tips​

  • For raffles, use crypto-RNG β€” auditable as fair.
  • For decision-making (lunch, movies), Math.random is fine.
  • For weighted random, document the weights β€” transparency aids fairness perception.
  • For "pick all in random order", use list-randomizer instead β€” full shuffle is more efficient.

Try it now​

The full pick-random-item runs in your browser at https://ztools.zaions.com/pick-random-item β€” no signup, no upload, no data leaves your device.

Open the tool β†—


Last updated: 2026-05-06 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub