Dice Roller Simulator

Roll and tally virtual dice

Roll a classic d6 (Simple) or full tabletop set (D&D). Uses CSPRNG (crypto.getRandomValues) with rejection sampling to avoid modulo bias. No data is stored.

Total: 0

About this dice roller

This dice roller gives you fast, trustworthy results for game night, RPG sessions, classroom demos, and quick probability checks. The page has two modes so you can stay simple or go deep. In Simple mode you roll up to ten six-sided dice at once. Each die appears as a crisp 3D cube with a one-second spin and a soft click so the roll feels tangible. The total, individual faces, and Unicode “pip” symbols are shown together, which makes it easy to paste a quick summary into chat.

D&D mode adds the full tabletop toolkit. Choose any common polyhedral die (d4, d6, d8, d10, d12, d20, d100), pick how many to roll, and add a positive or negative modifier. You can apply drop/keep rules (keep highest, keep lowest, drop highest, drop lowest) and the UI will clearly mark discarded dice so you see exactly how the total was formed. Rolling a d20 with advantage or disadvantage is built in—when enabled, each die is effectively rolled twice and the higher or lower result is taken automatically. Critical hits (20) and fumbles (1) on d20 are highlighted for quick reading.

If you prefer shorthand, there is also a dice notation input that understands patterns like 4d6kh3+2. The app parses your string into the same settings you see in the controls, which makes it handy for copying builds from guides or sharing presets with friends. With one click you can copy a human-readable breakdown (e.g., “4d6kh3+2 → 6 + 5 + 4 + 2 (dropped 1) = 17”), or copy a compact JSON payload when you want to log results in a note or tool. The last ten rolls are kept locally as a simple history you can clear at any time.

Under the hood, rolls are generated with the browser’s cryptographically secure random number generator and rejection sampling, which avoids modulo bias and keeps each face equally likely. Everything runs in your browser; no account, no tracking, and no server round-trip. After the first visit your device can usually load the page from cache, so it works great on spotty connections at the table. If you want to pass your exact setup to a teammate, use the Share button to create a permalink—opening that URL restores the same notation and options without storing anything online.

Common uses include rolling pools for character creation, resolving contested checks with advantage/disadvantage, simulating drop-lowest for point-buy alternatives, teaching distributions in class, or replacing missing physical dice. The goal is speed and clarity: set the dice, roll, see the math, and move on with the story.

How it works

Fair randomness. Rolls are generated locally with window.crypto.getRandomValues and rejection sampling to avoid modulo bias; every face is equally likely. Animation lasts ~1 second and a soft click plays unless you mute it. We never send your rolls to a server.

Dice notation. Examples: 2d6 (two six-sided dice), 1d20+3 (add a modifier), and drop/keep operators kh/kl/dh/dl such as 4d6kh3+2. In D&D mode you can also roll d20 with advantage or disadvantage.

  • Advantage/Disadvantage: For d20, roll twice per die and keep the higher/lower value automatically.
  • Drop/Keep: Keep highest/lowest K or drop highest/lowest K with a visual highlight of discarded dice.
  • History: The last 10 rolls are kept locally; clear anytime.

FAQs

Can I roll multiple dice?

Yes. In Simple mode you can roll up to 10 d6 at once. In D&D mode choose any die type and count up to 50, with optional modifiers and rules.

What are D&D dice?

Tabletop RPGs use polyhedral dice: d4, d6, d8, d10, d12, d20 and sometimes d100. The code dX means a die with X sides.

Is it truly random?

We use the browser’s CSPRNG with rejection sampling to avoid modulo bias. Physical dice can have manufacturing or table effects; this tool ensures uniform outcomes on average.

Does it work offline?

After the first load most modern browsers can re-open this page from cache. All history stays on your device.