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.
Same seed always reproduces the same sequence β useful for testing.
β‘ Quick Tips for Getting Genuinely Random Results
Features
Draws from crypto.getRandomValues() instead of Math.random() when it matters.
Every value in your range has genuinely equal odds β no modulo bias.
Randomize the draw order of an entire range at once β up to 500 values.
Remembers past results and excludes them from every future draw until reset.
Same seed, same sequence, every time β ideal for testing and verification.
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.
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.