Random Number Generator

Generate random integers or floating-point numbers within custom boundaries.

Generated Output
Press Generate

Pseudo-random, and when that matters

Software rarely produces true randomness. Most generators are pseudo-random: a deterministic algorithm started from a seed, producing a sequence that passes statistical tests for randomness but is entirely reproducible if you know the seed. That reproducibility is a feature for simulation and testing, where you want the same "random" run twice.

It is a serious weakness elsewhere. A generator like JavaScript's Math.random is fine for shuffling a deck in a game and must never be used for anything security-sensitive— passwords, tokens, keys — because its output can be predicted from observed values. Cryptographically secure generators such as crypto.getRandomValues draw on operating-system entropy gathered from genuinely unpredictable physical sources.

Two things people misread as bugs. Clustering is expected: in truly random output, runs and repeats occur far more often than intuition suggests, and a sequence with no repeats is evidence of something non-random. And naively taking a modulus of a random integer introducesmodulo bias, making low values slightly more likely unless the range divides evenly — correct implementations reject and redraw at the boundary.

Frequently Asked Questions

Are generated numbers truly random?

Numbers are generated using Web Crypto API (`crypto.getRandomValues`) when available, providing cryptographically secure pseudo-random numbers.

Can I generate multiple unique random numbers?

Yes, specify the count of numbers to generate and toggle duplicate filtering.

Is my input stored anywhere?

No. All number generation happens 100% locally in your browser.

Are these numbers truly random?

They come from the browser's pseudo-random generator, which is deterministic given its internal state but statistically uniform and entirely adequate for games, sampling and simulations. True randomness requires a physical entropy source. Never use a general-purpose PRNG for cryptographic keys, lotteries or anything an adversary could profit from predicting.