Skip to main content
CaseSwitch

Random Choice Generator

Use the CaseSwitch Random Choice Generator to pick one or more winners from a list you paste (one option per line by default). Sampling uses `crypto.getRandomValues()`. The list never leaves your browser.

Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.

Last reviewed: 23 July 2026

Processed locally in your browser. Nothing is sent to a server.

Paste or type text to convert. Output stays empty until there is input.

Character count: 0 · Word count: 0 · Line count: 0

Examples

Sample output shape — one winner

Input

Ada
Grace
Alan
Katherine

Output

(illustrative single pick)
Grace

Sample output shape — two unique winners

Input

quantity: 2 · duplicates off
Red
Green
Blue

Output

(illustrative — order is draw order, not rank)
Blue
Red

Error shape — too many unique picks

Input

quantity: 5 · duplicates off
A
B
C

Output

Quantity cannot exceed the number of unique choices.

Sample output shape — with replacement

Input

quantity: 3 · allowDuplicates on
Heads
Tails

Output

(illustrative — repeats possible)
Heads
Heads
Tails

Empty lines ignored

Input

Alpha

  Beta  

Output

(population is Alpha, Beta — illustrative pick)
Beta

How to use

  1. Paste one choice per line (or set another delimiter if you use the option).
  2. Set number of picks and whether duplicate picks are allowed.
  3. Generate, copy the winners, and keep a screenshot or export if you need a record — the page does not store the list.

What this tool is for

Turn a pasted roster into a fair-enough draw for standups, classrooms, and informal giveaways. You control how many picks and whether duplicates are allowed. Empty lines are ignored after trim. Order of remaining items is not a ranking unless you treat it that way.

How it works

Input is split on the delimiter (newline by default). Each non-empty trimmed line is a candidate. With Allow duplicate picks off (default), picks are without replacement from a shrinking pool — quantity cannot exceed the list length. With duplicates on, each pick is independent from the full list. Every pick uses secure randomness.

When to use it

Standup facilitators, classroom names, giveaway comments exported to a text list, picking a restaurant, and assigning demo duties.

When not to use it

Regulated lotteries, secret ballots that require an audit trail, and publishing screenshots that include people who did not consent to be named.

How it compares to related tools

The Random Number Generator if options are already 1…N. The Random Letter Generator for A–Z only. The Strong Password Generator is unrelated to list draws.

Common mistakes

Leaving a header row in the list, allowing duplicates when you promised unique winners, editing the list after showing the result, and treating line order as a seed.

With versus without replacement

Duplicates off is the right default for “three unique door-prize winners.” Duplicates on is for independent rolls (coin flips, resampling). If you need weighted odds, duplicate lines intentionally or use a weighted tool outside this page.

Privacy of the roster

Choices live only in the page memory until you close or refresh. CaseSwitch does not upload the list. If you publish a winner screenshot, crop names you should not share.

Frequently asked questions

Are picks with replacement?+

Only when Allow duplicate picks is on. Off means a name cannot win twice in the same draw.

Do you keep the list?+

No. It lives in the page until you close it. Copy winners out if you need a record.

Is the draw cryptographically random?+

Each pick uses `crypto.getRandomValues` via the shared secure helpers when available.

What delimiter is used?+

Newline by default (one choice per line). Other delimiters are available if the UI exposes them for your session.

Can I paste CSV?+

Only if each choice is on its own line or you split on commas first. A single comma-separated line is one choice unless you change the delimiter.

Why was my input rejected?+

You need at least one non-empty choice after trimming. Unique mode also rejects quantity larger than the list.

Are these values cryptographically secure?+

Random generators use crypto.getRandomValues() in your browser for secure randomness where supported.

Related tools