How to roll
The dice on the tray
  • d6
  • d6
Add a die

Up to 10 dice. The + duplicates that die, the × removes it.

Total

From 2 to 12

The dice have already come up when the digits start spinning: the roll is drawn first, and what you see is theatre. The digits in motion are not rolls — if they were, the animation would be deciding the result while showing it. With "reduced motion" on, the result arrives at once.

This session

This session’s rolls appear here.

In memory only: reload the page and it is gone.

It only counts when a single die is kept: on 2d6 a six is not a critical, it is a six. And the modifier does not take it away — a 20 is still a 20 with a +5 on it.

Dropped dice stay on screen, in grey: they were rolled, and hiding them would remove the only proof that the roll actually happened.

The dice come from crypto.getRandomValues, with the remainder rejected rather than divided: taking the modulus of a random number would make some faces come up more often than others, by very little and for ever.

The COMPOSITION lives in the address, not the result: whoever opens the link finds the same dice on the tray — or the same formula — and rolls their own.

Everything happens in your browser: no data is sent anywhere.

How it works

  1. Type the roll: 2d6+3, d20, or 4d6k3 to keep the best three.
  2. Press Roll, or Enter. The quick buttons roll a single die without typing anything.
  3. Copy the address to hand the formula to somebody else: they will roll their own, not yours.

Why it exists

Because the dice are in the other room, or in the other city. Because a game played at a distance needs a roll everyone can watch being made, and because a generator that only tells you the total lets you verify nothing.

About the notation

XdY is X dice of Y faces, and X can be left out: d20 is a single die. The modifier goes on the end, 2d6+3 or d20-1. And then there is the part that actually matters: 4d6k3 rolls four dice and keeps the best three, which is how you roll an ability score; 2d20kl1 keeps the worse of two, which is disadvantage.

k on its own means “keep the highest”. It is the short form used at the table, and a different default here would mean weaker characters without anybody noticing. For the lowest you write kl.

Advantage and disadvantage are not two ways of rolling: they are 2d20kh1 and 2d20kl1. The two buttons write the formula into the field rather than hiding it, so you can edit it — which is the whole reason a notation exists.

About the dropped dice

They stay on screen, grey and with a dashed border. A 4d6k3 is a roll in which the fourth die came up: hiding it would turn a rule every player knows into a black box, and would remove the only proof that the roll really happened. In the history the dropped ones sit in brackets, which is the same information for anyone reading with their ears.

About randomness

The dice come from crypto.getRandomValues, the browser’s cryptographic generator. But a good source is not enough: the usual way of turning it into a die — taking the remainder of a division by the number of faces — is not fair.

The possible values of a 32-bit integer do not divide by six: four are left over, so four faces out of six come up once more every seven hundred million rolls. On a d6 that is invisible; on a d100, or on any die whose face count divides badly, the gap grows. Here the leftover is rejected rather than divided: the draw is repeated until the number falls in the part of the range that divides exactly. It costs an extra draw now and then, and returns a fair die.

About the address

What goes into the query string is the formula, not the result. A link carrying “17” is a link to a number, and whoever opens it has rolled nothing; a link carrying 2d6+3 is an invitation to roll.

The formula is rewritten in canonical form before it goes there: 2d6+3 and 2 D 6 + 3 are the same roll, and two people who did the same thing should be able to exchange the same link.

About your data

Everything happens in your browser. The history stays in memory until you reload the page: it is not saved anywhere.

From here you also go here

Click and reaction test

How many clicks per second you can manage, and how long you take to react to a signal, averaged over five attempts.

Gaming and streaming

Webcam and microphone test

Check that your camera and microphone work, with the detected resolution and a live audio level. Nothing is recorded.

Gaming and streaming

Keyboard test

Press a key and watch it light up on the drawing. Shows the key code, how many you are holding at once, and which ones you have already tried.

Gaming and streaming

All tools