Random Name Picker - Fair Draws from a List

Pick one or more names from a pasted list with the Random Name Picker. Unique draws shuffle with crypto.getRandomValues and stay in the browser.

Random results are generated in your browser with crypto.getRandomValues(). Nothing is sent to a server.

01 Generator

    The Random Name Picker selects one or more entries from a pasted list for classroom cold calls, giveaways, or simple team picks. Enter names one per line or separated by commas, set how many to pick, and choose unique picks or allowed repeats. Unique mode shuffles with Fisher-Yates and crypto.getRandomValues, then returns the top names. Generation stays in the browser.

    Pick a random name from a list

    Concept diagram: Inputs leads to Pick a random name from a list leads to ResultInputsPick a random name froma listResult
    Pick a random name from a list.

    Paste at least one non-empty name into the names field. Default sample text shows four placeholder names so the control is never blank on first load. Replace that sample with the real roster before drawing. Count defaults to 1 for a single winner. The Random Name Picker trims whitespace and drops empty tokens after splitting on newlines or commas.

    Press pick to fill the result list. Duplicate lines in the pasted text count as separate entries, so two identical spellings can both appear in the pool. Clean the list first if each person should appear once. Comma-separated and line-separated formats can mix in one paste; both splitters run on the raw string.

    Remove names after picking

    Concept diagram: Inputs leads to Remove names after picking leads to ResultInputsRemove names afterpickingResult
    Remove names after picking.

    Unique picks set to Yes draws without replacement from the current list. The engine copies the roster, shuffles it, returns the first count names, and can expose the remaining names after the cut. Count cannot exceed the number of parsed names; an oversized unique request returns an error instead of recycling names.

    Allow repeats (unique No) draws each pick independently from the full list, so the same person can win more than once in one batch. Use unique Yes for raffles and fair classroom turns. Use repeats when a simulation should ignore who was already chosen. The Random Name Picker states the mode in the select label so the rule is visible before the draw.

    Pick winners for a giveaway or classroom draw

    Concept diagram: Inputs leads to Pick winners for a giveaway or… leads to ResultInputsPick winners for agiveaway or…Result
    Pick winners for a giveaway or classroom draw.

    For a giveaway, paste entrants, set count to the number of prizes, keep unique Yes, and draw once. Announce the printed order as first prize, second prize, and so on if rank matters. For a cold call, keep count at 1 and draw when a new volunteer is needed. Clearing and repasting resets the pool for the next period.

    Team-style splits work by drawing unique names in batches equal to team size, then assigning each batch to a team label offline. The page does not auto-balance teams or name groups; it only returns the picked slice. Remaining names after a unique draw are the people not yet assigned, which helps finish a full roster across several picks if the operator records each batch.

    Verify the pick is random

    Concept diagram: Inputs leads to Verify pick is random leads to ResultInputsVerify pick is randomResult
    Verify the pick is random.

    Unique draws rely on Fisher-Yates: each position i swaps with a uniform index from 0 through i, chosen through crypto.getRandomValues with rejection sampling. That produces a uniform random permutation of the pasted list before the prefix is taken. Repeat mode calls a uniform index into the list once per requested pick. The Random Name Picker does not use Math.random.

    A privacy note on the page states that names and results stay in the browser. No seed field is offered, so a draw cannot be replayed from a typed seed. If a dispute needs an audit trail, screenshot or copy the result immediately after the pick. Shared screens in a classroom should hide the full roster paste if student privacy is a concern.

    Work a counting example with four names

    Concept diagram: Inputs leads to Work a counting example with four… leads to ResultInputsWork a counting examplewith four…Result
    Work a counting example with four names.

    Suppose the list is Alex, Blake, Casey, Drew and the draw asks for two unique names. Ordered pairs without replacement number P(4,2) = 4 × 3 = 12, and each pair is equally likely under a fair shuffle prefix. Chance Alex appears in the two picks is 2/4 = 1/2. Chance Alex is first is 1/4.

    With repeats allowed and count 2, each position has four choices, so 16 ordered outcomes exist and (Alex, Alex) becomes possible. Expected number of times Alex appears across two independent picks is 2 × (1/4) = 1/2. Running the Random Name Picker under both unique settings with the same four-name list shows duplicates only when repeats are allowed.

    Prepare a clean roster before drawing

    Concept diagram: Inputs leads to Prepare a clean roster before… leads to ResultInputsPrepare a clean rosterbefore…Result
    Prepare a clean roster before drawing.

    Before a graded cold call or a prize draw, paste the roster into a plain text editor and remove blank lines, trailing commas, and accidental duplicate spellings. The Random Name Picker treats each non-empty token as a separate pool entry, so "Alex" on two lines counts as two tickets unless the list is cleaned.

    Prefer one name per line for long class lists; comma separation works for short lists copied from a sheet row. After a unique multi-winner draw, copy both the picked list and the remaining names if later rounds must exclude prior winners. Replacing the paste with only the remaining names keeps the next unique draw inside the reduced pool without relying on memory.

    For alternating speakers, keep count at 1 and unique Yes is optional when each press uses the full roster again. If the rule is that nobody is called twice until everyone has spoken once, either shrink the paste after each pick or raise count and draw a full unique ordering in one press, then read down the list in order.

    FAQ

    How should names be formatted?

    Names may sit one per line or in a comma-separated string. Leading and trailing spaces are trimmed. Empty segments after a double comma or blank line are ignored.

    Can more unique names be picked than the list holds?

    Unique mode cannot pick more names than the parsed list length. Lower the count or add names, then draw again. Repeat mode can request any positive count even when the list is short.

    Are duplicate pasted names treated as one person?

    Duplicate pasted lines stay as separate pool entries. Deduplicate the text before drawing if each person should appear only once in the roster.

    Does the Random Name Picker use Math.random?

    The Random Name Picker does not use Math.random. Shuffles and index picks go through crypto.getRandomValues in the shared random helper.

    Do pasted names leave the device?

    Pasted names and pick results stay in the browser for that session. Generation does not post the roster to a server as part of the draw.

    How are giveaway winners ordered?

    Unique mode returns names in shuffle order. Treat the first listed name as first drawn if prize rank matters. Re-drawing creates a new order.

    Can teams be formed automatically?

    The tool returns a flat list of picks. Assign those names to team labels in a sheet or on the board. Equal group sizes are a manual step after the draw.

    What happens to remaining names?

    After a unique draw, remaining names are the shuffled entries after the picked prefix. They are the people not selected in that batch. Repeat mode leaves the full list conceptually intact for every pick.

    What is the minimum list size?

    At least one non-empty name is required. Default sample names appear on first load so the field is not blank; replace them with the real roster before any official draw. The Random Name Picker trims spaces and drops empty tokens after splitting.

    Can commas and line breaks mix in one paste?

    Yes. Both newline and comma splitting run on the raw string, so a mix of line-separated and comma-separated names in one paste still forms one pool. Clean odd empty segments that appear after a trailing comma.

    Closing summary

    The Random Name Picker turns a pasted roster into one or more fair selections with an explicit unique-or-repeat control. Unique picks shuffle via Fisher-Yates and crypto.getRandomValues; repeat picks sample the list independently. Use it for cold calls and giveaways, keep rosters local to the browser, and record results when an audit copy is required.