Random Number Generator — Cryptographically Strong, Free Online
Generate truly random numbers using your browser's cryptographic random source. Integer or decimal, with min/max range, unique values, sorting, multiple separators, and download.
Random Number Generator — Cryptographically Strong
Generate truly random numbers using your browser’s built-in cryptographic random source (crypto.getRandomValues). Unlike Math.random() which is a pseudo-random generator suitable only for simulations, this tool uses the same entropy source used to generate cryptographic keys — meaning each number is unpredictable and statistically uniform. Pick a range, choose integers or decimals, optionally enforce uniqueness, and export up to 10,000 numbers per generation.
Features
- Cryptographic randomness via
crypto.getRandomValues(modulo bias avoided) - Integer or decimal output with configurable decimal places (0–15)
- Custom range: any min/max (negative, positive, floats allowed)
- Unique values: guarantee no duplicates (with smart attempt limit)
- Sort ascending: for ordered lists
- 5 separators: newline, comma, space, semicolon, pipe
- Up to 10,000 numbers per generation
- Download as .txt for use in scripts or spreadsheets
Common uses
- Lottery/raffle picks: pick winners from a numbered list
- Sampling: select random rows from a dataset (row indices)
- Testing: seed test data with realistic numeric inputs
- Games: dice rolls, card draws, board positions
- Decision making: randomly pick an option from a list
- Statistical experiments: Monte Carlo simulations (small scale)
How “random” is random?
The Web Crypto API guarantees outputs are cryptographically strong — meaning even with the full history of previous outputs, predicting the next one would require breaking modern cryptography. This is far stronger than Math.random() (which is predictable given enough samples) and stronger than what you’d need for almost any non-cryptographic purpose.
Privacy
All generation happens in your browser. No numbers are uploaded.