Random Name Picker from a List

Paste a list or load a CSV or Excel file and draw a random name from it, with no cap on how many entries you can load — a spreadsheet of a million rows works the same as ten names, the file is read on your own device and never uploaded, and every pick uses crypto.getRandomValues().

When a wheel stops being the right tool

The spinner wheel is the right answer up to about thirty entries. Past that the slices get too thin to read, and somewhere past a few hundred the animation is pure theatre — nobody can see which slice won, so the spinning stops being evidence of anything. Most bulk name pickers still wrap the draw in a wheel at ten thousand entries, which looks impressive and tells you nothing.

This page is the version without the wheel. You give it a list, it gives you a name, and it shows you the count so you can see it actually loaded everything.

Getting your list in

Two ways, and they work the same:

  • Paste it. One entry per line. Copying a column straight out of Google Sheets or Excel works — the paste arrives tab-separated and gets split correctly.
  • Load a file. Drop a .csv, .tsv, .txt or .xlsx onto the box, or use the file button. If the file has several columns you pick which one holds the names, and if the first row is a header it gets skipped automatically.

Quoted fields survive intact, so an export containing "Smith, Jane" stays one entry instead of splitting into two — which is the failure mode of anything that just splits on commas.

Your file is never uploaded

This matters more than it sounds. An entry list for a giveaway is usually full of real names and email addresses, and most online pickers ask you to hand that file to a server before they will draw from it. Here the parsing runs in your browser, so the list never leaves the machine you are sitting at. Nothing to trust, nothing to delete afterwards, and no upload limit — the ceiling is your own memory, not a request body.

Drawing more than one winner

Set how many names to pull and they come out in one draw, all distinct. Leave remove winners from the list on and each name can only be drawn once, so you can keep drawing runners-up without ever repeating someone — the count next to the list ticks down as you go. Turn it off and every draw is independent, the way a dice roll is.

Is it actually random?

Every pick comes from crypto.getRandomValues(), the browser's cryptographically secure generator, rather than Math.random() — which the JavaScript specification says not to rely on where the sequence matters. Each remaining entry has exactly equal probability on every draw, whether there are five left or five hundred thousand. You can test the same generator on the randomness page instead of taking my word for it.

What people use it for

  • Giveaway and raffle winners from an entry export, where the list is far too long to eyeball. For comment-based draws, the YouTube and Instagram pickers pull the entries for you.
  • Sampling — pulling fifty random records out of a dataset for a manual audit or a survey.
  • Big classroom or cohort rosters that outgrew a wheel. For a normal class the classroom spinner is still nicer to look at.
  • Assigning work across a long list of tickets, shifts, or reviewers.

If you need the group split rather than one name pulled out, the team generator does that instead.

Random Name Picker from a List — questions

How do I pick a random name from a long list?

Paste the list into the box one entry per line, or load a CSV or Excel file, then choose how many names to draw and press the pick button. There is no cap on list length, so a spreadsheet with hundreds of thousands of rows works the same as a handful of names.

How many names can it handle?

There is no fixed limit. The list is held in your browser rather than sent to a server, so the ceiling is your own device memory. A million-row list parses in about a second on a normal laptop and each draw is instant after that.

Can I upload a CSV or Excel file?

Yes. Drop a .csv, .tsv, .txt or .xlsx file onto the box or use the file button. If the sheet has several columns you choose which one holds the names, and a header row is detected and skipped automatically.

Is my file uploaded anywhere?

No. The file is read entirely inside your browser and never leaves your device. That matters for giveaway entry lists, which usually contain real names and email addresses.

Can I draw more than one winner at once?

Yes. Set how many names to pick and they are drawn together, all distinct. Keep the remove-winners option on and nobody can be drawn twice, so you can pull runners-up in later draws without repeats.

Is the selection actually random?

Yes. Every pick uses crypto.getRandomValues(), the browser cryptographically secure random number generator, with rejection sampling so each remaining entry has exactly equal probability. You can test the same generator yourself on the randomness page.

What happens to duplicate entries in my list?

They are kept by default, so someone who entered a giveaway three times has three times the chance. Switch on remove duplicates if you would rather every unique entry counted once.

How is this different from the spinner wheel?

The wheel is better up to roughly thirty entries, where you can read the slices and watch it land. Past that the slices are too thin to see and the animation stops being evidence of anything, so this page shows the entry count and the result instead.