Random numbers: uses, fairness, and security
When you need unpredictable values—inclusive ranges, lists without replacement, or decimal samples—understanding where randomness comes from helps you pick the right tool and avoid weak sources for sensitive work.
The math of randomness
True randomness in nature comes from physical noise sources hardware RNGs can measure. Pseudo-random sequences are deterministic from a seed but can look random statistically. This page uses the browser’s Web Crypto API, which is intended for security-sensitive random bytes on modern platforms.
Practical uses
- Giveaways & raffles — winner from ticket numbers or entries.
- Sampling — participants or rows for surveys and experiments.
- Games & simulation — dice-style draws and Monte Carlo workflows.
- Testing — placeholders and fuzz inputs in development.
Security note
Use cryptographically strong RNGs when prediction would help an attacker (keys, tokens, high-stakes draws). This tool uses crypto.getRandomValues(). Math.random() is fine for low-stakes UI or games but is not appropriate for secrets.
Range, limits, duplicates
Lower and upper bounds are inclusive. Single Number mode supports very large integer ranges. In list mode you can request up to 1000 values. With integers and duplicates off, draws are without replacement until the range is exhausted (count cannot exceed the number of integers in range). Decimals are independent draws; the duplicate toggle applies only to integer list mode.