Random Number Generator

Generate random numbers between any min and max using secure crypto randomness, Gaussian bell-curve distribution, or seeded reproducible mode. Avoid repeats with a no-repeat pool, view live statistics and histograms, generate decimal numbers, randomize custom lists, and export as CSV or JSON. Runs entirely in your browser.

Result
?
Settings
Randomness mode

Uses the Web Crypto API for cryptographically strong randomness.

Pool remaining: 0 / 100
0%
Used: 100Remaining: 0
Custom List RandomizerPick random items or shuffle any list
items
Result
Result will appear here.
History

No history yet. Generate some numbers to get started.

Advanced features not found on most RNG tools

Beyond a simple "pick a number" button, this generator covers the full range of practical and statistical needs.

SECURE RNG
Web Crypto API
Uses crypto.getRandomValues for robust randomness, not Math.random. Unrelated to cryptocurrency.
GAUSSIAN MODE
Bell-Curve Distribution
Box-Muller transform generates numbers that cluster around a mean, with spread controlled by std dev.
NO-REPEAT POOL
Draw Without Replacement
Pool tracks drawn values across rounds. Progress bar shows remaining. Reset anytime to start over.
STATISTICS
Live Stats Panel
Auto-calculates sum, mean, median, standard deviation, min, and max for any multi-number result.
DECIMAL NUMBERS
Float Generation
Generate floating-point numbers with 1 to 10 configurable decimal places. Works with Gaussian mode.
LIST RANDOMIZER
Custom List Picker
Paste any list of names, options, or items. Pick a random subset or shuffle the entire list order.
SEEDED MODE
Reproducible Sequences
Text seeds drive a deterministic PRNG. Publish the seed for transparent, verifiable giveaways.
PRESENTER MODE
Large-Screen Display
Enlarges results to classroom-size text for projectors, shared screens, and live events.

Random Number Generator: RNG, Number Picker, and Bell-Curve Simulator

Generate random numbers online with more control than a basic "pick a number" tool. Set any Min and Max, choose how many numbers you need, and configure everything from repeat rules to distribution shape. The default Secure (crypto) mode uses the browser's Web Crypto API for randomness that's more robust than Math.random(), making it suitable for raffles, giveaways, random sampling, and classroom draws.

The Gaussian distribution mode is the feature that sets this tool apart from every other free RNG online. Instead of a flat uniform distribution, it generates numbers that cluster around a mean with spread determined by your standard deviation, using the Box-Muller transform. Enable the frequency histogram to see the bell curve take shape as you generate more numbers. This makes it useful for statistics education, simulations, and any scenario where "more likely near the center" is the realistic model.

For draws that must be verifiable, Seeded mode lets you enter any text as a seed. The same seed and settings always produce the same sequence. Publish the seed before the draw and anyone can confirm the results afterward. For the opposite need, the no-repeat pool tracks which values have been drawn across multiple rounds and won't return them until you reset. This is ideal for raffles, classroom rolls, and any "call each number exactly once" scenario.

The Custom List Randomizer moves beyond numbers entirely. Paste a roster of names, a list of tasks, team names, or any text items. Pick a random subset or shuffle the entire order with one click. Generate results appear numbered for easy reading, with a copy button for quick sharing.

Everything runs in your browser. History, pool state, and settings are saved locally via localStorage. Nothing is uploaded. The shareable URL encodes only your configuration (not past results), so you can bookmark your setup or send it to a colleague without exposing any data.

Common use cases

Raffles and giveaways
Use Seeded mode and publish the seed so participants can verify the draw was fair and unbiased.
Classroom student picker
Pool mode with Presenter Mode calls on students without repeats, visible to the whole class.
Lottery-style draws
The '6 unique from 1–49' preset mirrors common lottery formats with no-repeat enforcement.
Tabletop game dice rolls
The 1–6 preset acts as a digital die. Customize Min/Max for any polyhedral die (d4, d8, d12, d20).
Statistics demonstrations
Gaussian mode with the histogram makes bell-curve concepts tangible for students and teachers.
Test data generation
Generate batches of random integers or floats and export as CSV or JSON for development pipelines.
Team and order randomization
Paste team names into the Custom List Randomizer and shuffle to assign random presentation order.
Sample selection
Use the pool to draw a random sample from a numbered list without replacement across multiple rounds.

How to use this Random Number Generator

  1. 1
    Set your range and count: Enter Min and Max or click a preset (1–10, 1–100, 1–1000, 1–6 die, 6 unique from 1–49). Set Count to how many numbers you need.
  2. 2
    Choose a mode: Secure (Web Crypto) for everyday draws. Seeded for reproducible sequences. Gaussian for bell-curve distributions. Standard for casual use.
  3. 3
    Configure options: Enable no-repeat pool to prevent repeats across rounds. Enable decimal mode for floats. Add values to the exclude list to skip specific numbers.
  4. 4
    Generate and review: Click Generate or press Enter. View the statistics panel and histogram for multi-number results. Enable Presenter Mode for large-screen display.
  5. 5
    Export and share: Download CSV or JSON. Export History CSV for audit trails. Copy the share URL to reload your settings in any browser.

Frequently asked questions

How do I generate a random number between 1 and 10?
Click the 1–10 preset or set Min to 1 and Max to 10, then click Generate. Use Secure mode for robust randomness.
How do I generate random numbers without repeats?
Disable Allow duplicates for a unique result within a single draw. Enable the Pool to prevent repeats across multiple rounds until you reset it.
What is Gaussian distribution mode?
Gaussian mode uses the Box-Muller transform to produce a bell-curve distribution. Set the Mean (the center value) and Std Dev (how spread out results are). About 68% of numbers fall within 1 std dev of the mean, and 95% within 2 std devs. All values are clamped to your Min/Max range.
Can I generate decimal or float numbers?
Yes. Enable Decimal (float) numbers and choose 1 to 10 decimal places. Decimal mode works best with Allow duplicates enabled or with Gaussian mode, since unique-draw mode operates on integers.
What does the statistics panel show?
When you generate 2 or more numbers, the statistics panel shows the sum, mean, median, standard deviation, minimum, and maximum of the current result set. It updates automatically on every generate.
What is the Custom List Randomizer?
Paste any list (one item per line, or comma-separated) to either pick a random subset or shuffle the entire list. Works for names, teams, questions, menu items, or anything non-numeric.
What is the difference between Standard, Secure, and Seeded modes?
Standard uses Math.random(), which is fast but not cryptographically strong. Secure uses the Web Crypto API for more robust randomness and is the default. Seeded uses a deterministic PRNG so the same seed always produces the same sequence — ideal for verifiable giveaways.
How does the no-repeat pool work?
The pool starts with every value in your range (minus excludes). Each draw removes values from the pool. A color-coded progress bar tracks what remains. Click Reset pool to start fresh. This guarantees each value appears exactly once before any can repeat.
How do I run a fair, verifiable giveaway?
Choose Seeded mode and enter a seed before the draw. Announce the seed, range, and settings publicly. After generating, anyone can enter the same seed and settings to confirm they get the exact same sequence of winners.
What is the frequency histogram?
When you generate 5 or more numbers, a bar chart shows how often each value or value range appears. Small ranges show exact value frequencies. Large ranges are grouped into 10 bins. Gaussian results should form a visible bell shape.
How do I use Presenter Mode?
Click Presenter Mode in the Result panel. Numbers enlarge to fill the screen for easy viewing on a projector, shared display, or TV. Click again to exit. Keyboard shortcuts still work: Enter to generate, Ctrl/Cmd+C to copy.
Is my data sent to a server?
No. All generation, history, and pool data is stored locally in your browser. Nothing is uploaded. The shareable URL encodes your settings only, not your past results.
How do I pick 6 lottery numbers from 1 to 49?
Click the '6 unique (1–49)' preset. This sets Min to 1, Max to 49, Count to 6, and disables duplicates. Click Generate for a fresh unique draw each time.
Can I export the results and history?
Yes. Download the current result as CSV or JSON. The History panel includes a History CSV export with timestamps, settings, and results for every draw — useful as an audit trail for raffles or classroom activities.
What does std dev control in Gaussian mode?
Standard deviation controls the spread of numbers around the mean. A small std dev concentrates values tightly near the mean. A large std dev spreads them across more of your range. Roughly 99.7% of samples fall within 3 std devs of the mean, clamped to your Min/Max boundaries.

Related tools

Related tools