Random Number Generator — Min, Max, Bulk, Unique
Generate random integers using crypto.getRandomValues, not Math.random. Unique-only mode, up to 1000 per run, entirely in your browser.
Math.random is not random enough for a giveaway
If you pick a giveaway winner using Math.random, someone with network access or browser knowledge might predict the outcome. Math.random returns a pseudorandom number from an algorithm, not from the operating system's entropy pool — it was designed for shuffling animations and game sprites, not for fairness-critical tasks. The sequence is reproducible if someone knows the seed value.
Cryptographic randomness draws from OS entropy
crypto.getRandomValues is different. It pulls bytes directly from the operating system's entropy source — on Linux, that is /dev/urandom; on Windows and macOS, it is the system CSPRNG. This entropy comes from hardware events and system noise, making it unpredictable from the outside. Each number is drawn fresh, making prediction impractical even if an attacker can see your code.
This tool uses crypto.getRandomValues for every number
Whether you need one random integer or a thousand, this generator calls crypto.getRandomValues for each one. Toggle Unique numbers only and it will block impossible requests — you cannot ask for 50 unique values from a range of 1–20. The maximum count per run is 1000. All results are generated in your browser without sending anything to a server.
This is fine for giveaways, not an audited lottery
A browser CSPRNG is suitable for selecting a winner or sampling a dataset. It is not suitable for a regulated lottery system, where the randomness must be verifiable and audited by a third party. Use this tool to pick a name from a list or set random parameters for a test — do not use it to distribute prizes in a jurisdiction with gambling laws.
Need to pick between a fixed set of choices? See the Random Decision Maker.
How to use the Random Number Generator
Takes about a minute. No signup, no download, your data stays in your browser.
- 1Open the tool. Scroll up to the Random Number Generator above — it loads instantly in your browser, no install needed.
- 2Enter your values. The fields come pre-filled with realistic defaults so you can see how it works — replace them with your own numbers.
- 3Read the result. The output updates instantly. Copy or share it — nothing is uploaded to a server, everything stays on your device.
Frequently asked questions
Common questions about the Random Number Generator.
Is this random enough for a prize draw?
For an informal giveaway, yes. It uses crypto.getRandomValues, which draws from the operating system entropy pool rather than a seeded algorithm, so results are not predictable from the code. For a regulated lottery that must be independently audited and verifiable, no — those require a certified system, not a browser.
What is the difference between this and Math.random?
Math.random is a seeded pseudorandom algorithm designed for games and animations; given the seed, its sequence is reproducible. crypto.getRandomValues pulls bytes from the operating system CSPRNG, which draws on hardware and system noise. For anything where fairness matters, the second is the correct choice.
How many numbers can I generate at once?
Up to 1000 per run. If you switch on Unique numbers only, the count is also capped by the size of your range — you cannot draw 50 unique values from a range of 1 to 20, and the tool blocks that request rather than looping forever.
Are the numbers sent to a server?
No. Everything runs in your browser using the built-in Web Crypto API. No request is made and no numbers leave your device, so nothing you generate is logged or recoverable by anyone else.
Community rating
Discussion (0)
No comments yet. Start the discussion.
Keep exploring
Related tools across 7BusyBoss — all free, all instant.