Paste a list of names to draw one or more fair random winners, or generate random numbers in any range — free, instant, no signup.
Paste your list and click Pick Winner(s)
Set a range and click Generate
This free random picker does two related jobs in one tool: it draws one or more random winners from a pasted list of names, and it generates random numbers within any range you set. Used online as a random name picker, raffle picker, giveaway winner picker, and random number picker, it's built for any moment you need a genuinely fair, unbiased choice — no coin, hat, or spinning wheel required.
In "Pick From a List" mode, you paste names or items one per line, choose how many winners to draw, and optionally remove winners from the list as you go for repeat-free sequential draws. In "Random Number" mode, you set a minimum, maximum, and how many numbers to generate, with an optional "unique numbers" setting so results can't repeat within a batch. Both modes run instantly, entirely in your browser.
Teachers picking a student at random, event hosts drawing raffle or giveaway winners, team leads assigning group members, families organizing a Secret Santa exchange, or anyone who just needs to settle "who goes first" fairly — this tool covers all of it without requiring a spreadsheet formula or physically shuffled slips of paper.
Manually picking a "random" winner — closing your eyes and pointing, or choosing whichever name feels fair in the moment — is prone to unconscious bias, and participants can reasonably question the result. A shuffle-based random winner generator removes that bias mechanically: every entry gets a mathematically equal chance, which matters whenever people expect, or deserve, to see a genuinely fair outcome.
The actual selection logic behind every draw, in plain terms
This is a generator, not a formula calculator — there's no equation to type in. Each click runs a short selection algorithm in your browser. In "Pick From a List" mode, the picker takes every non-empty line you've entered, runs a Fisher-Yates shuffle on the whole list, then reads off the first however-many shuffled entries as your winner(s). A Fisher-Yates shuffle works backward through the list, swapping each item with a randomly chosen item at or before its own position — one swap per item — so every possible ordering of your list is equally likely. A name at the top of your pasted text has exactly the same chance of winning as a name at the bottom.
In "Random Number" mode, the same random source is used differently: with "unique numbers" checked, the tool builds the full list of whole numbers from your minimum to your maximum, shuffles that list the same way, and takes the first however-many results, which guarantees no repeats. With it unchecked, each number is generated independently as Math.floor(Math.random() × range) + minimum, so the same value can legitimately come up more than once — the same way rolling a die twice can land on the same face twice.
Every random decision in this tool — the shuffle and the number generator alike — is powered by JavaScript's built-in Math.random() function. This is a fast, browser-native pseudo-random number generator that is more than sufficiently unbiased for shuffling a list of names, running a classroom drawing, or picking a raffle winner. It is not, however, a cryptographically secure random source — it isn't seeded or audited to a standard suitable for security keys, regulated lotteries, or licensed gambling. For higher-stakes randomness needs, NeftCal's Random Number Generator uses the browser's crypto.getRandomValues() API when available. For everyday fair-draw use — raffles, giveaways, classroom picks, deciding who goes first — Math.random() is the right, honest tool for the job.
Walks the list backward, swapping each entry with a random earlier (or same) position — every ordering is equally likely.
A fast, browser-native pseudo-random function — great for casual fairness, not a cryptographic standard.
Every line in your list, and every number in your range, has exactly one equal shot at being selected.
The shuffle and number generation happen in your browser — nothing you type is sent to a server.
From pasting your list to reading your winner(s)
Switch to "Pick From a List" and type or paste each name, number, or item into the box, with each entry on its own line — the picker splits your list by line breaks.
Set "Number of Winners to Pick" to however many winners you need drawn at once — leave it at 1 for a single winner, or raise it for multiple prizes.
Check "Remove picked names from list" if you'll be running further draws and don't want a name to win twice; leave it unchecked for a single, one-off draw.
The tool runs a Fisher-Yates shuffle across your full list and takes the first N shuffled entries as your winner(s).
Your winner(s) appear instantly in the Winner(s) panel; if you checked the remove option, they're also cleared from the list so you can draw again.
Two common scenarios: a raffle draw and picking multiple team captains
You've pasted 20 raffle entrant names into the list box and need to draw a single winner.
A teacher needs to pick 3 team captains from a class of 24 students, without repeats.
Explanation: Both examples use the same single Fisher-Yates shuffle — requesting more than one winner doesn't run separate draws, it simply reads further down one shuffled list, so within a single click no name or number can repeat as a winner. If you need additional separate rounds afterward (a 2nd or 3rd prize draw, for instance), check "Remove picked names from list" so each round draws from a shrinking pool.
What the picked result means and how to run a sequential draw
List picker Winner(s) panel: the names shown are the first N entries from a single Fisher-Yates shuffle of your full list, displayed in the order they were drawn. Every name had an equal chance of appearing here, regardless of where it sat in your original pasted text.
Using "Remove picked names from list" for sequential draws: checking this box deletes each winner from the textarea immediately after a draw, shrinking the pool for the next click. This is the setting to use for anything with ordered prizes — 1st, 2nd, and 3rd place, for example — since it guarantees the same name can't win two rounds in a row. Leave it unchecked when you only need one round, or when repeat eligibility across rounds is actually intended, such as deciding turn order in a game where anyone can go again.
Random Number mode chips: each chip is one value between your Minimum and Maximum. With "Unique numbers" checked, no value repeats in that batch; unchecked, values are generated independently and can repeat, just like separate dice rolls.
No history is kept: each new draw replaces the previous result on screen. If you need a written record — for a raffle with real prizes, for instance — copy the winner(s) down manually before running another draw.
Where a fast, unbiased random draw is genuinely useful
Cold-call students fairly or choose who answers next without visible favoritism.
Draw one or more genuinely random winners for a raffle, contest, or online giveaway.
Split a list of participants into randomly assigned teams or working groups.
Draw names one at a time with "remove after pick" to help randomize gift-giving pairs.
Randomize the initial order of entrants before assigning bracket positions.
Settle turn order fairly instead of arguing or defaulting to the same person.
List your options and let the picker choose when a group can't agree.
Randomly select a small panel or committee from a larger pool of volunteers.
Rotate who handles a recurring task fairly across a team, week by week.
Randomly select the next book or film from a shortlist the group nominates.
Randomize which captain picks first in a pickup game or fantasy draft.
Paste every valid entry and draw the winning name or number transparently.
Paste a guest list on-site and pick winners live in front of the audience.
Rotate weekly chores fairly among household or family members.
Randomly select who shares next, or which icebreaker prompt a group tackles.
What this random picker does well, and where it has boundaries
Typical settings to use for popular drawing scenarios
| Use Case | Recommended Settings | Why |
|---|---|---|
| Single raffle or giveaway winner | Winners = 1, Remove after pick = off | One-off draw; nothing left to remove afterward |
| Multi-prize raffle (1st, 2nd, 3rd) | Winners = 1 per round, Remove after pick = on | Prevents the same person winning more than one prize |
| Team or group split | Winners = team size, run once per team | Draw one team's worth of names at a time from a shrinking list |
| Secret Santa name draw | Winners = 1, Remove after pick = on, draw one at a time | Keeps every remaining name eligible exactly once |
| Deciding turn order in a game | Winners = number of players, Remove after pick = off | A single shuffle already orders everyone without repeats |
| Classroom cold-call | Winners = 1, Remove after pick = off (repeats allowed) | Keeps every student eligible for future rounds |
| Door-prize drawing at an event | Winners = number of prizes, Remove after pick = on | Avoids awarding a second prize to an earlier winner |
| Lottery-style number set | Random Number mode, Unique numbers = checked | Guarantees a distinct set of numbers, no repeats |
Summary: This random picker combines a Fisher-Yates list shuffler and a custom-range number generator in one free tool, using JavaScript's Math.random() for fast, unbiased everyday results — a solid choice for raffles, classroom picks, team assignments, and games, though not a certified system for regulated lotteries. Pair it with NeftCal's Random Number Generator or Password Generator for related randomness needs.
Common questions about the random picker
Independent references on random number generation and unbiased sampling — not a substitute for professional advice on regulated draws
Explore other text & number utilities