Random Number Generator and Name Picker
Generate random whole numbers between any minimum and maximum, with or without repeats, or paste a list of names and draw one or more winners. Every pick uses your browser's cryptographically secure random generator, with a method that gives every outcome exactly the same chance.
Where the randomness comes from
Picks use crypto.getRandomValues, the cryptographically secure random number generator built into every modern browser. It is seeded by your operating system from hardware and system events and is designed so that past outputs do not reveal future ones. It is the same source browsers use for security keys, and it is far less predictable than the Math.random function many simple generators use.
Why "unbiased" matters
The generator produces random 32-bit numbers, from 0 to 4,294,967,295. The easy way to get a number from 1 to 10 is to take the remainder after dividing by 10 — but 4,294,967,296 is not a multiple of 10, so the remainders 0 to 5 come up one extra time each in the full range. The bias is tiny, but it is real, and it grows for large ranges. This tool uses rejection sampling: it throws away the few raw values in the last incomplete block and draws again, so every number in your range has exactly the same probability.
limit = 2³² − (2³² mod n); draw x until x < limit; result = min + (x mod n)
Picks without repeats use a Fisher–Yates shuffle, which reorders a list so that every possible order is equally likely; the first entries of the shuffled list are the winners. For number ranges too large to list, a sparse version of the same shuffle gives identical fairness without building the whole list.
Worked examples
Example 1: a single number from 1 to 100
n = 100, so the limit is 4,294,967,200; any raw value above that (96 of the 4.29 billion possibilities) is redrawn. Each number from 1 to 100 then has a probability of exactly 1/100.
Example 2: six lottery-style numbers
Minimum 1, maximum 49, how many 6, no repeats. The result lists six different numbers in draw order and again sorted, with their sum. There are 13,983,816 possible combinations, each equally likely.
Example 3: picking a raffle winner
Paste 120 names, one per line, and pick 1. Each name has a 1 in 120 chance. Picking 3 gives a first, second and third place in random order. If a name appears twice in the list, it has two entries — remove duplicates first if that is not intended.
How to read the result
A single pick appears in large type. Several numbers appear as chips in the order drawn, followed by a sorted list and their sum and mean; several names appear as a numbered list in draw order. Press Calculate again to draw afresh — each draw is independent of the last. Blank lines in the name list are ignored, and leading or trailing spaces are trimmed.
Common uses
Teachers pick students to answer, form random groups or set a presentation order; event hosts draw raffle and giveaway winners; families settle who goes first or picks the film; researchers and quality testers select random samples; gamers roll virtual dice (minimum 1, maximum 6, allow repeats); and anyone can generate a PIN-like set of digits for a non-security purpose. For a giveaway, it is good practice to record the screen while drawing so participants can see the draw was fair.
Limits and fairness notes
The range can span up to about 4.29 billion values, and up to 10,000 numbers can be picked at once. With "no repeats", you cannot ask for more numbers than the range contains, and with names you cannot pick more than the list holds. This tool is not certified for regulated gambling, official lotteries or legally binding draws, which require audited equipment and procedures. For passwords, use a dedicated password manager, which also handles storage securely. Nothing you enter is saved or sent anywhere. To check whether a set of results looks balanced, the average calculator will give their mean and median.
Probability of being picked
When several winners are drawn from a list without repeats, each entry's chance of being among them is the number of picks divided by the list length: drawing 3 names from 120 gives every name a 3 in 120, or 2.5%, chance. When repeats are allowed for numbers, each draw is independent, so the chance that a particular number appears at least once in k draws from n values is 1 − (1 − 1/n)ᵏ. Rolling a six-sided die six times, for example, gives about a 66.5% chance of seeing at least one six — not 100%, which surprises many people. Streaks and clusters are a normal feature of genuine randomness.
Frequently asked questions
Is this random number generator truly random?
It uses the browser's cryptographically secure generator, which is unpredictable for all practical purposes, with unbiased rejection sampling.
Can I pick numbers without duplicates?
Yes. Choose 'No repeats'. The tool refuses if you ask for more numbers than the range holds.
Is every name equally likely?
Yes. The list is shuffled with Fisher–Yates using the secure generator, so each entry has the same chance.
Can I use it for an official lottery?
No. Regulated lotteries and gambling require certified, audited systems.