Random number generator
Pick random numbers in a range, with or without duplicates.
Random number generator produces one or more random numbers within a minimum/maximum range you set, with an option to allow or forbid duplicate values in a single draw.
How to use
- Set the minimum, maximum, and how many numbers you want.
- Click "Generate".
Common use scenarios
- Picking a random winner number for a giveaway or raffle.
- Generating sample numeric data for testing a spreadsheet or script.
- Randomly selecting a subset of numbered items (like lottery-style draws).
- Deciding between several numbered options when you can't decide otherwise.
✓Content & verification reviewed: 2026-08-25
How we verify Random number generator
How to confirm the generated numbers respect your range and duplicate settings.
Range is inclusive of both endpoints
Setting minimum 1 and maximum 10 means both 1 and 10 are possible results, not just the numbers strictly between them — every generated value falls somewhere in that closed range.
Duplicates off caps the count at the range size
With "Allow duplicates" turned off, you can't generate more unique numbers than exist in your range — asking for 20 unique numbers from a range of 1-10 isn't possible, so the count is automatically limited to the range's size.
Each generation is an independent draw
Clicking generate again produces a completely fresh set of random numbers, with no memory of previous results — there's no built-in way to avoid repeating a number from an earlier click within the same session.
Before you rely on the result
- Your minimum and maximum are set correctly, remembering both endpoints are included.
- You've decided whether duplicates should be allowed for your specific use case.
- If duplicates are off, your requested count is realistic for the size of the range.
- You understand each click generates a fresh, independent result with no memory of prior draws.
Who this is for
- Anyone running a giveaway or raffle who needs a fair random winner number.
- Developers or analysts generating sample numeric data for testing.
- Teachers or organizers randomly selecting numbered items or people.
- Anyone who wants a quick, unbiased way to pick a number when undecided.
Real-world examples
Picking a raffle winner
An event organizer has 200 numbered raffle tickets and generates one random number between 1 and 200 to pick the winning ticket live in front of attendees.
Generating test data for a spreadsheet
An analyst needs 50 random sample values between 1 and 100 to populate a test dataset, generating them with duplicates allowed to simulate realistic data.
Randomly selecting a subset of items
A quality control team needs to inspect 10 random units out of a numbered batch of 200, generating 10 unique numbers with duplicates off to identify which units to check.
Limitations
- With duplicates off, the count is automatically capped at the size of the range.
Frequently asked questions
Does the range include the minimum and maximum values themselves?
Yes — both endpoints are included in the possible results, so a range of 1 to 10 can produce 1 or 10, not just numbers strictly in between.
Why can't I generate 50 unique numbers from a range of 1-20?
With duplicates off, the count is automatically capped at the size of the range, since there are only 20 possible unique values to draw from — either allow duplicates or widen the range.
Is this good enough for something like a real lottery drawing?
It uses the browser's standard random number generation, which is fine for everyday fairness (giveaways, classroom use, sample data) but isn't a cryptographically audited system suitable for regulated gambling or high-stakes drawings.
Can I generate the same set of numbers again later?
No — there's no seed or replay feature; each click produces a fresh, independent random result that can't be reproduced later.
🔒 Runs in your browser — nothing is uploaded. Results are for reference only; see the disclaimer. Last updated: 2026-08-25
Subscribe for updates
New tools and tips, straight to your inbox. No spam, unsubscribe anytime.