What Is This Tool?
A random number generator picks numbers from a range where every value has an equal chance. People use it to draw raffle and giveaway winners, assign teams randomly, pick lottery numbers, create random samples for surveys, roll oversized dice for games, and make unbiased decisions.
Quality matters more than it looks: naive generators have subtle bias toward parts of the range. This tool uses crypto.getRandomValues(), the browser API standardized by the W3C Web Cryptography specification, which requires implementations to "generate cryptographically strong random values." That's a stronger guarantee than Math.random(), which browsers explicitly do not require to be unpredictable or unbiased. Combined with rejection sampling — the textbook method for removing range bias — every number in your chosen range ends up exactly as likely as every other.
Why Use It?
- Any range, including negative numbers, up to 10,000 numbers at once.
- "No duplicates" mode for fair draws — like pulling numbered balls from a bag.
- Optional sorting for readable lists.
- Provably fair: cryptographically secure and bias-free, suitable for real giveaways.
- Private and instant — generated on your device, nothing logged.
How to Use
- Set the minimum and maximum (both included).
- Choose how many numbers you need.
- Check "no duplicates" for a draw without repeats, and "sort" if you want an ordered list.
- Click "Generate Numbers" — a single number shows large, lists show one per line.
- Click "Copy All" for lists.
Example
Input
Min: 1, Max: 50, Count: 6, no duplicates, sortedOutput
3
11
24
30
42
49A classic lottery-style draw: six unique numbers from 1–50, sorted.
Practical tips
- Need a list instead of one number? Set count above 1 — the tool prints one number per line, ready to paste into a spreadsheet column.
- Rolling for a board game or tabletop RPG? Set min/max to match the die (1–6, 1–20) and generate several rolls at once instead of tapping "generate" repeatedly.
- Drawing a small survey sample from a numbered list of 500 respondents? Set the range to 1–500, turn on "no duplicates", and pull as many IDs as you need — nobody gets picked twice.
- Picking a single winner from a pool works the same way as generating a list: set count to 1 and the range to your entrant count.
- For lottery-style number generation (say, 6 numbers from 1–49), "no duplicates" plus sorting mirrors how real lottery draws are read out.
Random number vs. random number list
A single random number and a random number list come from the same generator — the only difference is the count you request. Set count to 1 to generate a number, or raise it and this doubles as a random number list generator, printing one value per line for easy pasting into a spreadsheet. Both modes draw from the same cryptographically secure, bias-free source.
If you need unique IDs rather than numbers for a draw, a UUID is the better fit — it's designed to never collide across systems, not just within one batch.
Popular ranges: 1-6, 1-10, 1-30, 1-100 and more
Most people need a random number in one of a few classic ranges, so the tool has one-click presets for them. 1–6 is a standard die roll (use 1–20 for tabletop RPGs); 1–8 and 1–30 are common for classroom picks and small raffles; 1–10 and 1–100 are the everyday "pick a number" ranges; 1–1000 works for bigger pools.
Every preset is just a shortcut — it fills min and max and generates immediately. Need a random number between 1 and 20, 5 and 50, or -10 and 10? Type any bounds, including negative numbers. Both ends are always included in the draw.
A "number randomizer" and a "random number generator" are the same thing: set the range, click generate, and you get an unbiased pick. For repeated draws (say, calling bingo numbers from 1–90), enable "no duplicates" so each number is only called once.
Frequently Asked Questions
Are the numbers truly random?
They come from crypto.getRandomValues(), your operating system's cryptographic randomness source, applied with rejection sampling to remove range bias. For draws, games and sampling this is as fair as it gets. If you specifically need randomness for cryptographic keys or authentication secrets rather than draws and games, use a dedicated password or key generator — same underlying randomness source, but built for that use case's other requirements (length, character sets, no accidental logging).
Are min and max included in the results?
Yes, both ends are inclusive. A range of 1–10 can produce both 1 and 10.
What does "no duplicates" do exactly?
Each number in the range can appear at most once, like drawing numbered balls from a bag without putting them back. The count therefore can't exceed the range size — the tool tells you if it does.
Can I use this to pick a giveaway winner fairly?
Yes. Number your entrants 1 to N, generate one number in that range, and the result is an unbiased pick. For multiple winners, use "no duplicates" so nobody wins twice.
Why did the same number appear twice in my list?
Without "no duplicates", each draw is independent — repeats are normal and actually proof of real randomness (dice can roll the same value twice). Enable "no duplicates" if you need each number once.
How do I generate a random number between 1 and 100?
Click the 1–100 preset (or set Min to 1 and Max to 100) and hit "Generate Numbers". Every integer from 1 to 100 has exactly a 1-in-100 chance. The same works for any range — 1 to 10, 1 to 30, 1 to 1000, or custom bounds.
Can I roll a dice with this (random number 1-6)?
Yes — use the 1–6 (dice) preset. For several dice at once, raise the count: e.g. count 4 with range 1–6 rolls four dice in one click. For a D20, set the range to 1–20.
How do I run a random number draw, like bingo or a raffle?
Set the range to your full pool — 1–90 for bingo, 1 to your ticket count for a raffle — turn on "no duplicates", and generate the whole list at once. Reading that list out in order is mathematically the same as drawing the numbers one at a time without putting them back, just faster.