Random Number

Related Tools

0 comments

How it works

You set a minimum and maximum, how many numbers to draw, and whether duplicates are allowed. Each number comes from crypto.getRandomValues — the browser's cryptographically secure random source — using rejection sampling so every value in the range is equally likely (no modulo bias). With no-duplicates on, drawn values are removed from the pool. Everything runs locally; nothing is sent anywhere.


              n = min + (secureByte mod range)   // bytes ≥ 256 − (256 mod range) rejected
            

Common use cases

  • Draw a raffle or giveaway winner from a numbered list.
  • Pick lottery-style numbers with no repeats in one click.
  • Generate random test data or pick a random row number.

Frequently asked questions

Is it truly random?

It uses crypto.getRandomValues, the same CSPRNG browsers use for security, with rejection sampling to avoid modulo bias — so each number in your range is equally likely.

Can I get numbers with no repeats?

Yes. Turn on "no duplicates" and each drawn value is removed from the pool. The count is capped at the range size when this is on.

What range can I use?

Any integers where min is less than or equal to max. Very large ranges work fine since numbers are computed, not stored.

Is anything sent to a server?

No. Generation happens entirely in your browser; no numbers leave your device.