Skip to content
kitto works
All tools

Dice & Coin Flip | Set Count and Sides, Free in Your Browser

Roll dice (d4-d20 or a custom side count, 1-12 dice) and flip coins (1-100 flips, with a heads/tails tally), all randomly generated in your browser. Nothing is sent to any server.

Sides

Result

Tap "Roll" to see the results here.

All rolls happen entirely in your browser. Nothing is sent to any server.

How to use

  1. Choose "Dice" or "Coin Flip" mode, and set the sides/count (or the number of flips).
  2. Tap "Roll" or "Flip".
  3. See the individual results and the total, or the heads/tails tally.

How it works

Dice

Choose a preset (d4, d6, d8, d10, d12, d20) or a custom side count (2-1000), and roll 1 to 12 dice at once. You'll see each die's result (an integer from 1 to the number of sides) and the total of all dice.

Coin Flip

Flip a coin 1 to 100 times at once. You'll see the heads/tails result of each flip along with a tally of how many times each side came up.

About the limits

After looking at several existing web dice-rolling tools, a dice count limit of around 10-12 was common, so this tool uses 1-12. The custom side-count limit of 1000 comfortably covers d100 (a percentile die commonly used in tabletop RPGs). The 100-flip limit for coins matches the same limit used elsewhere on this site (for example, this site's UUID generator caps bulk generation at 100).

About the randomness

All random values come from the Web Crypto API's crypto.getRandomValues(), a cryptographically secure random source. Math.random() is not used, since it isn't considered cryptographically safe. Results also go through rejection sampling to avoid modulo bias, a subtle skew that can make certain outcomes slightly more likely than they should be with a naive approach.

FAQ

Can I roll dice other than a standard 6-sided one?

Yes. You can pick a preset (d4, d6, d8, d10, d12, d20) or enter any custom number of sides from 2 to 1000.

Is there a limit on the number of dice or coin flips?

You can roll 1 to 12 dice, and flip a coin 1 to 100 times. Values outside those ranges are automatically clamped to the nearest limit.

Are the results biased toward certain outcomes?

No. Results are generated with the Web Crypto API's `crypto.getRandomValues()` and use rejection sampling to avoid modulo bias, so there's no practical skew toward any particular outcome.

Is my input or the result sent to a server?

No. Both the dice roll and the coin flip happen entirely inside your browser.

Can I roll or flip again with the same settings?

Yes. Each tap of "Roll" or "Flip" is an independent draw. The previous result has no effect on the next one.