Generate secure random numbers, pick from lists, roll dice, create passwords with strength analysis, generate UUIDs, and sample from Gaussian distributions. Uses crypto.getRandomValues.
This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
This tool only uses cryptographically secure randomness (crypto.getRandomValues). For passwords, UUIDs or anything security-related, Math.random() is the wrong tool: it is a predictable pseudo-random sequence, seeded and visible to the page, not to attackers.
A CSPRNG is seeded from OS entropy (mouse jitter, hardware noise) and is indistinguishable from true randomness. Math.random is a fast, deterministic PRNG seeded with a timestamp — fine for shuffling a demo, dangerous for tokens.
Examples of where pseudo-randomness silently fails.
Generate cryptographically secure random numbers. Pick winners from a list. Roll dice. 100% client-side, no upload, free.
The Random Number / Picker / Dice tool is a free generator suite that packs six randomization modes into one page. It produces random integers in any range, picks winners from a list you paste in, rolls virtual dice with 2 to 100 sides, creates strong passwords with a built-in strength meter, generates UUID identifiers in batches, and samples values from a Gaussian (normal) distribution for statistics work. Every mode is powered by crypto.getRandomValues — the browser's cryptographically secure random source — rather than the predictable Math.random most websites use. That makes results suitable for giveaways, classroom draws, and any situation where fairness matters. Everything runs client-side with no signup.
Giveaway hosts and social media managers use the Picker mode to draw contest winners transparently — paste the entrant list, pick one, and screenshot the result as proof. Teachers randomize student selection, seating, and team assignments, or replace the dice lost from a board game with up to twenty virtual ones. Developers grab batches of UUIDs for database seeds, generate test integers, or pull Gaussian samples for Monte Carlo experiments and data simulations. Anyone setting up new accounts uses Password mode, which shows a live strength rating from Very Weak to Very Strong as you lengthen the string. Students running probability exercises also appreciate dice that cannot roll off the table.
(1) Select a mode from the six-button selector: Number, Picker, Dice, Password, UUID, or Gaussian. (2) Set the parameters for that mode. Number takes a minimum, maximum, and how many values (up to 100). Picker asks for your list — one entry per line — and how many to draw. Dice takes the number of sides (2 to 100) and how many dice (up to 20). Password offers a 4-64 character slider, toggles for lowercase, uppercase, numbers, and symbols, plus an option to exclude ambiguous characters like 0, O, 1, and l. (3) Click Generate. The result appears instantly, joins a rolling history of your last ten outputs, and copies to your clipboard in one click.
Yes, and provably so. The tool calls window.crypto.getRandomValues, the Web Crypto API that draws entropy from your operating system's secure random source — the same mechanism browsers trust for TLS keys. There is no server-side shuffle you cannot inspect and no Math.random shortcut that could bias a draw. For a giveaway, this matters: every entrant on your list has an identical chance, and because the draw happens on your own machine rather than a hidden server, nobody can tamper with it. Passwords get the same treatment, which is why the strength meter can honestly recommend longer lengths. For picking, games, and passwords, this level of randomness is more than sufficient.
It uses the Web Crypto API's getRandomValues(), which provides cryptographically secure pseudo-random numbers (CSPRNG) drawn from the operating system's entropy pool. This is suitable for security-sensitive applications like generating tokens, lottery draws, or picking contest winners. It is significantly more random than Math.random().
Yes. Paste a list of names or items (one per line or comma-separated), set the number of winners to pick, and the tool selects them randomly without replacement. This is useful for giveaways, raffle draws, classroom random selection, and A/B test assignment.
What do you call a crab that plays baseball?
No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.
☕Support me on Ko-fi— keep tools free100% of proceeds go towards hosting & building more free tools.