Random Number Generator
Set a range and how many numbers you need. Get integers or decimals, optionally all unique, and optionally seeded so the same settings always give the same numbers.
How it works
Without a seed, numbers come from your browser’s secure random source (crypto.getRandomValues), so every roll is independent. With a seed, a deterministic PRNG (mulberry32, seeded from a string hash) is used instead — same seed and same settings always produce the same list, which is handy for fair draws you want to verify or share.
Integers are drawn uniformly from min tomax inclusive. Decimals are drawn uniformly frommin to max and rounded to the number of decimal places you choose. “No duplicates” keeps drawing until each value is distinct, and refuses to run if the range can’t hold the requested count.
Frequently asked questions
What is a seed and when should I use one?
A seed is a word or code that makes the random sequence repeatable. The same seed with the same min, max, count and type always gives the same numbers. Use it when you need to share or verify a draw — otherwise leave it empty for fresh numbers every time.
Are these numbers truly random?
Without a seed they come from the browser’s cryptographically secure random source, which is as good as it gets for picks, raffles and simulations. They’re not from a physical entropy source, so don’t use them for high-stakes cryptography.
Why does “no duplicates” sometimes show an error?
The range has to contain at least as many distinct values as the count. For example, 6 unique integers need a range of at least 6 values (like 1–49, not 1–3). Widen the range or lower the count.
Can I get decimals?
Yes — switch the type to Decimal and pick 0–10 decimal places. Useful for random price points, measurements or test data.

