Generate truly random numbers, pick from lists, and shuffle items
A random number generator (RNG) is a computational tool that produces numbers without any predictable pattern within a specified range. True randomness is essential in many fields — from games and lotteries to cryptography, scientific simulations, and statistical sampling. Digital RNGs typically use algorithms called pseudorandom number generators (PRNGs), while cryptographically secure RNGs use hardware entropy sources.
Calculator Expert's RNG offers three modes: single number generation, multiple number generation with optional no-repeat mode, and a list shuffler for randomizing the order of any items.
Lucky draw / lottery: 1–100 or 1–49. Dice roll simulation: 1–6. Coin flip: 0 or 1. Card draw simulation: 1–52. Team selection from group: use list shuffler. Random exam question selection: use no-repeat multi mode. Sample selection for surveys: multi-number mode. PIN generation: 4 unique digits from 0–9. Random prize winner from list: list shuffler.
Teachers picking random students for questions. Event organizers running prize draws and raffles. Game designers testing board game mechanics. Developers generating test data. Scientists performing Monte Carlo simulations. Statisticians selecting random survey samples. Sports coaches deciding team assignments randomly. Family members settling disputes by picking a number. Gamers simulating dice or coin flips in tabletop games.
The Fisher-Yates shuffle is the gold standard algorithm for producing a random permutation of a list. It works by iterating through the list from the last element to the first, swapping each element with a randomly chosen element from the remaining unshuffled portion. This guarantees a uniformly random permutation — every possible ordering has an equal probability of being generated. It runs in O(n) time, making it highly efficient even for large lists.
Math.random() in JavaScript is a pseudorandom number generator — it produces a deterministic sequence that appears random but is based on an initial "seed" value. For everyday use (games, draws, decisions), this is perfectly sufficient. For security-critical applications (cryptography, secret keys), the tool uses window.crypto.getRandomValues(), which draws from the browser's hardware entropy — making it cryptographically secure and truly unpredictable.
Single Number: Enter a minimum and maximum, click Generate. Last 10 results are shown for reference. Multiple Numbers: Set range, count, and whether to allow duplicates. Optionally sort results. List Shuffler: Enter items one per line or comma-separated, click Shuffle to randomize the order. Use this for team draws, quiz questions, or any ordered list you want to randomize.
Maximum numbers in multi-mode is 50. For no-repeat mode, the count cannot exceed the range size (max − min + 1). Floating point numbers are not supported — only integers. The list shuffler supports up to 200 items. Math.random() is not suitable for security-critical applications like generating cryptographic keys — use the Password Generator instead, which uses the Web Crypto API. History is stored in browser memory only and resets on page reload.