How to use
- Tap a die: d4, d6, d8, d10, d12, d20 or d100. d6 is selected by default.
- Set Count (how many dice, up to 100) and a Modifier that is added to the total, e.g. +3 for your attack bonus.
- Or type a formula:
2d6+3,4d6kh3(keep the 3 highest),2d20kl1(keep the lowest),d20adv/d20disfor advantage and disadvantage. The formula overrides the buttons. - Hit Roll. The big number is the total; the line under it shows every individual die so you can see the natural rolls.
- Previous rolls stack up in the history strip. Reset clears it before the next encounter.
Dice notation cheat sheet
Dice notation is the shorthand every tabletop game uses: NdS means "roll N dice with S sides". Everything else is a suffix.
| Formula | What it does | Typical use |
|---|---|---|
d20 | One twenty-sided die | Attack rolls, saves, skill checks in D&D 5e |
2d6+3 | Two six-sided dice plus 3 | Greatsword damage with a +3 Strength modifier |
4d6kh3 | Roll four d6, keep the highest three | Rolling ability scores for a new character |
2d20kh1 / d20adv | Roll two d20, keep the higher | Advantage |
2d20kl1 / d20dis | Roll two d20, keep the lower | Disadvantage |
8d6 | Eight d6, sum them | Fireball |
d100 | 1–100 percentile | Random tables, loot, wild magic surges |
3d10-2 | Three d10 minus 2 | Any negative modifier |
kh = keep highest, kl = keep lowest, the number after it is how many to keep. Whitespace and capital letters do not matter, so 2D6 + 3 works too.
How the roller works (and why it is honest)
Most "random" dice on the web call Math.random(). It is fine for a card trick but it is a pseudo-random generator: seeded, predictable, and in some browsers it has visible patterns in the low bits. This roller uses crypto.getRandomValues() instead — the same cryptographic generator that browsers use to create encryption keys.
There is a second, less obvious trap: mapping a 32-bit random number onto a die. 232 is not divisible by 6, so if you simply take value % 6, faces 1–4 get one extra chance in about four billion. Tiny, but not zero, and a die roller should be exactly fair. We use rejection sampling: any random value that falls into that leftover slice at the top of the range is thrown away and a new one is drawn. Each face of every die therefore has exactly a 1/S chance. Rerolls are rare (for a d6 it happens twice in a billion), so you never notice a delay.
Each die in a formula is rolled separately, results are shown one by one, and the total is added afterwards. Nothing is "rolled for you" behind the scenes.
Probabilities: why 7 is the most common 2d6 result
One d6 is flat — every face is 16.67%. The moment you add dice, the sums pile up in the middle. That is why 2d6 weapons feel more consistent than a d12, even though both max out at 12.
| 2d6 total | Ways to roll it | Chance |
|---|---|---|
| 2 | 1 | 2.78% |
| 3 | 2 | 5.56% |
| 4 | 3 | 8.33% |
| 5 | 4 | 11.11% |
| 6 | 5 | 13.89% |
| 7 | 6 | 16.67% |
| 8 | 5 | 13.89% |
| 9 | 4 | 11.11% |
| 10 | 3 | 8.33% |
| 11 | 2 | 5.56% |
| 12 | 1 | 2.78% |
Averages worth remembering: d4 = 2.5, d6 = 3.5, d8 = 4.5, d10 = 5.5, d12 = 6.5, d20 = 10.5. For N dice multiply by N, then add the modifier. A 2d6+3 greatsword averages 10; a d12+3 greataxe also averages 9.5 but swings harder both ways. 4d6kh3 for ability scores averages about 12.24 instead of 10.5 — that is the whole point of the "drop the lowest" house rule.
Who uses an online dice roller
- D&D and Pathfinder groups on Discord — share your screen or read the history out loud; the individual dice are visible, so a natural 20 is a natural 20.
- Board games with a lost die — Catan, Monopoly, Risk, Yahtzee (5d6), Backgammon (2d6) all work from a phone.
- Teachers — probability lessons: roll 2d6 fifty times, tally, and the bell curve above appears on the board by itself.
- Streamers — "chat decides": d100 for a random challenge, d20 for the difficulty of the next run.
- Gamers — pick a random loadout slot, decide who goes first, roll for a Minecraft building challenge.
What makes ours different
- Real D&D notation with
kh/kland advantage shortcuts, not just a picture of a cube. - Cryptographic randomness with rejection sampling — explained above, not hidden.
- Every individual die is shown, plus a roll history, so the result can be checked by the whole table.
- Up to 100 dice in one formula and d100 out of the box.
- No account, no ads covering the roll button, works on phones and loads instantly.
Privacy
Rolls are generated inside your browser with the Web Crypto API. Nothing you type — formulas, results, history — is sent anywhere, and there is no server that could "adjust" a roll. Close the tab and the history is gone.
FAQ
Is the dice roller truly random?
It uses the browser's cryptographic generator (crypto.getRandomValues) plus rejection sampling, so each face has exactly equal probability. It is as fair as software dice get and much fairer than a chipped physical die.
How do I roll with advantage?
Type d20adv (or 2d20kh1) in the formula field. For disadvantage use d20dis or 2d20kl1. Both dice are shown so you can see which one counted.
Can I roll several different dice at once?
Yes — combine them in one formula, for example 1d8+2d6+4 for a sneak attack. Each group is rolled separately and shown in the detail line.
What is the maximum number of dice?
100 dice per formula (for example 100d6). That covers every spell in the game and most homebrew.
Does it work for board games like Monopoly or Yahtzee?
Pick d6 and set Count to 2 for Monopoly, Catan or Backgammon, or 5 for Yahtzee. Every die is listed, so you can see pairs and triples.
Can I use it on my phone during a session?
Yes, the page is mobile-first. Add it to the home screen and it opens like an app; no install and nothing to update.