Random Number Generator

Generate random integers or decimals within any range, pick multiple numbers, control duplicates, and sort results — or pick random items from your own list.

How to Use

1

Choose a Mode

Select Integer for whole numbers, Decimal for numbers with decimal places, or From List to pick random items from your own custom list.

2

Set Your Range and Count

Enter the minimum and maximum values for your range, then specify how many numbers to generate (up to 1000). In Decimal mode, also set the number of decimal places.

3

Configure Options

Toggle "Allow duplicates" to control whether the same number can appear more than once. Toggle "Sort results" to display numbers in ascending order.

4

Generate and Copy

Click Generate to produce your random numbers. A single result appears large and centered; multiple results show in a grid or list. Click "Copy All" to copy all results to your clipboard at once.

Random Number Generator — Generate Single or Bulk Random Numbers

When you need a random number — to pick a winner, simulate a dice roll, generate a test value, or make an unbiased decision — this tool delivers it cleanly. Set the range, choose how many numbers you want, and generate. No bias, no patterns, no guessing.

Common use cases

Picking a random winner: You have 50 participants in a contest and need to pick a winner fairly. Number the participants 1 to 50 and generate a random number in that range. The result determines the winner, and there's no way for anyone to claim the selection was biased.

Classroom and teaching activities: Teachers can use a random number generator to call on students (numbered 1 to N), randomise the order of classroom activities, pick random questions from a question bank, or assign participants to groups.

Dice and games: Simulating a six-sided die (range 1–6), a 20-sided die for tabletop RPGs (range 1–20), or any custom dice. Generate multiple dice rolls at once.

Statistical sampling: Generate random indices to select a random sample from a dataset for analysis, A/B test user selection, or survey sampling.

Development and testing: Generating test data, random IDs for mock data, random seed values for reproducible tests, or simply checking how your code handles various numeric inputs.

Decision making: "Should I go left or right?" — generate a 1 or a 2. "Which of these three options?" — generate 1, 2, or 3. For minor decisions where any option is roughly equivalent, a random number removes the mental overhead of deciding.

Giveaways and raffles: If you're running an Instagram or YouTube giveaway and have a list of comment entries, assign sequential numbers and generate a random one. Screenshot the result to show participants the selection was fair.

How to use it

Set the minimum and maximum values for your range. Choose how many numbers to generate (one for a single draw, multiple for a batch). Decide whether duplicates are allowed — if you're picking 5 winners from 50 participants, disable duplicates to ensure no one is selected twice. Click Generate and copy the result.

Is it truly random?

This generator uses your browser's window.crypto.getRandomValues() — the same cryptographically secure pseudorandom number generator (CSPRNG) used for security-sensitive applications. It's far more random than Math.random(), which is what most JavaScript random generators use. For fairness in contests and selections, this level of randomness is more than sufficient. For cryptographic use cases (like generating keys), even a CSPRNG output should be used with a proper cryptographic library rather than a browser tool.

Tips

For a lottery-style draw (pick N unique numbers from a range), use the "no duplicates" mode and set the range to your pool size. This is equivalent to shuffling the pool and picking the first N entries.

If you need to generate numbers with specific distributions (normal distribution, Poisson distribution, etc.) rather than uniform random numbers, this tool isn't the right one — you'd need a statistical computing environment like Python's NumPy or R.

Limitations

The range is limited by JavaScript's safe integer range (up to about 9 quadrillion). Floating point numbers with specific decimal precision aren't supported directly — if you need a random decimal, generate an integer in a scaled range and divide (e.g., generate 1–100 and divide by 10 to get 0.1 to 10.0 with one decimal place).

Frequently Asked Questions

Yes, the generator uses JavaScript's Math.random(), which produces pseudorandom numbers seeded by the browser's internal entropy source. This is statistically sufficient for games, lotteries, simulations, and everyday decisions. For cryptographic security (such as generating encryption keys), use the dedicated Password Generator which uses crypto.getRandomValues().

Yes. Enter any count between 1 and 1000. When you request more than 50 numbers, the results switch from a visual grid to a compact comma-separated list for readability. You can copy all results with a single click regardless of count.

When "Allow duplicates" is unchecked, each number in the output is unique — no value can appear more than once. For example, generating 5 unique numbers from 1–10 guarantees all five are different. Note: this is only possible if the range contains enough distinct integers to satisfy the requested count.

Paste any list of items separated by commas or by newlines (one item per line). Set how many items to pick, and click "Pick Random Items." This is perfect for choosing a random winner from a list of names, picking a random song, deciding what to eat, or any scenario where you need to randomly select from custom options.

Yes. Switch to "Decimal" mode using the tab at the top. You can then set the number of decimal places from 1 to 10. For example, with a range of 0–1 and 4 decimal places, you might get numbers like 0.3872, 0.1294, or 0.9561. The "Decimal places" field is disabled in Integer mode.

Related Utility Tools