Random Number Generator
Generate fair random integers from your chosen inclusive range without sending any values to a server.
Privacy: your files never leave your device. All processing happens locally in your browser.
How to use
- 1.Enter the minimum and maximum safe integers; both endpoints are eligible results.
- 2.Choose a result count from 1 to 1,000 and decide whether duplicate numbers are allowed.
- 3.Select Generate numbers, then review or copy the comma-separated output.
About Random Number Generator
Random Number Generator produces one or more integers from a range you define. Enter the smallest allowed integer, the largest allowed integer, and the number of results you need. Both endpoints are included, so a range from 1 to 10 can produce either 1 or 10 as well as every integer between them. Negative bounds are supported, and a range containing only one value returns that value. Use the results for classroom activities, drawings, randomized test data, order selection, game setup, or any other ordinary task that needs unpredictable whole numbers. The generator runs entirely in the current browser and does not send your bounds or results to Lizely.
You can choose whether duplicate values are allowed. With duplicates enabled, every draw is independent, so the same number may appear several times. This is useful for repeated simulations or events where an earlier result should remain eligible. Turn duplicates off when selecting distinct positions, identifiers, or numbered participants. The tool checks the size of the inclusive range before it starts. If you request more unique values than the range contains, it displays a clear error instead of retrying forever or silently returning fewer numbers. A request for five unique values from 1 through 3, for example, cannot be completed.
Randomness comes from the browser Web Crypto interface rather than Math.random. Raw random bits do not map evenly to every possible range when a simple remainder operation leaves an incomplete group. This generator therefore uses rejection sampling: it discards values from that incomplete tail and draws again before mapping the accepted value into the requested range. Each integer receives the same number of possible accepted raw values. When duplicates are disabled, a sparse partial shuffle selects unique offsets without constructing an array for every integer in a potentially large range.
Inputs are limited to JavaScript safe integers because larger numeric text cannot always be represented exactly in the browser. The inclusive range must also have an exactly representable safe-integer size. Each operation can return from 1 through 1,000 numbers. These limits prevent accidental memory-heavy requests and make errors visible rather than presenting rounded bounds as exact. Decimal values, blank fields, reversed bounds, infinity, and unsafe integers are rejected. If you need arbitrary-precision values wider than the safe-integer range, use a specialist system that accepts integer strings instead of ordinary browser numbers.
Cryptographically strong random input and unbiased mapping improve fairness, but this page is not a complete audited lottery, gambling, security, or cryptographic-key system. It does not publish a seed, signed transcript, external beacon, or reproducible audit trail. A visitor cannot later prove which browser entropy produced a particular list. Follow the rules and independently audited procedures required by your organization for prizes, regulated drawings, access control, passwords, tokens, or other consequential decisions. This local tool is intended for convenient general-purpose random integer generation.
Changing any input clears the previous list so an old result is not mistaken for output produced by new settings. Select Generate numbers again after adjusting a bound, count, or duplicate preference. Results appear as comma-separated integers that can be selected and copied. For a unique randomized ordering of every value in a small range, set the count equal to the number of integers and disable duplicates. For repeated experiments, leave duplicates enabled and generate a new list whenever you need a fresh independent sample.
Methodology & sources
The browser combines Web Crypto 32-bit words into an exactly representable 53-bit nonnegative integer. Rejection sampling removes any incomplete modulo tail before mapping into the caller's inclusive safe-integer range. Independent draws are used when duplicates are allowed; otherwise a sparse partial Fisher-Yates shuffle returns unique values in O(count) memory. Validation limits output to 1,000 integers and rejects non-integers, unsafe bounds, reversed ranges, inexact range sizes, and impossible unique requests.
Frequently asked questions
- Can the minimum or maximum be negative?
- Yes. Both bounds may be negative or the range may cross zero, provided each bound and the inclusive range size are safe integers.
- Are the minimum and maximum included?
- Yes. Sampling is inclusive, so either endpoint can appear in the generated results.
- How does the tool avoid biased range mapping?
- It uses browser Web Crypto values and rejection sampling, discarding the incomplete tail before mapping accepted values to the requested range.
- What happens if I request too many unique values?
- The generator reports that the request is impossible when the count exceeds the number of integers in the range.
- Can I use these results for a regulated prize drawing?
- This tool has no signed audit trail or external randomness beacon. Follow the audited procedure required for consequential or regulated drawings.
Related tools
- Dice RollerRoll fair virtual d4βd20 (or any custom die) instantly, right in your browser.
- Coin FlipFlip a fair virtual coin instantly, powered by a cryptographically secure random generator β no bias, no ads in the way.
- Random Letter GeneratorInstantly generate random letters with control over case, count, vowels or consonants, and repeats.
- Random Name Picker WheelSpin a colorful wheel to pick a random winner from any list of names β fair, fast, and private.
- Bingo Card GeneratorCreate printable 75-ball bingo cards in one click
- Discord Timestamp GeneratorTurn a local date and time into copy-ready Discord timestamp markup for every current display style.
Generators guides
View all- How to Generate a Random Number in MATLAB
- Make a Pie Chart From Any List of Numbers
- Roll Dice for Yes or No: Get a Quick Two-Option Answer
- Flip a Coin Heads or Tails: Get a Fair Result Online
- How to Generate Random Characters in Python
- How to Create Random Teams From Any Roster
- How to Generate Usernames That Are Unique and Easy to Remember
- How to Generate a Signature Image Online Free
- How to Make the Pie Chart Bigger in Minecraft
- Roll a Dice for Yes or No in One Click
- Flip a Coin Online for Heads or Tails in Seconds