Random Number Generator
Generate random whole numbers in a range, with or without repeats, using cryptographic randomness.
Generates random integers using crypto.getRandomValues() — the same cryptographically secure source of randomness the browser uses for security-sensitive operations — rather than Math.random(), which is fine for a game but has known statistical biases that matter for anything closer to a real draw, giveaway, or lottery pick.
Example: Picking 5 unique raffle-ticket winners from a pool of 1–500 (min 1, max 500, count 5, repeats off) returns 5 distinct numbers with no duplicates — switch repeats on to simulate 5 independent dice-style rolls instead, where the same number can come up more than once.
How it works
- Set a minimum, maximum, and how many numbers you need
- Choose whether repeats are allowed
- The numbers are generated instantly, on your device, using the Web Crypto API
Frequently asked questions
Is this truly random, or just Math.random()?
It uses crypto.getRandomValues(), the Web Crypto API's cryptographically secure random number source — the same one browsers use for generating encryption keys — rather than Math.random(), which is faster but has documented statistical weaknesses that matter for anything closer to a real drawing or lottery pick.
Can I generate random numbers without repeats?
Yes — set "Allow repeats" to No and each number in the result is guaranteed unique, generated by shuffling the full range and taking the first N values rather than re-rolling and checking for duplicates.
Is my numbers uploaded anywhere?
No — Random Number Generator runs entirely in your browser using JavaScript/WebAssembly. Your numbers is never sent to a server.