Generate truly random numbers — range, dice, lottery, coin flip, Gaussian distribution and more
Generate truly random numbers using the Web Crypto API — the same cryptographic-quality randomness used in security applications. Choose from single number, multiple with sorting, dice roller, lottery, coin flip, Gaussian distribution and random selection from a custom list.
Uses crypto.getRandomValues() — not Math.random() — for true, unpredictable randomness.
Roll d4, d6, d8, d10, d12, d20 and d100 — any number of dice with sum and statistics.
Standard lottery formats including 6/49, Mega Millions, Powerball and EuroMillions presets.
Flip 1 to 1000 coins and see heads/tails counts and percentages.
Pick one or more items randomly from your own list with or without replacement.
Generate numbers following a normal distribution with custom mean and standard deviation.
For security-sensitive applications (generating tokens, keys or codes), always use a CSPRNG like crypto.getRandomValues(). JavaScript's built-in Math.random() is NOT suitable for security — it is predictable and has statistical weaknesses.
| Dice | Sides | Range | Common Use |
|---|---|---|---|
| d4 | 4 | 1–4 | Damage (daggers, magic missiles) |
| d6 | 6 | 1–6 | Standard die, most common |
| d8 | 8 | 1–8 | Damage (longswords, axes) |
| d10 | 10 | 0–9 or 1–10 | Percentile (with d100), damage |
| d12 | 12 | 1–12 | Damage (greataxe, bardic inspiration) |
| d20 | 20 | 1–20 | Core resolution die in D&D |
| d100 | 100 | 1–100 | Percentile checks, wild magic |