HomeText & Developer Tools › Random Picker & Number Generator

Random Picker & Number Generator

Generate random numbers in any range, with or without repeats, or paste a list of names and let the page draw winners fairly - using your browser's cryptographic randomness.

Two modes, one fair draw

Random numbers gives you values between a minimum and a maximum, inclusive of both ends. Leave allow repeats unchecked and every number is different, which is what you want for a lottery-style pick such as 6 numbers from 1 to 49. Check it and each draw is independent, so the same value can appear twice - the correct model for simulating dice, coin flips or survey sampling with replacement. Pick names takes a list with one entry per line, ignores blank lines, trims stray spaces, and draws the number of winners you ask for without ever picking the same line twice.

Both modes draw without replacement using the same method: pick a random position in the remaining pool, take that entry, remove it, repeat. That guarantees a uniform result and no duplicates. If you ask for more picks than there are entries, the tool simply returns the whole list in random order, which doubles as a way to randomize a running order or a schedule.

Where the randomness comes from

The page uses crypto.getRandomValues(), the browser's cryptographically secure random source, which draws entropy from the operating system - the same pool used to create TLS session keys. It is available in every browser released since about 2012. If it is missing, the page falls back to Math.random() and says so in the results.

Getting a fair number in a range takes a little care. Simply computing random % range introduces modulo bias: because 2^32 is not usually divisible by your range, the lowest values come up slightly more often. This tool uses rejection sampling instead - it discards any raw value that falls in the incomplete final block and draws again - so every value in the range is exactly equally likely. For a range of 100 the bias would have been tiny, but for large ranges it is measurable, and the fix costs nothing.

Using it for giveaways and classrooms

For a social media giveaway, export the entrants, paste the list here, check that the count shown matches what you expect, and draw. Record a screen capture of the draw if you need to show entrants it was fair; also draw one or two alternates in the same pass, since winners often do not respond. Remove duplicate entries first if one person could enter several times and you want one entry each - the sort and dedupe tool on this site does that in a click.

In a classroom, use the name picker for cold calling, group assignments or presentation order. Teachers usually want every student called once before anyone repeats, so set the pick count to the full class size and use the shuffled order top to bottom. Everything runs locally in your browser, so student names and entrant lists never leave the machine, and no result is recorded anywhere - take a screenshot if you need proof of the outcome.

Frequently asked questions

Is the draw actually random?

Yes. It uses the browser's cryptographic random generator plus rejection sampling to avoid modulo bias, so every number or name has exactly the same chance. Nothing is weighted or seeded.

Can the same name be picked twice?

No. Names are drawn without replacement, so each entry can win at most once. Numbers can repeat only if you check 'allow the same number twice'.

How many entries can I paste?

Tens of thousands of lines work fine, and up to 500 numbers can be drawn at once. Blank lines are ignored and surrounding spaces are trimmed automatically.

Does the tool save the results?

No. The draw happens in your browser and is gone when you reload the page. Take a screenshot or copy the list if you need a record of a giveaway.