Skip to content

Dice Roller

Choose how many dice and how many sides each one has (standard d6, d20, or anything else), and roll — using the same cryptographically secure random source as this site's Random Number Generator, not Math.random, so the outcome is genuinely unpredictable rather than just statistically plausible-looking.

  • Any number of dice, any number of sides
  • Cryptographically random, not Math.random
  • Shows each individual roll plus the total
  • Runs fully client-side

Roller

Rolled locally, nothing uploaded

How to roll dice online

  1. 01

    Set the number of dice

    From 1 up to 100 at once.

  2. 02

    Set the number of sides

    Standard d6, or anything else — a d20, a d100, a custom value.

  3. 03

    Roll

    Each individual result is shown, along with the total.

Why this uses the same randomness as a password generator, not Math.random#

Most "dice roller" tools reach for JavaScript's Math.random, a fast pseudorandom generator with a predictable internal algorithm — perfectly fine for a UI animation, not genuinely unpredictable in the way an actual dice roll should be. This tool uses crypto.getRandomValues instead, the operating system's cryptographically secure random source, with rejection sampling to guarantee every face is exactly equally likely rather than very slightly biased toward lower numbers, the way a naive modulo-based approach would be.

Why it isn't limited to 6-sided dice#

A "die" here just means a uniformly random number between 1 and however many sides you set — a standard d6, a d20 for a tabletop game, a d100 for a percentile roll, or any other number entirely. The sides field is a plain number, not a dropdown of preset shapes, so anything from a coin flip (2 sides) up is supported without needing a special mode for each one.

Why both individual rolls and the total are shown#

Some uses only care about the sum (rolling several dice for a combined damage total, for instance); others need to see each individual result (checking for doubles, or reading results off one die at a time). Both are shown together so either use is covered without needing a separate mode.

Frequently asked questions

Why not just use Math.random for a dice roll?

Math.random is a fast, predictable pseudorandom generator — fine for a visual animation, not genuinely unpredictable. This tool uses crypto.getRandomValues, the same cryptographically secure source this site's Password Generator uses, with rejection sampling to keep every face exactly equally likely.

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

Yes — the number of sides is a plain number field, not a preset dropdown, so a d20, a d100, or any other value works the same way.

Is the outcome shown per die, or just the total?

Both — every individual roll is shown alongside the combined total, since different uses need one or the other.

Is my data sent anywhere?

No. Rolls are generated entirely in your browser.

Developers

UUID Generator

Generate cryptographically random UUID v4 or time-ordered UUID v7, in bulk.

Developers

Base64 Encoder & Decoder

Encode and decode Base64 with correct UTF-8 handling, including the URL-safe alphabet.

Developers

ULID Generator

Generate ULIDs — sortable by creation time like UUID v7, but Crockford Base32 instead of hex.