Random Name Picker
Paste a list, watch the quick draw animation, and copy the result — all in your browser with no account.
- Fewer clicks, keyboard friendly
Turn this off when the same entry may be picked again.
Draw result
The draw uses crypto.getRandomValues() in your browser. Your list is not sent to a server.
Recent draws
No names have been picked yet.
How to use
- Paste names, tasks, or choices with one entry on each line.
- Leave “Remove each winner after drawing” on to draw without replacement, or turn it off to allow repeats.
- Select Pick a name, or press R when you are outside a text field.
- Copy the result summary to share the picked name, number of entries, and draw time.
How this random draw stays fair
Each draw starts with the browser Web Crypto API, crypto.getRandomValues(), rather than a predictable counter or a fixed animation endpoint. The tool maps its unsigned 32-bit values to the current list with rejection sampling: values in the small incomplete remainder are discarded before a list index is chosen. That avoids giving an early entry a slightly different chance when the list length does not divide 2³² evenly. The animation only reveals the already selected entry; changing its timing does not change the outcome. Every non-empty line has one ticket, so repeated lines deliberately give that label multiple tickets.
Drawing without repeats
Enable removal when you need a sequence of distinct winners for a classroom, giveaway, speaking order, or chore rotation. After a result appears, this tool removes exactly that one line from the editable list, even if another line has the same wording. It keeps the 10 most recent results on the page for the current session and shows the number of entries left. Turn removal off for choices that may fairly reappear, such as a coin-style prompt. A list must have at least 2 non-empty entries, each entry may contain up to 200 characters, and a draw can use up to 1,000 entries.
Private results you can still share
Names and choices stay in this browser: the picker has no upload, account, or public result page. Your list and the removal preference are stored only in this browser so an accidental refresh does not erase setup work. The Copy result action places a compact text record on your clipboard with the winner, the entry count at the draw, and the local draw time. Paste it into a group chat, document, or event record when you need to communicate the result without publishing the participant list in a URL. Clear the list or recent-draw history at any time.
Frequently asked questions
Is the random name picker really random?
Yes. Each result is selected from the current non-empty lines with crypto.getRandomValues() and rejection sampling, so every one-line ticket has the same chance in that draw. The short cycling animation reveals a result already chosen by that source.
Can I stop the same name being picked twice?
Yes. “Remove each winner after drawing” is on by default and removes exactly one selected line immediately after each result. With it enabled, keep drawing until fewer than 2 entries remain; turn it off when repeats are allowed.
Are names sent to a server?
No. The list, result animation, and random selection run in the browser. This picker sends no names to a server; it keeps the list locally in the current browser so it can survive a refresh until you clear or replace it.
How many names can I enter?
One draw can contain from 2 through 1,000 non-empty lines, and each line can be up to 200 characters. Empty lines are ignored, while duplicate lines intentionally count as separate tickets for weighted-by-repetition draws.
Related tools
Updated 2026-10-18