Random Numbers
Random numbers in a range you define: pick how many, deduplicate, sort ascending.
How to use it
- Enter the min and max of the range. Both ends are included, so 1 to 6 behaves like a die.
- Enter how many values you need, from 1 up to 10,000.
- Keep No duplicates on to draw without replacement, like pulling numbered slips from a bowl. Turn it off to allow repeats.
- Turn on Sort ascending if you want the list ordered instead of shuffled.
- Click Generate, then Copy the output for a script, a spreadsheet or a giveaway list.
Common use cases
- Giveaways and raffles - number the participants and draw winners without replacement.
- Sampling for tests - pick row numbers from an exported file to spot-check entries.
- Games and classroom activities - dice rolls, random group sizes, which-question-next.
- Test data seeds - fill a mock dataset with values in a defined range.
Why it stays private
Every number is produced in your browser from crypto.getRandomValues with rejection sampling, so the distribution over the range stays uniform. Nothing is sent anywhere and no draw history is stored.
FAQ
Q: Are the numbers suitable for cryptographic keys? A: They come from the same random source browsers use for cryptography, but this tool formats plain integers, not key material. For keys and tokens use a dedicated generator that outputs encoded bytes.
Q: Why does unique mode refuse to run sometimes? A: Without duplicates the tool can only produce as many values as the range contains. Asking for 50 unique values between 1 and 20 is impossible, so it stops with an error instead of looping forever.
Q: Can I use decimal numbers or negative ranges? A: This tool generates integers. For a negative range just set min below zero; the rejection sampling keeps every value in the interval equally likely.
Your data stays on this device
Random Numbers runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.