Developer Tools Runs in your browser Free · no account

Random Number Generator

The random number generator produces whole numbers in any range using the browser cryptographic random source rather than Math.random. It uses rejection sampling so every value in the range is equally likely, and can generate unique values only — a draw without replacement, for picking winners or sampling rows.

Options
Numbers

Set your options and press the generate button.

Results update automatically and are calculated on your device. Nothing you type is sent to a server.

Runs in your browser. Processing happens entirely in your browser. Nothing you enter is sent to Delimiter.live.

How to use the Random Number Generator

  1. Set the minimum and maximum — both ends are included.
  2. Choose how many numbers you need.
  3. Turn on "No repeats" for a draw without replacement, such as picking winners.
  4. Press Generate, then copy or download the list.

Example

Input
1 to 6, ten numbers
Output
4, 2, 6, 1, 3, 6, 5, 2, 4, 1

Common use cases

  • Picking winners from a numbered list of entries.
  • Selecting a random sample of rows to check from a large export.
  • Generating test data with values in a known range.
  • Choosing a random port, delay or identifier during development.

Limitations and things to watch for

  • Whole numbers only. Decimal values are not generated, because the precision and rounding rules would need to be specified and there is no obvious default.
  • Unique mode cannot return more numbers than the range contains, and asking for it reports the mismatch rather than looping forever.
  • Results are not reproducible. There is no seed option, because a seeded generator would no longer be unpredictable — which is the point of using the cryptographic source.

Frequently asked questions

Is this random enough to pick a winner?
Yes. It uses crypto.getRandomValues(), the browser's cryptographically secure random source, rather than Math.random(), which is not suitable for anything where the outcome matters.
Are the results biased towards low numbers?
No. A naive implementation that takes a modulus does skew low when the range does not divide evenly into the random source. This generator uses rejection sampling — discarding and redrawing values that would introduce that bias — so every number in the range is equally likely.
Are the minimum and maximum included?
Yes, both. Asking for numbers between 1 and 6 can return 1 and can return 6.
Can I reproduce the same sequence later?
No, deliberately. There is no seed, because seeding would make the output predictable to anyone who knows the seed. If you need a reproducible sequence, generate a list once and keep it.
Are the numbers sent anywhere?
No. They are generated in your browser and never transmitted.

Share this tool