Dice Roller

Roll virtual dice online including D4, D6, D8, D10, D12, D20 and D100. See every roll, totals and dice notation results instantly.

Dice roller

Notation overrides the fields above, for example 1d20 or 4d6+2.

Roll history

Stored only in this browser.

No rolls yet.

    Advertisement

    Every die result is chosen with browser Web Crypto randomness, independent of animation.

    How to Use

    1. Pick a die type such as D6 or D20, or choose Custom and enter the number of sides.
    2. Set how many dice to roll and, if needed, a modifier that is added to the total.
    3. Optionally type dice notation such as 2d6+3; it takes priority over the fields.
    4. Press Roll dice. Individual rolls, the modifier and the total appear immediately.
    5. Press Reroll to repeat the same roll configuration.

    Advertisement

    How It Works

    Each die is rolled independently with crypto.getRandomValues(). The tool maps secure 32-bit values onto the die’s range using rejection sampling, so faces such as 1 and 20 on a D20 are exactly as likely as any other face. There is no weighting, smoothing or “balancing” between rolls.

    Dice notation is parsed before rolling: 2d8+3 means two eight-sided dice plus a flat +3 modifier. Count and sides are validated, and the modifier is applied to the sum rather than to individual dice. Every roll is appended to the local history with its exact notation, so results can be checked later.

    Rolls are executed locally in your browser. Nothing about your dice, modifiers or results is sent to a server, and history can be cleared at any time.

    Examples

    • Attack roll: 1d20 → a single value from 1 to 20, such as 14.
    • Damage roll: 2d6+3 → for example dice 4 and 6, total 13 including the modifier.
    • Character stats: 4d6 with a −1 modifier → four dice listed individually with the adjusted total.
    • Custom die: D30 or any side count from 2 to 10000 for homebrew rules and testing.

    Common Uses

    • Tabletop role-playing games that need standard or custom polyhedral dice.
    • Board games where physical dice are unavailable or have gone missing.
    • Classroom probability lessons with visible individual results and totals.
    • Prototyping and testing game systems that depend on dice distributions.

    Frequently Asked Questions

    What dice types are supported?

    D4, D6, D8, D10, D12, D20 and D100 are available as presets, and you can enter any custom number of sides from 2 to 10000.

    How does dice notation work?

    Use the classic format: 1d20 rolls one twenty-sided die, 2d6 rolls two six-sided dice, and 2d8+3 adds 3 to the total. The notation field overrides the selector fields when filled in.

    Is each die roll independent?

    Yes. Every die calls crypto.getRandomValues() and uses rejection sampling, so each face of each die has an equal chance and previous rolls never affect later ones.

    Can I roll many dice at once?

    Yes. Set the number of dice up to 100 per roll, and use Reroll to repeat the same configuration. Every individual roll is listed with the total.

    Is the roll history saved anywhere?

    Only in your browser’s local storage, and only if you keep rolling. Nothing is uploaded, and Clear history removes the stored rolls from this device.

    Last updated: