Random Number Generator
Generate random numbers in any range, one at a time or a whole batch, with or without repeats.
How it works
Pick a minimum and a maximum, say how many numbers you want, and press Generate โ
the random number generator draws them instantly. Tick No repeats for a
unique set (perfect for raffles, lottery numbers or picking winners), choose 1โ4 decimal
places if you need random decimals rather than whole numbers, and sort the result lowest
or highest first. The numbers come from your browser's cryptographic randomness source
(crypto.getRandomValues) with rejection sampling, so every value in the range
is equally likely โ no modulo bias, unlike a plain Math.random() script.
Everything runs on your device: nothing is sent to a server, so no one can log or predict
the numbers you drew. Copy them in one click or download them as a plain text file.
Frequently asked questions
How does this random number generator work?
You set a minimum and a maximum, choose how many numbers you want, and press Generate. Each number is drawn with your browser's cryptographic randomness source (crypto.getRandomValues) using rejection sampling, so every value in the range is equally likely and there is no modulo bias. Everything runs in your browser, so the numbers are never sent to or stored on a server.
Are online random number generators truly random?
This one produces cryptographically secure pseudo-random numbers, the strongest randomness a browser can generate and unpredictable for any practical purpose: games, giveaways, sampling or testing. It is not physical randomness harvested from atmospheric noise, so a regulated lottery draw would still use a certified hardware source, but for everything else it is more than random enough.
Can I generate random numbers without repeats?
Yes. Tick "No repeats" and every number in the result is unique, which is ideal for raffles, lottery lines or picking winners. If you ask for more numbers than the range contains (for example 10 unique numbers between 1 and 5), the tool tells you exactly how many unique values are available instead of silently repeating them.