Generate random numbers in any range, roll virtual dice, flip coins, and shuffle or pick from a list — free, instant, and secure.
Set a range and click Generate to get random numbers
Choose your dice and click Roll Dice
Choose how many times to flip and click Flip Coins
Paste a list of items to shuffle or pick winners from
This free random number generator is an all-in-one randomness tool covering four common needs: generating a random number between two numbers you choose, rolling virtual dice, flipping a coin, and shuffling or drawing names from a list. Used online as a random number generator, dice roller, coin flip simulator, and random list shuffler in one place, it's built for anyone who needs an unbiased outcome quickly — teachers picking students with a random name picker, streamers running giveaways with a giveaway winner picker, tabletop gamers who need a d20 roller or d6 dice roller without physical dice, or developers testing with random sample data from a random integer generator.
Each tool draws numbers using your browser's crypto.getRandomValues() API when available, which makes this a genuinely secure random number generator that produces cryptographically strong randomness rather than a predictable pseudo-random sequence — falling back to Math.random() only if the browser doesn't support it. The random number generator online maps random values onto your chosen min/max range to give you a random number between two numbers, and can enforce "no repeats" so every unique random number it returns is a number generator no repeats result. Roll a dice online with any standard die (d4 through d100) treating each face as equally likely, or use the coin toss online feature for a quick heads or tails call. List shuffling and "Pick N" use the Fisher–Yates algorithm — the same shuffle list online logic behind the random list shuffler, raffle picker, and RNG online used for drawing names — which guarantees every possible ordering has an equal chance of occurring.
The number generator, dice roller, and coin flip all share one range formula: result = Math.floor(random × (max − min + 1)) + min, where "random" is a fraction between 0 and 1 pulled from crypto.getRandomValues() (or Math.random() as the fallback). Here's exactly how each tool applies it:
Fair, unpredictable outcomes matter whenever a decision needs to be seen as unbiased — splitting chores with a random number picker, drawing raffle winners with a raffle picker, assigning teams, rolling virtual dice for a board game, settling a call with a coin flip, or generating test data that isn't accidentally patterned. Using a proper randomness source (rather than "just picking one") removes the appearance and reality of favoritism, which is exactly why a secure random number generator matters for raffles and giveaways with real prizes on the line.
This tool uses your browser's crypto.getRandomValues() API when available, producing cryptographically secure randomness suitable for raffles and giveaways. It automatically falls back to Math.random() on older browsers.
With "No duplicate numbers" checked, results are collected into a set until it reaches your requested count, guaranteeing every value is unique. The calculator warns you if your range is too small to supply enough unique numbers.
Each die roll is an independent, equally-likely outcome from 1 to the number of sides you choose — standard d4 through d100, or any custom side count. The total and average update instantly across all dice rolled together.
List shuffling and "Pick N" use the Fisher–Yates shuffle algorithm, which guarantees every possible ordering is equally likely — the same technique used in card-shuffling software and lottery draws.
Common questions about random numbers, dice, coins and list shuffling
Explore other math tools