Random Number Generator
Set a range, choose how many numbers you want, and draw them. The values come from the Web Crypto API rather than the ordinary pseudo-random generator, and the mapping into your range rejects and redraws the few values that would otherwise skew the result, so every number in the range is genuinely equally likely. Turn on unique to draw without replacement, the way a real draw works, and use the presets for the common cases — 6/45 lotto, Powerball, a pair of dice. Output copies as commas, spaces or one number per line, so it drops straight into a spreadsheet or a script. Everything is generated in your browser.
Presets
How to use
- Set the min / max range and how many numbers to draw.
- Toggle unique if you don't want duplicates.
- Pick a sort order and an output separator.
- Click Generate.
Frequently asked questions
- How random is it?
- Uses crypto.getRandomValues + rejection sampling so every number in the range is equally likely — no modulo bias even when the range doesn't divide evenly into 2³².
- Is it good enough for a real lottery draw?
- Statistically yes — the same primitive that powers TLS keys. For any official draw you'd still need an auditable process; this is for fair fun and fair selection.
- Why does 'unique' have a cap?
- If you ask for more unique numbers than fit in your range (e.g. 10 uniques in 1–5), there's no solution. The tool shows a warning instead of looping forever.
- What's Powerball / Lotto in the presets?
- Powerball uses 5 unique numbers from 1–69 (the main pool). Lotto-style 6/45 uses 6 unique from 1–45. Dice draws 3 numbers from 1–6 with duplicates allowed.
- Are the numbers really evenly distributed?
- Yes, and the detail that makes it true is easy to get wrong. Simply taking a random 32-bit value modulo the range size makes the first few numbers slightly more likely, because the range rarely divides evenly into 2^32. This tool discards the values that fall in the uneven tail and draws again, so what remains maps onto the range exactly.
- Can I reproduce the same draw later?
- No. There is no seed to set - a cryptographic generator is designed not to be reproducible, which is the whole point of using one. If you need a draw you can prove and repeat, record the result when you make it; regenerating will not give you the same numbers.
- Why not just use the ordinary random function?
- For picking a colour or shuffling a playlist, it is fine. It becomes the wrong tool when the outcome matters to someone: an ordinary generator has a fixed internal state that can be inferred from enough outputs, so a sequence is predictable to anyone who cares to work it out. For a prize draw, a team assignment or anything a person might contest, an unpredictable source is worth the nothing it costs.
Related tools
Lottery Number Generator
Generate random tickets for 8 popular lotteries (Powerball, EuroMillions, Lotto 6/45, Loto 6, 双色球…) — uses crypto-secure RNG.
Playing Card Drawer
Draw N cards from a properly shuffled 52-card deck (optional jokers), with deck-tracking so you don't draw the same card twice.
Random Picker — Roulette & Ladder
Pick a winner with a spinning wheel or a ladder (ghost-leg) draw.
Raffle Draw
Pick N winners from a list of names — cryptographically random, with or without duplicates.
Random Date Picker
Pick N random dates between two boundaries — with options for unique-only, sorted, and weekdays-only.
Fibonacci Sequence Generator
Generate the first N Fibonacci numbers — 0, 1, 1, 2, 3, 5, 8 … — with exact big-integer precision, and see the last term, the running sum and the golden-ratio approximation of the final two terms.