Random Number Generator

Generate secure random numbers, flip coins, and roll dice.

Number Generator

How It Works

This tool uses the browser's crypto.getRandomValues() API, which generates cryptographically secure random numbers using the operating system's entropy source. This is fundamentally different from Math.random(), which uses a deterministic pseudo-random algorithm and is not suitable for security-sensitive applications.

Common uses: generating random samples for statistics, picking lottery numbers, running simulations, tabletop gaming, and anywhere you need unbiased, unpredictable values. The no-duplicates mode uses rejection sampling to ensure a perfectly uniform distribution across the selected range.

Frequently Asked Questions

How does a random number generator work?

This tool uses the browser's crypto.getRandomValues() API, which draws from the operating system's entropy source (hardware events, timing jitter, etc.). This is cryptographically secure and unpredictable, unlike Math.random() which uses a deterministic algorithm.

What is the difference between a random number and a pseudo-random number?

A true random number comes from a physical process (hardware noise, radioactive decay). A pseudo-random number is generated by a deterministic algorithm seeded with an initial value — it looks random but is reproducible. crypto.getRandomValues() uses entropy from the OS hardware, making it suitable for security applications.

Can I generate random numbers without duplicates?

Yes — enable the "No duplicates" mode. The generator uses rejection sampling to produce a uniformly distributed set of unique values across your chosen range.

What is a fair coin flip or dice roll?

A fair coin flip is 50/50 — heads or tails equally likely. A fair six-sided die gives each face a 1/6 probability. This tool uses cryptographic randomness so each outcome is unbiased and independent of previous results.