Generate random numbers, securely
This tool produces random numbers in several modes: a single value in a range, a set of unique numbers (no
repeats), a list that allows duplicates, dice rolls, coin flips, and lottery picks. Crucially, it draws from the
browser's Web Crypto API rather than Math.random(), so the results are
cryptographically secure rather than predictable.
Pseudorandom vs. truly random
Most everyday random functions are pseudorandom: an algorithm produces a sequence that looks random but is fully determined by a starting seed, so it can in principle be predicted or reproduced. Cryptographically secure generators, like the one this tool uses, gather unpredictable entropy from the operating system, making the output suitable for anything where guessability matters, such as picking a fair winner or generating a token.
Numbers with or without repetition
The distinction matters depending on your task. A dice roll allows repetition, because rolling the same number twice is normal. A raffle draw or lottery needs unique numbers, because the same entry should not be picked twice. This tool offers both, so you can draw a set of distinct winners or a list where duplicates are allowed, as the situation requires.
Common uses
Random numbers drive giveaways and prize draws, sampling and shuffling, games and dice (including polyhedral dice like the d20 used in tabletop role-playing), decision-making coin flips, and quick lottery-style picks. Because each generation is independent and unbiased, every outcome in your chosen range has an equal chance.
Last updated: July 2026