Home›Math›Random Number Generator

Random Number Generator

Pick random numbers for games, draws, giveaways and everyday decisions.

100% FreeNo sign-up neededInstant results

Set your range

Choose the numbers to pick from.

Advanced options — seed, duplicates & sorting
Same seed + same settings = the same sequence, every time (seeded generator: mulberry32). Leave blank to use the browser’s random engine.
Sorting only changes the display order — the same numbers are drawn either way.

Seed, duplicates and sorting are already included in the result with their default values — open Advanced options to change them.

Quick presets
🔒Your information is not stored. Calculations are done in your browser.
LATEST DRAW
—
🎲
Range 1–100 · 100 possible numbers
🔢
Count
—
numbers drawn
🔽
Smallest drawn
—
lowest number
🔼
Largest drawn
—
highest number
🎯
Odds per number
1%
each draw
Draw history

No draws yet.

Key takeaways
  • Every number in the range is equally likely — uniform probability. Drawing from 1–100, each number has a 1% chance on every single draw, no matter what came up before it.
  • A seed makes draws reproducible: the same seed with the same settings produces the same sequence every time (the generator is mulberry32). Leave the seed blank and the browser’s own random engine decides instead.
  • Sorting only changes the display order — the same numbers are drawn either way. Turn duplicates off and the draw samples without replacement, so the count can never exceed the size of the range.

The complete guide to random numbers

How random picks really work — uniform probability, integers vs decimals, what “pseudorandom” means, lottery odds, and the misconceptions that trip people up.

🧭What this randomizer does

I keep this page simple on purpose: tell it a range, and it will pick a number from that range instantly — no sign-up, no settings to learn, nothing stored. People call this kind of tool a randomizer, a random number picker or just a random generator, and those names all describe the same job: choose one or more numbers fairly, with every value in the range equally likely.

You will also see the short name RNG everywhere from game forums to programming docs. RNG is short for random number generator — the mechanism that produces the picks. When a gamer says “the RNG was kind today,” they mean the generator happened to hand them the outcome they wanted; when I use the term on this page, I mean the plain mechanical thing: a system that outputs numbers with no pattern you can predict or exploit.

Below, I explain how the picks work, the ranges people ask for most, how to draw with no repeats, and where the honest limits are — because a tool like this should tell you what it cannot do, too.

🎲How random numbers are picked

Every number in your range has an equal chance of being drawn. The probability for any single number is:

P(any number) = 1 ÷ (max − min + 1)

Worked example: with min 1 and max 100, there are 100 possible numbers, so each one has a 1% chance on every draw. Roll a D6 (1–6) and each face has a 1 ÷ 6 ≈ 16.67% chance; a D20 gives each result a 5% chance. Nothing is weighted, favored, or “due” — each draw is completely independent of the last.

Turn Allow duplicates off and the generator draws without replacement: each pick removes that number from the pool, like dealing cards. Ask for more unique numbers than the range holds — say 10 unique numbers from a range of 5 — and you will get a clear error instead of an impossible result. That makes this random picker fair for drafts, raffles and team selections alike.

🔢Integers vs decimals

Switch to Decimals mode when you need finer picks — random prices between $1 and $2, measurements, or a random decimal between 0 and 1. Choose 0–10 decimal places; with 2 places, a 1–2 range can produce values like 1.37 or 1.05.

The same uniform rule applies: every representable value in [min, max] at your chosen precision is equally likely. With 2 decimal places between 1 and 2 there are 101 possible values (1.00, 1.01, … 2.00), so each has about a 0.99% chance. Note that with decimals, exact duplicates are extremely unlikely even with duplicates allowed — that is the math working, not a bug.

🔍How random is it, really?

This generator uses your browser’s built-in random engine (Math.random()), which produces statistically uniform pseudorandom numbers. “Pseudo” means the sequence is generated by an algorithm from a seed — but the output passes standard statistical tests for uniformity, which is exactly what games, raffles, classroom draws and everyday decisions need. Enter a seed above and a small seeded generator (mulberry32) takes over instead: the same seed with the same settings always reproduces the same sequence — handy for repeating a draw or verifying a result.

It is not suitable for cryptography, security tokens, passwords, or real-money gambling, where true hardware randomness and audit trails are required. For those, use a certified system — this page says so plainly because the distinction matters.

🎫Lottery odds, honestly explained

The Lottery 1–50 preset draws 6 unique numbers from 1–50, sorted — the shape of many real lotteries. The number of possible 6-number combinations is:

C(50,6) = 50! ÷ (6! × 44!) = 15,890,700

So any single ticket — including 1-2-3-4-5-6, which is exactly as likely as any other combination — has a 1 in 15,890,700 chance (about 0.0000063%). Drawing more tickets adds chances linearly: 10 tickets is 10 in 15,890,700, still vanishingly small. Use the preset to simulate draws, not to plan winnings.

💡Ideas: games, giveaways, decisions

  • Games: roll a 1–6 instead of dice, deal random turn orders, or pick teams by generating numbers for each player. The D6/D20 presets are one tap.
  • Giveaways: assign every entry a number and draw winners with duplicates off — the draw history keeps the last 5 draws visible for transparency.
  • Decisions: flip a coin with the 1–2 preset, or choose between options by mapping each choice to a number (1–10 for ten movies).
  • Classrooms: pick random students, generate quiz numbers, or demonstrate probability live — the odds-per-number stat updates with every range.

⚠️Misconceptions that cost people money

  • The gambler’s fallacy: after five reds in a row, black is “due.” It is not — each draw is independent, and the odds reset every time. Past draws never change the odds; the numbers have no memory.
  • “Lucky” patterns: 1-2-3-4-5-6 feels less random than 4-17-23-31-42-49, but every combination has identical probability. Humans are pattern-seeking; randomness is not.
  • Small samples look lumpy: ten coin flips can easily give 7 heads. That is normal variance, not a broken generator — uniformity only shows over many draws.

🚫Draw without repeats: unique numbers every time

When I need every number in a draw to be different — a raffle, a lottery-style pick, a seating plan — I use this page as a random number generator — no repeats: I leave Allow duplicates unchecked, and the generator switches from independent picks to sampling without replacement. Each number it draws is removed from the pool, exactly like dealing cards from a deck or pulling numbered balls from a drum, so it cannot come up twice in the same draw.

Worked example: say I want 6 unique numbers from 1–49, the shape of a classic 6/49 lottery. I set min 1, max 49, count 6, duplicates off, sort on. One draw might come out 4, 11, 23, 29, 36, 44 — I show that line as an illustration of the format, not as a prediction or a recommendation; any other set of six is exactly as likely. The number of possible sets is C(49,6) = 13,983,816, which is why matching all six in a real 6/49 game is so rare, and why no draw history, pattern or “hot number” changes that.

Two practical notes from my own use. First, unique draws have a hard limit: you cannot draw more unique numbers than the range contains, and this tool tells you so with an error instead of quietly repeating one. Second, for prize draws I draw once per prize, best prize first, and keep the draw history on screen — everyone can see each winning number was produced in a separate, visible step.

📏Popular ranges and what they are used for

Most visits to this page use one of a handful of ranges. I keep this table as the quick map: the range, what I see it used for, and the chance of any single number coming up. The most requested of all is a random number generator 1-100 draw — percentage-style picks, classroom draws and “pick a number” games all live in that range.

RangeCommon usesChance per number
1–2Coin-flip decisions, this-or-that choices1 in 2 (50%)
1–6A single die roll for board games1 in 6 (16.67%)
1–10Finger-guessing games, number dares, quick ratings1 in 10 (10%)
1–20A D20 roll for tabletop role-playing games1 in 20 (5%)
1–100Percent-style picks, classroom draws, raffle pools1 in 100 (1%)
1–1000Bigger raffles, guessing games, test data1 in 1,000 (0.1%)
1000–9999A random 4 digit number, like a PIN-style draw1 in 9,000 (0.011%)

A note on that last row, because I get asked about it: a random 4 digit number drawn from 1000–9999 can never start with 0, since 0427 is written as 427. Real PINs run 0000–9999, so when I practise PIN-style draws I use a 0–9999 range and read a short result like 427 as “0427.” Either way each value is equally likely — the range 1000–9999 holds 9,000 values, so any specific one has a 1 in 9,000 chance.

🎟️How I run a fair raffle with this tool

I run small giveaways with this generator, and the routine I trust is boring in the best way — every step is visible to the people entered. First, I give every entry a number: if 250 people entered, they are entries 1 to 250, and I publish that list before drawing, so anyone can confirm their number exists. Then I set the range to 1–250, turn duplicates off, and draw one number per prize, starting with the biggest prize.

Two details do the fairness work. The draw history keeps my last 5 draws on screen, so the sequence is there for anyone watching to check — nobody has to take my word for what came up. And because duplicates are off within a draw, the same entry cannot quietly win twice in one round; if I want one prize per person across rounds, I note each winner and re-draw any repeat name that comes up in a later round.

Where I draw the line: this is the right tool for a community giveaway, a classroom prize or a social-media draw among friends. The moment a raffle is regulated, ticketed for money, or run by an organisation that has to prove its draw to an auditor, it needs a certified system with logs and oversight — I say the same in the FAQ below, because a fair casual draw and a legally defensible one are different things.

🏫Random picks in the classroom

Teachers tell me the cold call is where this page earns its keep: instead of pointing at the same confident hands, I number the class list and draw from 1 to however many students are present. Every student has the same chance on every draw, which students accept as fair precisely because they watch the number get produced in front of them — and I keep duplicates on when I am happy for a student to be picked again later in the lesson.

It is also the cheapest probability lab I know. I set the range to 1–6 and generate 100 numbers at a time; across six rounds that is 600 rolls, so you would expect about 100 of each face — 600 ÷ 6. Real tallies land near 100, not on it, and that gap is the lesson. Run the same draw again and the lumps move to different faces. Uniformity is what you get over many draws, not a promise about the next ten.

🔁Why repeats show up sooner than you expect

With duplicates allowed, people sometimes show me a draw like 7, 42, 7 and insist the generator must be stuck. It is not — repeats arrive far sooner than intuition says. This is the birthday effect: drawing from 1–100, by the 13th draw a repeat is already more likely than not (about a 56% chance), even though most of the range is still untouched. Each new draw does not have to match one specific number; it can match any of the numbers already drawn, and those targets multiply fast.

My rule of thumb: if a repeat would ruin the draw — prizes, draft order, team picks — I turn duplicates off and let the tool enforce uniqueness. If repeats are harmless, like dice rolls or practice questions, I leave them on and let the lumps be lumps. Either way, a repeat is evidence the generator is working, not failing.

💻For developers: the randint equivalents

If you found this page from a programming search, the function you probably want is randint: in Python, random.randint(1, 10) returns a whole number from 1 to 10, both ends included — the same contract as this tool’s Integers mode. Some programmers call a page like this a number randomizer; under the hood, every language offers the same idea:

  • Python: random.randint(a, b) — inclusive on both ends.
  • JavaScript: Math.floor(Math.random() * (b - a + 1)) + a — exactly the formula this page uses for integer draws.
  • Excel / Sheets: RANDBETWEEN(a, b) — recalculates every time the sheet changes.
  • Java: Random.nextInt(a, b + 1) — the upper bound is exclusive, hence the +1.

One warning I give in every context, code included: standard library random functions are pseudorandom, and their output is predictable to anyone who can observe enough of it. For tokens, passwords or anything security-shaped, use a cryptographic source such as Python’s secrets module instead.

Keep calculating

Try these related tools.

🎲
Dice Roller

Roll any die, any number of times.

→
🪙
Coin Flip

Heads or tails, instantly.

→
🔢
Number Tools

More ways to play with numbers.

→

How to generate random numbers

Get your numbers in three simple steps.

1
🎯
Set your range

Enter the minimum and maximum numbers to pick from — or tap a preset.

→
2
⚙️
Choose options

Integers or decimals, allow duplicates, and sort the results if you like.

→
3
🎲
Hit Generate

Your random numbers appear instantly, every time.

Pseudorandom, true random, and why a seed repeats

This generator is deterministic by design. That is a feature for games and draws — and the reason it is not for cryptography.

A pseudorandom generator produces numbers by arithmetic: start from a seed value, run it through a fixed recipe, and the output looks random while being entirely determined by the seed. This page uses your browser’s pseudorandom engine for unseeded draws, and a seeded recipe when you enter a seed, so the same seed and the same settings always produce the same sequence. That repeatability is what makes a seeded draw checkable: two people with the same seed get the same numbers, and a draw can be replayed exactly. It is also what makes a pseudorandom generator unsuitable for secrets: anyone who learns the seed, or enough of the output, can predict the rest.

True random numbers come from physical unpredictability — thermal noise, radioactive decay, atmospheric noise — rather than arithmetic. No browser generator on an ordinary page has a true-random source of that kind, and none is needed for the jobs this page does: games, draws, classroom picks, and decisions are served perfectly well by numbers that are statistically uniform, meaning every number in the range has an equal chance. The distinction matters only at the edges: cryptography, passwords, and real-money gambling need unpredictability that arithmetic cannot promise, and the disclaimer on this page says so plainly. For a giveaway, a raffle, or a game, what matters is not the philosophy of the randomness but the fairness of the method: every entry has an equal chance, the draw is recorded, and no entry is drawn twice unless duplicates are explicitly allowed.

PropertyPseudorandom (this page)True random
SourceArithmetic from a seedPhysical process
Repeatable?Yes, with the same seedNo
Uniform?Yes, statisticallyYes
Right forGames, draws, decisionsCryptography, security

🎲How random numbers are picked

Every number in your range has an equal chance of being drawn. The probability for any single number is:

P(any number) = 1 ÷ (max − min + 1)

Example: with min 1 and max 100, there are 100 possible numbers, so each one has a 1% chance on every draw. Nothing is weighted, favored, or “due” — each draw is completely independent.

🔍How random is it?

This generator uses your browser’s built-in random engine (Math.random()), which produces statistically uniform pseudorandom numbers — perfect for games, raffles, classroom draws and decisions. It is not suitable for cryptography, security tokens, passwords, or real-money gambling, where true hardware randomness and audit trails are required.

💡Ideas: games, giveaways, decisions

Games: roll a 1–6 instead of dice, deal random turns, or pick teams by generating numbers for each player. Giveaways: assign every entry a number and draw winners with duplicates off. Decisions: settle “who goes first” or pick between options by mapping each choice to a number. Flip a coin with a 1–2 range, or choose a movie with 1–10.

Frequently asked questions

Is this random number generator truly random?

It uses your browser’s pseudorandom engine (Math.random()), which is statistically uniform — every number has an equal chance. That’s ideal for games, draws and decisions, but not for cryptography, passwords, or real-money gambling. If you enter a seed, it uses the seeded mulberry32 generator instead, so the same seed and settings always produce the same sequence.

How do I pick numbers with no duplicates?

Leave “Allow duplicates” unchecked and every number in your draw will be unique. If you ask for more unique numbers than the range holds, you’ll see an error — for example, you can’t pick 10 unique numbers from a range of 5.

How many numbers can I generate at once?

Up to 100 numbers per draw. Hit Generate as many times as you like — your last 5 draws stay visible in the draw history.

What are the odds of drawing a specific number?

1 ÷ (max − min + 1). With a range of 1–100, each number has a 1% chance per draw. Past draws never change the odds — the numbers have no memory.

Can I use it for a giveaway or raffle?

Yes — it’s perfect for casual giveaways and raffles. Assign each entry a number, turn duplicates off, and draw your winners. For regulated or real-money draws, use a certified audited system instead.

Are my draws private?

Yes. Everything is calculated in your browser — your ranges and results are never sent to any server or stored anywhere.

Can I generate decimal numbers?

Yes — switch to Decimals mode and choose 0–10 decimal places. A 1–2 range with 2 places can give values like 1.37. Every representable value is equally likely.

How do I flip a coin or roll a die?

Use the quick presets: Coin flip draws 1–2, D6 draws 1–6, D20 draws 1–20, and Lottery draws 6 unique sorted numbers from 1–50. One tap sets the range and generates.

Can it pick numbers with no repeats?

Yes. Unlike some random numbers generators that only draw independently, this one can remove each number from the pool as it is drawn. Leave “Allow duplicates” unchecked and every number in your draw will be unique — the mode I use for raffles, draft orders and lottery-style picks. You can draw at most as many unique numbers as your range holds; ask for more and the tool shows an error instead of repeating one.

Is this the same as a picker wheel?

No — they solve different problems. A picker wheel chooses between names or options you type in; this page generates numbers inside a range you set. If your options are really just two outcomes, a 1–2 range here does the same job: decide in advance which outcome is 1 and which is 2, then generate. For a list of names, you would want a dedicated name-picker tool instead.

Why does the same seed give the same numbers every time?

Because a seeded generator is arithmetic, not chance. The seed is the starting value of a fixed recipe, and the same starting value run through the same recipe always produces the same sequence. That is the point of a seed: it makes a draw reproducible and checkable, so two people with the same seed and settings get the same numbers. Change the seed, or leave it blank, and the sequence changes. Never use a seeded sequence for anything that must stay unpredictable.

How do I generate a number with a set number of digits?

Set the range to the smallest and largest numbers with that many digits. A 4-digit number is a draw from 1000 to 9999. If leading zeros are acceptable — 0042 counts as a 4-digit code — draw from 0 to 9999 instead, and format the result with leading zeros. A draw from 1 to 9999 is not a 4-digit draw: most of its results have fewer digits, and the distribution is not what the format promises.

Can this generator pick a winner fairly?

Yes, if the method is fair. Assign every entry a number, draw with duplicates off so no entry can win twice, and record the draw. Fairness lives in the method, not in the generator: every entry must have exactly one number, the range must cover exactly the entries, and the draw must happen once, in the open. For a prize draw, keep the seed and settings with the result so the draw can be replayed and checked.

Related calculators

More number tools, down to the last decimal.

View All Math Calculators  →
🎲
Dice Roller

Roll any die.

→
🪙
Coin Flip

Heads or tails.

→
🔢
Statistics Calculator

Mean, median, mode.

→
📊
Probability Calculator

Odds and chances.

→
🎫
Lottery Calculator

Draw simulators.

→
For general information only — not for cryptographic or gambling use.