How to generate a random number
- 1Enter a Minimum and a Maximum. The default range is 1 to 100, so the first result is already a random number between 1 and 100.
- 2Set How many numbers you want, from 1 to 10,000. Add Decimal places if you need values like 4.27 instead of whole numbers.
- 3Tick No repeats to make every number different, which is what you need to generate random numbers for a raffle draw or a lottery pick. Choose a Sort order if you want them in order.
- 4Click Generate again for a fresh set. Use a Quick preset for 1 to 10, 1 to 100, a six-sided die or a 6-of-49 lottery draw.
- 5Click Copy all to copy the numbers, one per line, or the copy icon next to a single value.
How this random number generator works
A random number generator picks values so that every number in the range is equally likely and no result predicts the next. This tool uses the Web Crypto API, the same source of randomness your browser uses for encryption keys, instead of Math.random. That makes it a proper RNG generator for draws, sampling and games where fairness matters.
A subtle mistake in many generators is modulo bias. If you take a random 32-bit value and use the remainder when dividing by the range, some numbers come up slightly more often than others. This tool uses rejection sampling: values that would cause bias are thrown away and redrawn, so every number in your range has exactly the same chance. Ranges larger than 4 billion are handled with 53 random bits, which covers every safe integer.
With No repeats on, the generator draws without replacement, like pulling numbered balls from a bag, so you never get the same number twice. It uses a sparse shuffle, so you can pick 100 different numbers from a range of a trillion without building a huge list. If you ask for more unique numbers than the range holds, the tool tells you instead of looping forever.
As a random number picker it works for raffles, classroom draws, test data and picking who goes first. It is not a substitute for a regulated lottery or an audited draw. Everything runs locally, so nothing you generate is sent to a server or logged.
When people generate random numbers
Raffles and giveaways
Set the range to the number of entries, turn on No repeats and pick as many winners as you need.
Lottery-style picks
Use the 6-of-49 preset as a quick lottery number generator, sorted so the numbers are easy to read.
Test data and sampling
Create lists of integers or decimals for fixtures, spreadsheets, load tests or choosing rows to inspect.
Games and decisions
Roll a die, pick a number between 1 and 10 or settle who goes first without needing physical dice.
Frequently asked questions
Is this number generator truly random?
+
It uses your browser's cryptographically secure generator, which is seeded by the operating system and is suitable for fair draws. It is not hardware randomness, but it is not predictable in practice.
How do I get a random number between 1 and 100?
+
Leave the defaults of 1 and 100 and click Generate again. The Quick presets also include 1 to 10 and 1 to 6 for a die.
How can I avoid duplicate numbers?
+
Tick No repeats. The generator then picks without replacement, so each value appears at most once. It reports an error if you ask for more numbers than the range contains.
Can it generate decimals or negative numbers?
+
Yes. Negative minimums work, and Decimal places from 1 to 10 give values such as 3.14 or -0.7 within your range.
Are the numbers stored or sent anywhere?
+
No. The numbers are created in your browser and are never uploaded or logged.
Related tools
Password Generator
Create strong, secure passwords with customizable length and character sets.
UUID / GUID Generator
Generate cryptographically secure UUIDs (v4) in standard, hyphen-free, uppercase, or braced GUID formats. Bulk generation up to 1,000.
Secret Key Generator
Generate cryptographically-secure keys and tokens for AES-128/192/256, HMAC, JWT, OAuth client secrets, session cookies, CSRF, and Django SECRET_KEY. Standard presets plus fully custom byte sizes — hex, Base64, Base64URL, Base58, or alphanumeric output. Bulk generation up to 100 at once.
Binary, Hex & Decimal Converter
Convert numbers between binary, octal, decimal, and hexadecimal. Real-time conversion with input validation and BigInt precision for large values.