ToollyX
no sign-up Β· instant Β· free

Random Number Generator

Generate random numbers in any range, shuffle a sequence into a random order, or roll dice and flip coins β€” cryptographically secure by default, with an optional seed for reproducible results.

EngineCSPRNG or Seeded
Modes3 Modes
Max Count1,000 Numbers
CostFree, No Signup
728 Γ— 90 β€” Leaderboard Ad
🎲Random Number Generator
Minimum
Maximum
How Many Numbers6
Decimal Places
Unique Numbers (No Repeats This Batch)
Guarantee no duplicate within a single generated set
Sort Ascending
Display results smallest to largest
βš™οΈSettings
Cryptographically Secure (CSPRNG)
Use crypto.getRandomValues() instead of Math.random()
Show Statistics & Distribution
Display min, max, sum, mean and a histogram
Avoid Repeats Across Generations
Remembers past whole-number results and never repeats them
Seed (Optional)

Same seed always reproduces the same sequence β€” useful for testing.

πŸ“How It Works
Engine
crypto.getRandomValues() (CSPRNG) or Math.random()
Bias Handling
Rejection sampling β€” no modulo bias
Unique Mode
Fisher-Yates shuffle, unbiased permutation
Range
Inclusive: min ≀ result ≀ max
Max Count
1,000 numbers, 500 for sequences
Seeded Mode
Mulberry32 PRNG β€” deterministic and reproducible
728 Γ— 90 β€” Leaderboard Ad

⚑ Quick Tips for Getting Genuinely Random Results

01Turn on Cryptographically Secure for anything with stakes. A raffle, a giveaway winner, or a decision someone has an incentive to influence all deserve the OS-level entropy source, not the default PRNG.
02Use Sequence Shuffle instead of Number Generator for randomizing a list. If you need every value from 1 to 30 in a random order β€” not a random sample of them β€” Sequence Shuffle is the correct mode.
03Leave Seed blank unless you specifically need to reproduce a result. Filling it in trades true randomness for a repeatable sequence β€” exactly right for testing, wrong for an actual drawing.
04Turn on Avoid Repeats Across Generations for one-at-a-time draws. Drawing raffle winners individually, over several clicks, is exactly the case Unique Numbers alone doesn't cover.

Features

πŸ”Cryptographically Secure Option

Draws from crypto.getRandomValues() instead of Math.random() when it matters.

βš–οΈUnbiased Rejection Sampling

Every value in your range has genuinely equal odds β€” no modulo bias.

πŸ”€Sequence Shuffle

Randomize the draw order of an entire range at once β€” up to 500 values.

♻️Avoid Repeats Across Generations

Remembers past results and excludes them from every future draw until reset.

🌱Optional Seed for Reproducibility

Same seed, same sequence, every time β€” ideal for testing and verification.

🎯Dice & Coin Roller

d4 through d100 and coin flips, with totals and per-face frequency counts.

Why Math.random() Isn't Actually Good Enough for Some Jobs

JavaScript's built-in Math.random() is a pseudo-random number generator β€” a deterministic algorithm that produces output statistically indistinguishable from randomness for practical purposes, but whose internal state was never designed to resist deliberate analysis. For a game, a shuffle animation, or picking a random example to display, that's completely fine. It stops being fine the moment predictability has a cost β€” a raffle where someone stands to gain from guessing the outcome, a random assignment where fairness needs to be defensible, a security-adjacent value where an attacker might benefit from reconstructing it. This tool defaults to the Web Crypto API's crypto.getRandomValues() instead, which draws from the operating system's secure entropy pool β€” the same source behind real encryption keys, and the same reasoning behind the Password Generator's own randomness. Math.random() stays available as a faster, lower-stakes option for everything else.

Unique Numbers, Shuffled Sequences, and Dice Are Three Different Problems

They look similar from a distance β€” all three involve numbers and randomness β€” but each solves a genuinely different job. Number Generator samples from a range, which is what you want when you need, say, six numbers between 1 and 49. Sequence Shuffle instead takes every number in a range and reorders all of them β€” the right tool when you need a random draw order for a whole list rather than a subset of it, like deciding the presentation order for every student in a class. Dice & Coin skips ranges and sampling entirely in favor of the specific, bounded outcomes a physical die or coin actually produces, complete with the totals and frequency breakdown a real dice roller gives you. Collapsing all three into a single "pick a random number" box, the way many simpler generators do, quietly makes some of these jobs harder than they need to be.

"No Repeats This Batch" Is Not the Same as "Never Repeats, Ever"

Unique Numbers guarantees the six numbers you just generated are all different from each other β€” it says nothing about whether next click's six will overlap with this click's. Avoid Repeats Across Generations solves the other problem: it keeps a running memory of every whole number this tool has handed you and refuses to draw any of them again until you explicitly reset that history. The distinction matters most for drawing winners one at a time β€” a raffle where you click Generate once per prize, and a name that already won a smaller prize genuinely shouldn't be eligible to win a second one. Combine both settings and you get numbers that are unique within each click and across every click you've made since the last reset. The running history is visible right below the results β€” a small count of how many values have been used so far, with a one-click reset whenever you want to start a fresh draw from the full range again.

When You Actually Want the Same "Random" Result Twice

It sounds contradictory, but reproducible randomness is a real and common need. A developer writing an automated test wants the exact same simulated input every time the test suite runs, so a failure is reproducible rather than a one-off fluke. A teacher demonstrating a probability concept in class might want to run the same "random" draw twice to show a point clearly. Typing anything into the Seed field switches the generator to Mulberry32, a small deterministic algorithm that always produces the identical sequence for the identical seed β€” the same principle behind seeded world generation in games, where "seed 48291" reliably rebuilds the exact same map for anyone who enters it.

Where People Actually Use a Tool Like This

Raffles and giveaways lean on Cryptographically Secure mode plus Avoid Repeats for drawing multiple winners fairly, one at a time. Lottery number practice uses Unique Numbers with a range like 1–49 β€” for the actual odds behind a pick like that, the Permutation & Combination Calculator fills in the math. Teachers and researchers generate quick sample datasets for statistics lessons, then hand them to the Mean, Median & Mode Calculator or Standard Deviation Calculator to characterize the spread. Tabletop gamers reach for Dice & Coin when the physical dice aren't handy, and anyone splitting a decision down the middle β€” who goes first, which option to try β€” flips a coin without needing an actual one in the room.

728 Γ— 90 β€” Leaderboard Ad

Built for More Than One Kind of User

Event organizers running a fair drawing where the outcome needs to hold up to scrutiny. Developers who need either genuinely unpredictable values for a real feature or a reproducible seed for a test suite, often within the same afternoon. Students and teachers generating sample data or demonstrating how unique sampling differs from a shuffle. Game masters and players who want dice that don't require carrying a physical set around. What ties them together is that none of them want to think about the mechanics of randomness β€” they want the right kind of random for their specific situation, handed to them without having to know the difference between a PRNG and a CSPRNG going in. The three modes exist precisely because "the right kind of random" isn't one thing β€” a raffle, a test dataset, and a dice roll all call for a different tool under the hood, even though all three feel like the same request from the outside.

The Honest Limits of This Generator

Cryptographically Secure mode uses the same entropy source as real cryptographic key generation, but this tool itself isn't a key-management or encryption product β€” for an actual password with controlled character composition and crack-time estimates, the Password Generator is the right tool. Sequence Shuffle is capped at 500 values purely to keep the results list responsive, and the Avoid Repeats history lives only in this browser tab β€” refresh the page or open a new tab and it starts empty again. And a seeded sequence is deliberately, obviously not random in the security sense β€” it exists for reproducibility, not unpredictability, and mixing the two purposes is the one way to misuse this tool.

Frequently Asked Questions

728 Γ— 90 β€” Leaderboard Ad