Developer Tools

Random Number Generator — Cryptographically Secure, Free, No Upload

🔒 Runs in your browser

Generate random numbers using your browser's crypto.getRandomValues() — the same CSPRNG used for cryptographic keys. Set a range, pick a count, choose integer or decimal, and optionally require unique values. Nothing reaches a server.

How to use this tool

  1. Set the minimum and maximum range.
  2. Choose how many numbers to generate.
  3. Click Generate and copy the result.

About Random Number Generator

The Random Number Generator produces batches of random numbers from a range you define, using your browser's cryptographically secure random source rather than the predictable Math.random(). You set a minimum and a maximum, choose how many numbers to generate (1 to 100), pick the number of decimal places (0 to 6), and optionally require that every value in the batch is unique. Click Generate and the results appear as a comma-separated list you can copy in one click.

Under the hood every draw reads fresh entropy from crypto.getRandomValues() into a 32-bit unsigned integer, the same CSPRNG browsers expose for generating cryptographic keys. For integers (zero decimals) the tool scales that value across the inclusive range min to max. For decimals it scales across the range and rounds to the requested number of places. When you ask for unique integers, the algorithm adapts to the range size: for ranges up to 10,000 possible values it builds the full pool and performs a cryptographic Fisher-Yates shuffle, then takes the first N, which guarantees no repeats; for larger ranges it draws values and rejects duplicates with a Set, capped at ten times the requested count to avoid an unbounded loop.

This is useful for sampling, picking lottery-style draws, seeding test fixtures with realistic spread, selecting raffle or giveaway winners, or generating dice-like rolls. Because the source is a CSPRNG, the output is suitable wherever you would distrust the bias and predictability of ordinary pseudo-random functions.

The tool validates your inputs and reports clear errors instead of producing nonsense. Min must be less than max, or you get a message saying so. Count must be between 1 and 100. If you request more unique integers than the range can hold (for example, 50 unique values from 1 to 10), it tells you the range is too small. Note that the unique guarantee applies cleanly to integers; with decimals enabled, uniqueness is not separately enforced, though collisions are extremely unlikely across a continuous range. All generation happens locally and nothing is sent to a server.

Frequently Asked Questions

Are the numbers truly random?
They come from crypto.getRandomValues(), your browser's cryptographically secure pseudo-random number generator. This is the same source used for cryptographic key material and is far less predictable than Math.random(), which is not designed for security-sensitive use.
What does the Unique only option do?
It guarantees no value repeats within the generated batch. For integer ranges up to 10,000 possible values, the tool builds the full pool and shuffles it with a cryptographic Fisher-Yates shuffle, then takes the first results. For larger ranges it draws and rejects duplicates.
Why am I getting an error about too many unique numbers?
If you ask for more unique integers than the range can contain, there is no way to fill the batch without repeats. For example, you cannot draw 20 unique integers from 1 to 10. Widen the range or lower the count to resolve it.
How many numbers can I generate at once?
Between 1 and 100 per batch. If you enter a count outside that range, the tool reports an error rather than generating anything. Generate again to get a fresh batch.
Can it generate decimals?
Yes. Set the decimal places field from 0 to 6. With zero decimals you get integers; with more, each value is scaled across the range and rounded to that precision. The Unique guarantee is enforced for integers specifically.
Is this suitable for drawing contest or raffle winners?
Yes. Because the values come from a cryptographically secure source rather than a predictable generator, the draw is hard to game. Use Unique only so the same entry number is not picked twice in one draw.
Does my range or output get sent anywhere?
No. All generation happens in your browser, and neither your settings nor the results are transmitted to any server.
Embed this tool on your site

Free. One line of HTML — the tool runs in your visitor's browser, no data sent to anyone.

<iframe src="https://brevio.pro/embed/random-number-generator" width="100%" height="600" loading="lazy" style="border:1px solid #e5e5e5;border-radius:8px" title="Random Number Generator — brevio"></iframe>
<p style="font:12px/1.4 sans-serif"><a href="https://brevio.pro/tools/random-number-generator">Random Number Generator</a> by <a href="https://brevio.pro">brevio</a></p>
More free toolsSee all 492 →
Random Number Generator — Cryptographically Secure, Free, No Upload | brevio