Random numbers
Generate any quantity of numbers in any range.
What you can use this for
Decide who buys the next round of coffee. Pick a winner for a giveaway. Generate a sample for a stats homework. Roll dice in a board game when the cat ate your last d20. Pick numbers for any lottery whose matrix isn't on GoNumy. Anything that needs an unbiased integer in a fixed range — that's what this tool does.
Set "How many" to 1 if you just need a single number; set the range to 6 if you want a virtual die. For a coin flip, use range 2 (we'll give you 1 or 2 — call one of them heads).
How the generator works
Numbers are drawn uniformly without replacement. With "How many = 5" and "Range = 50", you get five distinct integers between 1 and 50, each with the same chance of being picked. No duplicates, no bias.
The underlying source of randomness is the browser's Math.random when JavaScript is available, falling back to the server's V8 randomness when it isn't. Both are non-cryptographic but statistically sound for lottery-style purposes — Math.random is a well-studied, uniformly distributed PRNG that passes standard distribution tests like chi-squared — which is what matters here.
Security note: don't use these picks as passwords, session tokens, or anything where an adversary could observe a few outputs and predict the next. For that, use your operating system's CSPRNG — crypto.getRandomValues in the browser, crypto.randomBytes in Node, /dev/urandom on Unix.
Want lottery-style numbers instead?
If you're playing a real game, use Quick Pick — it knows each lottery's matrix and gives you a valid ticket's worth of numbers. Or for a deterministic "lucky" set based on a meaningful date, try Lucky Numbers. Random Numbers is the most flexible of the three, but the other two save you from having to remember "Powerball is 5-of-69 + 1-of-26" every time you generate.