Random Number Generator
Pick one number or many, in any range you set, with or without repeats. Draws use your browser's cryptographic random number generator and happen entirely on this page.
Settings
Result
Private by design. This page has no backend. Draws happen in this tab using your device's own random source and nothing is sent anywhere.
How the draw works
Each number comes from crypto.getRandomValues through rejection
sampling, so every value in your range is exactly equally likely — including when
the range is not a neat power of two, where a plain modulo would quietly favour the
low numbers. Ranges wider than 4 billion use two draws combined into one 53-bit
value, which covers every integer JavaScript can represent exactly.
With repeats vs without
The default draws each number independently, so the same number can appear twice — that is what "random" usually means, and what dice do. "No repeats" instead shuffles the range with a partial Fisher–Yates pass and deals out the first however-many: the raffle behaviour, where every prize goes to a different ticket.
What randomness does not mean
A fair draw can still look lumpy. In 100 draws from 1–10 you should expect some number to appear about 12 times and another not at all; that is not a malfunction. The crypto source cannot be predicted from past results, which is exactly what you want for draws and exactly what makes it unsuitable for a practice schedule that needs variety.
Common uses
Raffle and prize draws, picking who presents first, generating test data within bounds, choosing a random page to review, board-game decisions when the dice are missing.
How to use the Random Number Generator
- Enter the lowest and highest numbers for your range.
- Choose how many numbers you want and whether repeats are allowed.
- Generate and copy the result.
Frequently asked questions
Are the numbers truly random?
They come from your browser's cryptographic random number generator and are not a predictable pattern.
Can numbers repeat?
Only if you allow repeats; turn that off to get a unique set within the range.
Can I use negative numbers or decimals?
Yes. The range accepts negative values and decimal steps.