Random number generator. Fair by construction.
crypto.getRandomValues with rejection sampling, so there is no modulo bias, every value in your range is exactly equally likely.Result
History (last 10 draws)
Why “no modulo bias” matters
The lazy way to make a random number, random() % range, slightly favours smaller values whenever the range doesn't divide evenly into the generator's space. This tool instead draws 53-bit values from your browser's cryptographic generator and rejects the few that would skew the result, so dice rolls, raffle picks and lottery lines are genuinely uniform. Unique draws use an unbiased partial Fisher, Yates shuffle. Everything happens on your device, free forever, nothing uploaded.
How to use the Random Number Generator
This generator draws random whole numbers or decimals in any range, with options for unique draws and sorting, plus one-click dice, coin and lottery presets. It uses your browser's crypto.getRandomValues and throws away the few raw values that would favor part of the range, so every number in the range is equally likely. Use it for raffles, giveaways, games, classroom picks or test data.
Step by step
-
Use a preset for quick draws
Under quick presets, press d6 or d20 to roll a die, Coin flip for Heads or Tails, 1-10 or 1-100 for one number, Lotto 6/49 for six different numbers from 1 to 49, or 5+1 ball draw for five different numbers from 1 to 69 plus a bonus ball from 1 to 26. Every preset except Coin flip and 5+1 ball draw also fills in the form below, so you can adjust it and draw again.
-
Set the range
Type the lowest value in Min and the highest in Max. Both ends can be drawn. The defaults are 1 and 100. Negative numbers and decimals are fine, and if Min is bigger than Max the tool swaps them.
-
Choose how many and how precise
Set How many from 1 to 1000; the default is 1. Pick Decimal places from 0 (integers) up to 6. With 2 places and a range of 0 to 1, the possible results are 0.00, 0.01 and so on up to 1.00.
-
Pick the options
Check Unique (no repeats) so no number appears twice, which is what you want for a raffle. Check Sort ascending to list the results from smallest to largest.
-
Generate
Press Generate, or press Enter while the cursor is in Min, Max or How many. Each press is a fresh draw.
-
Copy, export or look back
Press Copy to copy the result as a comma separated list, or Download CSV to save random-numbers.csv with one value per row under a value header. The History panel keeps your last 10 draws; click a row to copy it again, or press Clear to empty it.
Reading the result
- A single number is shown large. Several numbers appear as a row of chips in the order they were drawn, or smallest first with Sort ascending checked.
- The line under the result describes the draw, for example 6× 1-49 unique sorted, so a screenshot shows exactly what was asked for.
- In the 5+1 ball draw the last chip, marked in amber, is the bonus ball. It is drawn separately, so it can match one of the five main numbers.
- Without Unique checked the same number can come up more than once, just like rolling a die twice.
Tips and common mistakes
- If you ask for more unique numbers than the range holds, such as 20 unique numbers from 1 to 10, the tool refuses and says how many distinct values exist.
- Min and Max are rounded to the decimal places you pick. With 0 places, a range of 1.5 to 3.5 becomes 2 to 4.
- For a raffle, number your entries first, then draw with Unique (no repeats) checked so nobody can win twice.
- History rows store the label, the numbers and the time, which makes a simple record of a draw you ran in front of others.
Privacy and limits
Numbers are generated on your device by your browser's cryptographic random generator. Nothing is sent to a server. Your last 10 draws are saved in this browser's local storage under the key dh_random_history_v1 so they are still there next time; press Clear to delete them.
Every draw you'll ever need.
- Generate integers or decimals in any min/max range, up to 1,000 numbers at once, with up to 6 decimal places.
- Draw unique numbers (no repeats) for raffles, giveaways and fair team picks, via an unbiased partial Fisher, Yates shuffle.
- Roll dice and flip coins with one click: d6, d20 and a 50/50 coin-flip preset.
- Run lottery draws instantly: Lotto 6/49 or a 5+1 bonus-ball pick with the bonus highlighted in amber.
- Sort, copy and export: order results ascending, copy them to the clipboard or download a CSV file.
- Review your last 10 draws in the history panel, click any row to copy it again. Stored only in your browser.
Frequently asked questions.
Is the Random Number Generator free?
Is it private? Is anything uploaded?
Are the numbers truly random and fair?
crypto.getRandomValues, a cryptographically secure generator, combined with rejection sampling, so there is no modulo bias and every value in your range is exactly equally likely. That makes it fair for raffles, prize draws, dice games and random picks.Can I generate unique numbers with no repeats?
Can it generate decimal numbers?
Where is my draw history stored?
Published · Last updated .