About Random Number Generator
This random number generator is free, needs no sign-up and runs in your browser, so nothing you enter is uploaded. Set a minimum and a maximum, choose how many numbers you want and press Generate. You can ask for whole numbers or decimals, forbid repeats, and sort the result.
The same page is also a coin flip with a running tally, a dice roller for one to ten dice (d4, d6, d8, d10, d12, d20 and d100) that adds up the total, a list randomizer, a random name picker and a lottery number generator with bonus balls. Each one has its own page below, so a search for "flip a coin" or "roll a die" lands on the right mode.
Every draw comes from the cryptographic random generator built into your browser (crypto.getRandomValues). Raw random bits are turned into a range with rejection sampling, which throws away the few draws that would make some numbers more likely than others. That avoids the small bias you get from the common shortcut of taking a remainder.
It is strong randomness for games, classroom picks, giveaways and sampling. It is not a certified lottery or gaming source, so do not use it where a regulator requires an audited generator.
How to use Random Number Generator
- Choose what to generate: numbers, a coin flip, dice, a shuffled list, a name picker or lottery numbers.
- For numbers, enter the minimum and the maximum, then how many numbers you want. Both ends are included.
- Switch on No repeats if every number must be different, and Sort if you want them in order. Pick a number of decimal places for decimals.
- Press Generate (or Flip, Roll, Shuffle or Pick). Each press makes a new independent draw.
- Copy the result or download it as a text file. The coin keeps a running tally of heads and tails until you reset it.
Features
- Unbiased integers: crypto.getRandomValues with rejection sampling, so every value in the range is equally likely.
- Any range up to about 9 quadrillion, whole numbers or up to six decimal places, unique or with repeats, optionally sorted.
- Up to 10,000 numbers in one draw, copied or downloaded as plain text.
- Coin flip with a running tally and a short animation that is turned off when your device asks for reduced motion.
- Dice roller for 1 to 10 dice of 4, 6, 8, 10, 12, 20 or 100 sides, with each die and the total.
- List randomizer and name picker that use a Fisher-Yates shuffle with unbiased index draws.
- Lottery numbers for common formats or your own: different main numbers, optional bonus numbers from a separate pool.
- Works on a phone, with large touch targets and no sign-up.
How an unbiased random integer is made
The browser gives 32 random bits per draw, a number from 0 to 4,294,967,295. To get a number below n, the usual shortcut is "take the remainder after dividing by n". That slightly favours small numbers unless n divides 2^32 exactly, because the last partial block of 2^32 values maps to only some of the results.
Rejection sampling removes the bias: compute limit = 2^32 - (2^32 mod n), draw again whenever the value is at or above the limit, and only then take the remainder. Ranges wider than 32 bits use two draws combined into 64 bits in the same way.
limit = 2^32 - (2^32 mod n)
repeat: r = random 32-bit value until r < limit
result = min + (r mod n)Good to know
Random is not the same as evenly spread
A fair generator produces streaks and repeats, and that is how randomness looks. Ten coin flips can easily give seven heads, and the same number can come up twice in a row. If you need results that are spread out, ask for unique numbers.
The coin tally shows this: after a few flips the share of heads wanders, and it only settles close to 50% after hundreds of flips.
What it cannot do
The generator is not seeded by you, so you cannot repeat a sequence. That is deliberate for fair draws, but it means a draw cannot be replayed to prove a result later. For a giveaway that needs to be auditable, record the result at the time.
Nothing here improves your odds in a lottery. Every combination is equally likely, including 1 2 3 4 5 6.
Privacy: how it works
- Everything is generated by code running in your browser tab. Your ranges, lists and names are not sent to Ulkaa or to any other server.
Tips
- For a raffle, number the entries from 1 to the count and ask for one number with the range set to match.
- To pick several winners from a list, use the name picker. It never picks the same name twice in one draw.
- Decimals are generated as a whole number of the last decimal place and then scaled, so they are evenly spread too.
- For a simulation of many dice, ask for numbers from 1 to 6 with repeats allowed rather than rolling by hand.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your ranges and lists are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your ranges and lists are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
Is this random number generator really random?
It uses the cryptographically secure generator in your browser, which is seeded by your operating system. That is the same source used for encryption keys and is unpredictable for any practical purpose. Strictly it is pseudo-random, as every computer generator is.
What is modulo bias and does this have it?
Modulo bias is the slight favouring of small numbers that happens when you take a random value modulo n without care. This tool rejects the draws that cause it, so every number in the range has the same chance.
Can I get numbers without repeats?
Yes. Switch on No repeats. The tool then draws different values, and tells you if the range is too small for the count you asked for.
How do I pick a random number between 1 and 10?
Set the minimum to 1, the maximum to 10 and the count to 1, then press Generate. Both ends are included, so 1 and 10 are possible.
Is the coin flip fair?
Yes. Each flip is one unbiased random bit, so heads and tails are equally likely and each flip is independent of the last.
Can I use it for a lottery or a legal draw?
You can use it to choose your own numbers for fun. It is not a certified lottery source, so it should not run a regulated draw.
How many numbers can I generate at once?
Up to 10,000 in one draw. For larger sets, press Generate again and combine the results.
Popular Random Number Generator pages
- Flip a CoinPress the button to flip a fair coin and keep a running count of heads and tails.
- Dice RollerChoose how many dice and which kind, then roll to see every die and the total.
- List RandomizerPaste your items, one per line or separated by commas, and shuffle them into a random order.
- Random Name PickerPaste a list of names and pick one winner, or several different winners, at random.
- Lottery Number GeneratorChoose a format such as 6 from 49 and get a quick pick, with different numbers in order.
- Random Number 1 to 10Press Generate for a random whole number from 1 to 10, both included.
- Random Number 1 to 100Press Generate for a random whole number from 1 to 100, both included.
- Random Decimal GeneratorGet random decimals between 0 and 1, or set your own range and number of decimal places.