Random Number Generator
Generate random numbers in any range, with or without repeats.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Draws random whole numbers from a range you set — an RNG for a raffle, a lottery numbers pick or a test fixture — one at a time or up to a thousand at once, optionally with no repeats and optionally sorted. As a random picker it works by number rather than by name: number your entrants, draw, and read the winner off the list.
How to use it
- 1Set Min, Max and Count — Count accepts 1 to 1000.
- 2Tick Unique (no repeats) for a draw without replacement, and Sort results to order them ascending.
- 3Press Generate; the numbers appear comma-separated with a Copy button, and the last five draws are listed with timestamps underneath.
Example
- Input
- Min 1, Max 49, Count 6, Unique ticked
- Output
- six different numbers between 1 and 49 — a fresh set on every press
Min and Max are inclusive and must be whole numbers. Asking for more unique values than the range contains is refused by name, for instance "Cannot generate 10 unique numbers from a range of only 6 values.", and sorting is applied after the draw, so it changes the presentation and not the odds.
What happens to your data
The numbers come from JavaScript's Math.random inside your own tab, which is fast and unpredictable enough for picking a winner or seeding test data but is explicitly not a cryptographic generator — use the password or UUID tools if the value has to be unguessable. Unique draws over a range of 100,000 or fewer use a partial Fisher-Yates shuffle of the whole range in memory. The recent-generations list is capped at five entries and held in component state, so it empties on reload and is never sent anywhere.
Last updated August 2026
Someone has to win the hamper and eleven people are watching. Or a class needs splitting into pairs, or four staff have to be picked for a spot check without anyone being able to say the manager chose them. The common thread is that a number has to come from somewhere that is not a person.
Before you set anything, decide whether the same number may come out twice, because two different draws sit behind that one tick box. With repeats allowed, every pull is independent of the last — right for dice, test data, or anything modelling a repeated event. With Unique ticked the draw is without replacement: each value appears at most once, which is what a set of prize winners or a lottery-style line needs. Getting it the wrong way round tends to surface late, as the same person winning two of the three prizes.
The bounds are inclusive and whole numbers only. Min 1 and Max 49 can both come out, and nothing here will give you 2.5 or a draw where one entrant is likelier than another — weighting means giving the favoured entrant several numbers in the range.
The last habit worth breaking is the re-roll. Each press is a fresh, independent draw, so pressing again because the result looked wrong replaces the machine's choice with yours. Agree the range and the count first, then take what comes out.
How it works
Toolvore works entirely inside the page in front of you — pressing Generate sends nothing and fetches nothing. Each value comes from scaling the browser's own pseudo-random source across the inclusive span between Min and Max, so 1 to 49 covers forty-nine outcomes rather than forty-eight, and a draw with repeats allowed does that Count times over. A unique draw cannot work that way without colliding, so the range itself is shuffled and the first Count entries are taken; only when the span is too wide to hold in memory does it fall back to drawing and discarding duplicates. Sorting is applied after the draw, so Sort results rearranges what you already have and changes no odds. The numbers arrive comma-separated in a read-only box you can copy from in one press. The weak point is reproducibility: there is no seed and nothing is written to storage, so a reload leaves no record of what was drawn.
Common use cases
- Picking a raffle winner in front of the people who entered
- Choosing which rows of a spreadsheet to spot-check
- Drawing a lottery-style line with no repeats
- Assigning running order for interviews
- Seeding test fixtures with unpredictable integer IDs
- Splitting a group into teams by number
Frequently asked questions
Are computer-generated random numbers actually random?+
No — this kind is pseudo-random. An algorithm holds an internal state; each call transforms it and returns a number derived from it, so the same starting state always yields the same sequence. What you get is an even spread across the range with no pattern a person could spot or exploit, which is all a raffle, a test fixture or a game of chance needs. True randomness has to come from a physical process — thermal noise, radioactive decay, the timing jitter of hardware — which operating systems gather to seed the generators they reserve for security work.
How do I run a prize draw so that people accept the result?+
Most of the fairness lives in what happens before the draw. Write the numbered list of entrants where everyone can see it, and fix it before anything is generated. Announce the range and how many winners you are drawing, so nobody can argue later that the settings were adjusted to suit a result. Draw once. If the prizes are ranked, a single unique draw gives first, second and third in the order the numbers appear — deciding that afterwards is the part people object to. Photograph the result beside the list, because nothing about the draw survives the page being closed.
Why did the same number come up twice in a row?+
Because independent draws cluster, and clustering looks wrong to us. With repeats allowed, each press starts from nothing: a number that has just come up is exactly as likely as any other next time. Across a long run from a small range, repeats and near-repeats are expected rather than surprising — a sequence with none of them would be the odd one. The belief that some result is now due is the gambler's fallacy, and it is the most common way a perfectly fair generator gets misread. If every value must differ, tick Unique and the draw is made without replacement.
Do randomly chosen numbers improve my chances in a lottery?+
Not at all. Every combination in a fixed draw has the same chance, so a random set is no likelier to win than birthdays, a diagonal across the slip, or the same six numbers every week. The real difference is in what you would take home rather than whether you win: a lot of people pick numbers under 32 because they are using dates, and shapes drawn on the ticket grid are popular too, so a winning line made of those is likelier to be shared with other winners. A spread across the full range is usually less crowded.
Is anything I generate sent to a server or saved?+
Nowhere, and nothing is kept. The generator is one component running inside your browser: the numbers are computed in the page and written straight into the results box. Pressing Generate makes no network request, there is no account and no logging, so no copy of your draw exists on a server to be requested or leaked. Nothing is written to your device either — the results and the short list of recent draws are held in the page's own memory, so a reload clears both and returns Min, Max and Count to 1, 100 and 1.
Can I get random decimals, or use negative numbers?+
Whole numbers only. A decimal in Min, Max or Count is refused with an error rather than quietly rounded. Negative bounds are fine — the check is that the figures are integers and that Min is not above Max, so -50 to 50 draws happily across zero. For decimals, do the arithmetic yourself: draw 0 to 1000 and divide by 1000 for three places, or 10 to 60 and divide by 10 for one. That is how most decimal draws are built anyway: a whole number of equal steps is easier to state and check.
Is a generator like this good enough for a prize code or a password?+
No. There are two grades of generator and only one is safe when a stranger has a reason to guess. An ordinary generator aims for numbers that are evenly spread and free of obvious pattern. A cryptographic one aims higher: it is seeded from unpredictable data the operating system collects, and seeing any quantity of its past output must not help anyone work out the next. This is the first kind — right for a draw among people who trust each other, wrong for a discount code, a reset link, a prize with money attached, or anything valuable to whoever guesses it first.
How many numbers can I draw at once?+
One to a thousand in a single press, and a Count outside that is refused with a message rather than silently clamped. Unique draws carry a second limit that belongs to arithmetic rather than the tool: you cannot pull more distinct values than the range contains, so ten unique numbers between 1 and 6 is impossible in the way ten pigeons in six holes is impossible, and the refusal names the size of your range back to you. Widen the range or lower the count. With repeats allowed that ceiling disappears entirely.
Related tools
LCM & GCF Calculator
Find the lowest common multiple and greatest common factor of any set of numbers.
Grade Calculator
Work out your weighted grade so far, and the score you need on what is left.
Printable Calendar
A calendar for any year or single month, ready to print or save as a PDF.
Aspect Ratio Calculator
Scale width and height while keeping the same aspect ratio.