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
- Paste one choice per line (or set another delimiter if you use the option).
- Set number of picks and whether duplicate picks are allowed.
- 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
Random Number Generator
Classroom raffles, load-test IDs, sprint poker numbers, Monte Carlo toy demos, and filling numeric columns in mock CSV. Document the range if the result matters later.
Random Letter Generator
Classroom letter draws, generating a fake middle initial, kids’ games, and building short nonsense strings for UI placeholders.
Random Month Generator
Classroom games, dummy season copy, picking a reporting month for a mock chart, and icebreaker prompts.
Strong Password Generator
New account signups, rotating a password after a breach notification, creating an app-specific password, and seeding a password manager vault when the manager’s own generator is unavailable. Sixteen characters with mixed classes is a practical floor for most sites in 2026.
UUID Generator
Primary keys across services, correlating logs between front end and API, seeding fixtures in a demo database, and generating a local test resource id without hitting a server.