Random Number Generator
Generate truly random numbers in any range. Dice presets, bulk generation, and instant results — all inside your browser.
🔐 True Randomness
Uses crypto.getRandomValues() — a cryptographically secure source, not the predictable Math.random().
🎲 Uniform Distribution
Every number in your range has an exactly equal probability of being chosen. No bias, no patterns.
🔒 100% Private
Nothing is sent anywhere. All generation happens locally in your browser. Zero tracking, zero logs.
Frequently Asked Questions
Is this truly random?
Yes. This tool uses crypto.getRandomValues(), a cryptographically secure pseudo-random number generator built into every modern browser. It is far superior to Math.random(), which is not cryptographically secure.
What is the maximum range I can use?
You can enter any integer values for min and max. For very large ranges (above 2³²), the unbiased rejection-sampling algorithm used here ensures perfectly uniform distribution with no modulo bias.
Can I generate lottery numbers?
Yes — use the "6 of 49" preset to generate 6 unique numbers between 1 and 49, matching standard lottery formats. You can also set a custom range and count to match any lottery format worldwide.
What does "bulk mode" do?
Setting the count above 1 generates multiple independent random numbers in a single click. Each number is independently sampled from the same range with equal probability.