Random Name Picker

From a list of 20 names, each name has a 5% chance of being picked when you draw 1, and a 15% chance when you draw 3 without repeats.

One name per line or separated by commas. Names that differ only by capital letters are merged.
Add names and press Pick
Did this solve your problem?
Prefer us on Google

How to use

  1. Type or paste names, one per line or separated by commas. Blank lines and extra spaces are ignored.
  2. Enter how many names to pick and press Pick.
  3. Tick "Exclude people already picked" to run several rounds without repeating a winner. Press Reset to bring everyone back.

How it works

The list is shuffled with the Fisher-Yates algorithm using the browser's cryptographic random source, and the first N names are taken. Every name has the same chance, and nobody is picked twice in one draw.

Names that are the same apart from capital letters are merged into one entry, so "Ann" and "ann" count as a single person. The first spelling you typed is kept.

With N winners out of T names, each name has an N / T chance of being picked in a single draw. With 20 names and 3 winners that is 15%.

FAQ

Is the pick really random?

Yes. It uses crypto.getRandomValues with rejection sampling, which avoids the small bias that a simple modulo or Math.random approach can have.

What if I ask for more names than are in the list?

The tool shows an error with the number of names still available. It never picks the same name twice in one draw.

What does "Exclude people already picked" do?

Names drawn in earlier rounds are skipped in later rounds until you press Reset. The remaining count shows how many names are still in the draw.

Why was a duplicate name removed?

Names that match when capital letters are ignored are treated as one person. If two people share a name, add a surname or initial to tell them apart.

Are my names saved?

No. They stay in your browser tab and are gone when you close or reload the page.