Random Number & Group Picker

Generate random integers (with no-repeat and a seeded PRNG option) or split any name list into balanced teams instantly — all in your browser.

Picker Mode

Click Generate Numbers…

Range: 1 to 100 · count 1 · unseeded (Math.random)

How Randomness & Group Assignment Works

Understand pseudo-random generators, uniform integer ranges, seeding, and the Fisher–Yates shuffle behind fair team picks.

Uniform Random Integers & BigInt Ranges

A random integer in an inclusive range [min, max] needs a source of uniform randomness. The default path uses Math.random(); when a seed is supplied, the tool switches to a mulberry32 generator, a small, fast 32-bit PRNG that produces an identical stream every time for the same seed. Because ranges are computed in BigInt, values up to the full 2⁵³−1 span (and beyond) stay exact with no floating-point drift, and rejection sampling keeps every integer equally likely.

Fair Grouping with Fisher–Yates

Group assignment starts with a Fisher–Yates shuffle: every name has an equal chance of landing in every position. The shuffled list is then dealt round-robin into the requested number of groups, so with 10 names and 3 groups you get sizes 4, 3, and 3. Round-robin dealing — not slicing — is what keeps group sizes as balanced as possible, which is exactly what teachers and tournament organizers need for fairness.

Troubleshooting & Edge-Case Failure Points

  • Reversed range: if min is greater than max, the tool refuses the input instead of silently returning garbage.
  • No-repeat overflow: requesting 100 unique numbers from a range of only 10 is impossible; the tool errors and tells you to widen the range or disable no-repeat.
  • Duplicate names: the group picker keeps duplicates as separate entries (two "Alex" lines become two members); deduplicate first if each person should appear once.
  • More groups than names: every group must contain at least one member, so the tool limits groups to the number of names entered.
  • Empty lines: blank lines in the names list are ignored automatically; only non-empty names are assigned.

Step-by-Step Instructions

  1. Choose the mode: Random Number Generator or Group / Team Picker.
  2. For numbers: enter the inclusive min and max, choose how many to draw, optionally enable no-repeat, and add a seed if you want reproducible output.
  3. Click "Generate Numbers" — every draw uses rejection sampling so each value in range is equally likely.
  4. For groups: paste one name per line, set the number of teams, and click "Assign Teams".
  5. Use "Re-roll" for a fresh shuffle, review the member counts, and copy the teams with one click.

How to Use the Random Picker

Draws one or more winners from a list with uniform probability — for giveaways, team assignments, and classroom draws.

  1. Paste names or entries, one per line.
  2. Choose how many winners (with or without replacement).
  3. Draw; the selection log keeps the process auditable.

What "Random" Has to Mean for a Fair Draw

A fair draw needs every entry to hold exactly equal probability — which casual methods quietly violate (alphabetical lists sampled by "pick a number", spreadsheet RANDBETWEEN re-rolls, or a human "just choosing" loaded with position bias — first and last list items are chronically underpicked). This picker uses uniform selection per draw; for multi-winner draws without replacement, each remaining entry's odds rise as names come out — the audit log shows the sequence so results stay contestable. For public giveaways, two practices prevent disputes: publish the entry list before drawing, and record the draw (screen capture) — randomness trusted is randomness witnessed.

Random Picker FAQ

Is the pick truly random?

Each entry has uniform probability via the browser's random source - no position bias, no re-roll ambiguity.

Can it pick multiple unique winners?

Yes - draws without replacement remove each winner, so no duplicates and rising odds for remaining entries.

How do I run a defensible giveaway draw?

Publish the entry list first, then record the draw. A visible, timestamped selection ends the "is it rigged" argument before it starts.