Skip to content

Random number generator. Fair by construction.

quick presets
Generated locally in your browser, nothing is uploaded.
Fair by construction: numbers come from crypto.getRandomValues with rejection sampling, so there is no modulo bias, every value in your range is exactly equally likely.

Result

Hit Generate or tap a preset to draw.

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.

§ · written guide

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Generate

    Press Generate, or press Enter while the cursor is in Min, Max or How many. Each press is a fresh draw.

  6. 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.

Back to the tool

§ 02 · what you can do

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.
§ 04 · faq

Frequently asked questions.

Is the Random Number Generator free?
Yes, completely free for everyone. No sign-up, no account and no usage limits.
Is it private? Is anything uploaded?
No upload, ever. Numbers are generated on your own device using your browser's built-in cryptographic generator, nothing is sent to a server.
Are the numbers truly random and fair?
They come from 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?
Yes, tick Unique (no repeats). Draws use an unbiased partial Fisher, Yates shuffle, and the tool warns you if you ask for more unique numbers than distinct values exist in your range.
Can it generate decimal numbers?
Yes, choose 1 to 6 decimal places. The range is scaled internally so every decimal step is sampled with exactly equal probability, keeping decimal draws just as fair as integers.
Where is my draw history stored?
Your last 10 draws are saved in this browser only (localStorage) and reload when you come back. Click any history row to copy it, or hit Clear to wipe the list, nothing is stored on a server.

Published · Last updated .

Priya sent you a message Online now

Talk to a Developer Now

Share your name and email to reply.

Reply