Dice roller

Roll a d6, a d20, two d6 or percentile dice. Sums included.

Press a button and the dice roll. The dice roller covers the standard tabletop set — d4, d6, d8, d10, d12, d20 and d100 — rolls single dice or sets, and shows each result plus the total. Every roll is drawn from your browser cryptographic random source, on your device.

Try:

Runs entirely in your browser. Your text is never uploaded — open DevTools, Network tab, and you will see zero requests while you use this tool.

How to use it

  1. Press Roll d6 for a single six-sided die or Roll d20 for a twenty.
  2. Press Roll 2d6 for two dice with the total, or Roll d100 for a percentile roll.
  3. Read the individual results and the sum underneath.

What this tool does

It rolls the dice a tabletop game actually uses. Roll d6 gives one six-sided die, the board game standard. Roll d20 gives one twenty-sided die, which is the die almost every action in Dungeons and Dragons turns on. Roll 2d6 rolls two six-sided dice and shows both faces and the total, the way Monopoly, Catan and Warhammer need them. Roll d100 gives a percentile result from 1 to 100.

When more than one die is rolled you see each face separately and then the sum, because in most games the individual faces matter. Doubles move you differently in Monopoly, and a natural 20 on a d20 means something a total of 20 does not.

The full polyhedral set is d4, d6, d8, d10, d12, d20 and d100, and the underlying roller handles any of them and up to twenty dice at a time.

Dice notation, briefly

Rulebooks write dice as NdS: N dice with S sides each. 2d6 is two six-sided dice. 1d20 is one twenty-sided die. A modifier is added afterwards, so 3d6+2 means roll three six-sided dice, add them, then add two.

Percentile rolls are written d100 or d%. At the table this is normally two ten-sided dice, one marked in tens, giving 1 to 100 with two zeros read as 100. Here it is a single draw from 1 to 100, which has exactly the same distribution and saves the argument about what 00 and 0 means.

Advantage and disadvantage in fifth edition mean rolling 2d20 and taking the higher or the lower. Roll twice and pick — the tool gives you both numbers.

Examples

RollNotationResult looks likeRange
One six-sided die1d641 to 6, flat
Two six-sided dice2d63 + 5 = 82 to 12, peaked at 7
One twenty-sided die1d20171 to 20, flat
Percentiled100731 to 100, flat
Damage roll3d62 + 6 + 4 = 123 to 18, peaked at 10 and 11

The difference between the flat and peaked rows is the whole reason games use different dice. A d20 treats every outcome as equally likely, which makes single rolls swingy and dramatic. Two dice added together cluster in the middle: 7 comes up on six of the thirty-six combinations of 2d6, while 2 and 12 come up on one each. Designers pick 2d6 when they want reliable results and d20 when they want surprises.

Is the roll fair?

The roller draws from crypto.getRandomValues(), the browser cryptographic random source, rather than Math.random(). That matters less for feel than for the second step: values that would fall outside an exact multiple of the number of faces are rejected and redrawn instead of being squeezed in with a remainder.

Without that rejection step you get modulo bias. A source producing values from 0 to 4 294 967 295 does not divide evenly by 6, so the low faces would appear very slightly more often than the high ones. The effect is invisible in a game night and clearly measurable over a million rolls. Discarding the uneven tail costs a fraction of a millisecond and removes it completely.

A physical die is arguably worse: moulded pips remove material unevenly, so a cheap d6 is very slightly biased toward the six. Casino dice are machined flush and sharp-edged for exactly this reason.

What a digital roll cannot do is prove to somebody else that you did not reroll until you liked the number. For a game where that matters, roll on a shared screen or use physical dice in front of everybody.

When you need it

Doing it without this tool

Real dice. Still the best option at a table, because everyone can see the result land.

Google. Typing roll a die into the search box gives a built-in roller.

Spreadsheet. =RANDBETWEEN(1,6) for one die, and add two cells for 2d6. Press F9 to roll again.

Python. random.randint(1,20), or sum(random.randint(1,6) for _ in range(3)) for 3d6.

Discord bots. Convenient in a play-by-post game, at the cost of sending every roll through somebody else server.

Privacy: rolls are generated on your device

No request is made when you press a button. The numbers come from your own browser, nothing is logged, no history is kept after the tab closes and no account is involved. The page keeps rolling with the network switched off, which is useful in a basement, on a train, or wherever the game happens to be.

Related tools

Magic 8 ballAsk a yes or no question. The ball answers.Name pickerPaste a list, pick a winner. No account, no cloud, no limit.Group generatorPaste names, choose how many groups, get evenly sized random teams.Coin flipHeads or tails in one tap, with a running tally.Remove special charactersKeeps letters, numbers and spaces — everything else goes.camelCase converterConverts any text into the naming style you need — for variables, files and…Title case vs sentence caseThree style guides, three different answers, and the four-letter rule that…

See all generators →

Frequently asked questions

Which dice can I roll?

The standard polyhedral set: d4, d6, d8, d10, d12, d20 and d100. The buttons cover the common cases, and the roller handles up to twenty dice at once.

Is the dice roller actually random?

Yes. It draws from the browser cryptographic random source and rejects values that would introduce modulo bias, so every face is equally likely.

Why does 7 come up so often on 2d6?

Because six of the thirty-six possible combinations add up to 7, while only one gives 2 and one gives 12. Adding dice always clusters results in the middle.

Can I roll with advantage?

Roll a d20 twice and take the higher number, or the lower for disadvantage. Both results are shown, so nothing is hidden.

How do I roll 3d6+2?

Roll three six-sided dice, read the total the tool prints, then add 2 yourself. Modifiers are always applied after the sum, never to each die.

Does d100 work like two ten-sided dice?

It produces the same range and the same flat distribution, in one draw. It avoids the usual table argument about how to read a 00 and a 0.

Does it work offline?

Yes, once the page has loaded. Nothing about a roll needs a connection.