Dice Roller

Roll any dice with standard notation — 2d20+5, 4d6, 3d8+2d4.

Loading the interactive tool… It runs in your browser — if it doesn't appear, enable JavaScript.

Type dice notation and roll. NdS rolls N dice with S sides, and you can chain terms with plus and minus, so 3d6+2d4-1 works exactly as a tabletop player would expect. Every individual die is shown alongside the total, because in most games the individual results matter — a natural 20 isn't the same as a 20 made of two tens.

Useful when the dice are in the other room, when you need a d100 and don't own one, or when you're playing remotely. Presets cover the common rolls, and recent results stay on screen so you can check what happened two rolls ago.

Frequently asked questions

What dice notation is supported?

Standard NdS notation with modifiers: 1d20, 2d6, 4d6, d8 (an omitted count means one), 2d20+5, and multi-term expressions like 3d6+2d4-1. Up to 1000 dice of up to 1000 sides each. Anything it can't parse produces an error rather than a silent guess — a dice roller that misreads your input without telling you is worse than one that refuses.

Are the rolls genuinely random?

Yes. Each die is drawn independently from crypto.getRandomValues, the browser's cryptographically secure random source, using rejection sampling to eliminate modulo bias. A naive implementation using a remainder would make low numbers on a d20 very slightly more likely; this doesn't.

Can I roll with advantage or disadvantage?

Roll 2d20 and take the higher or lower yourself — both dice are shown individually, so it's immediate. Keep-highest notation like 4d6kh3 isn't parsed yet.

Does it work offline?

Yes, once the page has loaded. There's no server involved in rolling, so it keeps working on a plane or with the connection dropped.