Roll · Dice Room · Feedback · About

1) input a die code
2) press enter to roll
3) rinse, repeat!

What's New?

  • Session Reconnect Stability
    I think I found a way for session data (such as the room you're in and your nickname) to persist across re-connects even when your cookie data expired. In theory you should be able to leave the window open for days, let's see how it works out in practice.
  • Chat Timestamps and Archives
    The dice rooms now feature timestamps. Let the mouse hover over the die icon to the left of an entry and it'll display the time in a mouseover hint. Furthermore, the chat logs now contain timestamps as well, including periodical time-info lines. Also, as of now you can access older chats by using the new pagination elements at the top (and bottom if applicable) of the log. It's now possible to pop out the log window by clicking on the three-line symbol ☰ in the top left corner of the screen, next to the room name.
  • New Features
    Macros should now be working in the new dice rooms! You can now use Unicode characters in Dice Room nicknames. There are two new chat commands: /self for sending a dice roll result only to yourself, and /msg to send a private message to someone else in the room. We now have a generator for magical book names: "gen book".
  • Fixed Major Room Log Bug
    A bug in the code responsible for saving die roll results to the respective rooms has been resolved. If you had trouble recalling the correct log for your room or if you got errors embedding die results, that was most likely the reason for it. Thanks to Flyer for pointing me in the right direction!
  • Changes to the H and L codes
    I cleaned up the dice code syntax somewhat, please watch out for that if you're used to the old H and L modifiers, they have changed. Also, the Z die type no longer exists. The new syntax should cover more use cases and allow for better flexibility. Also, in "Power User Stuff" there are more reroll mechanics, and I've been working on new Generators, including both a Warhammer Fantasy and a D20 / Dungeons & Dragons character stats generator.
  • Realtime Dice Rooms
    Exciting news: the new dice rooms are now in beta! They are based on the Websockets protocol for real realtime interaction. In conjunction with that, I made a lot of changes under the hood that should make future updates to the site much easier. Give it a try.
  • New Generators Coming Up
    Name generator beta: type "gen name [template]", where template is one or more of our naming templates (default, byname, fantasy, rome, wh) to generate a bunch of random names for your NPCs.
  • What's not to like?
    They keep resetting the Facebook like counter every few months, not sure why. So we're back to zero, again.
Double-click a die to roll it! ^
Click once to load it into the textbox on the left.
Welcome to the Roleplayer's Online Dice Roller, your one-stop virtual bag of dice! The Roller interprets standard dice codes presented in the standard notation.
In order to get a result, please enter the dice code into the input field and hit enter. You can also click on the standard dice on the right to load them into the field. Click double if you want to roll one of them right away. It's an AJAX application, magical things will happen!

Examples: (click once to load, click twice to roll right away)

About Rolz

Basic Dice Codes

  • Keep the highest (or lowest): if you want to roll multiple times but have only the highest result(s) count, use the modifier "H". If you want only the lowest result(s) counted, use "L".
    Drop lowest / keep highest 5 of 6D10: 6D10H
    Highest 4 of 6D10: 6D10H4
    Lowest 4 of 6D10: 6D10L4
    The default die of this roll type is d10, so 4H2 can be used as a shorthand for 4d10h2.
  • Drop the lowest: if you want to drop the lowest die result, use "I" (that's a capital i) instead of "D" in the dice code.
    Example: 4I6
  • Fudge Rolls: if you want dice to have values from -X to +X, use "U" instead of "D" in the dice code, followed by X.
    Example: 4U1
  • Hero System damage rolls: total result is counted as stun damage. On top of that, body damage is calculated by counting ones as zero, 2-5 as 1, and sixes as 2 points of body damage. You can also use the "*" operator for the stun multiplier.
    Example: 4B6 / with stun multiplier: 4B6*3
    For "killing"-type damage, use the K operator like this: 4K6*3
  • Wild Die (D6 System): The D6 System has a special rule for one of the dice in each roll, it becomes the "Wild Die". The Wild Die is rolled again as long as it comes up with the max result, but if the first roll is a 1 the next roll as well as the highest result of the other dice becomes a penalty. Two ones make a critical failure.
    Example: 4W6
    Without the wild die failure option: 4V6

Success-Based Rolls

  • Count the number of successes: to see how many dice rolled equal to or greater than some number, use "E".
    Example: 4D6E4
    The default die of this roll type is d6, so 4e4 can be used as a shorthand for 4d6e4.
  • Successes with additive re-roll: to see how many dice rolled equal to or greater than some number, use "R" if you want the individual die maximum to trigger a re-roll. This way, you can have target difficulties greater than the max number of the die. The system also gives you the number of ones rolled (if there were any) so you can judge whether an action resulted in a fumble.
    Example: 4D6R8
    The default die of this roll type is d6, so 4r8 can be used as a shorthand for 4d6r8.
  • Successes minus failures: to see how many dice rolled equal to or greater than some number, and subtract the amount of ones rolled, use "F".
    Example: 4D6F4
    The default die of this roll type is d6, so 4f4 can be used as a shorthand for 4d6f4.
  • Successes "plus": to see how many dice rolled equal to or greater than some number, and roll every max result again and see if it's another success, use "M".
    Example: 4D10M4
    The default die of this roll type is d10, so 4m4 can be used as a shorthand for 4d10m4.
  • Successes with everything: to see how many dice rolled equal to or greater than some number, and roll every max result again, and subtract the amount of ones rolled, use "S". This is probably the one you want for most systems.
    Example: 4D10S4
    The default die of this roll type is d10, so 4s4 can be used as a shorthand for 4d10s4.
  • Successes with multiple dice: Some systems use the cumulative result of two or more dice to determine successes, here the sum of several dice is compared to the difficulty rating. To emulate this, you can group dice like this:
    Example: 1D6:6S4 , meaning 2d6 will be rolled and 4(+) is a success.
    Example: 5D6:8S10 , here a d8 and a d6 will be rolled, a sum of 10(+) is a success, the entire check is rolled 5 times.
  • Maximum possible die result counts as two successes: to see how many dice rolled equal to or greater than some number, use "X".
    Example: 4D6X4
    The default die of this roll type is d6, so 4x4 can be used as a shorthand for 4d6x4.


  • Random names: Use gen name [template], where [template] is the style of name you want to create. Supported templates are archaic, byname, default, dorf, elf, fantasy, highgothic, lowgothic, primitive, rome, star, wh. You can also chain several templates together by separating them with a space in between.
    Example: gen name wh
  • Random magical tomes: gen book
  • Random tavern names: gen tavern
  • D20/Pathfinder/Dungeons&Dragons Attributes: Use gen d20 to generate a set of D20 attributes. For each attribute, the formula 4i6 is used (drop the lowest d6). If one or more attributes should receive the highest-rolled values, just list them after the command. For example, this gives the highest priority to strength and constitution:
    gen d20 Str Con
  • Warhammer Characters: Use gen wh to generate a basic Warhammer Fantasy character. You may optionally give the race - if not, one will be randomly selected from elf, dwarf, halfling, or human. For example, this generates a basic dwarf:
    gen wh dwarf

Power User Stuff

  • To see how an individual result came to be, let the mouse pointer hover above the number to see more details. If your browser won't show the details, click on the result to expand it instead.
  • Multiple rolls at once: to roll for multiple things (e.g. an attack and a damage roll), you can chain together dice codes by semicolons.
    Example: 1D20; 1D6+2
  • A number of rolls: if you want to repeat the same roll for a number of times, use the repeat command. If you also want the sum of the rolls, use sum instead of repeat.
    Examples: repeat 6 3D6 or: sum 6 3D6+3
  • You can add comments to your roll by appending a pound sign # followed by some text to your code, like this: 1D20+2 #attack roll
  • Custom attributes: another way to define custom rules for a single roll command is using attributes. The following attributes are currently supported:
    • reroll: ignore one or more results and roll again ( reroll=1,2 4d6 )
    • reroll multiple: ignore one or more results and roll again, adding 3 dice ( reroll=1,2 rx=3 4d6 )
    • reroll only X times: ignore one or more results and roll each again once ( reroll=1,2 rmax=1 4d6 )
    • round: round up all results below this number ( round=3 d10 )
    • explode: specify one or more results that cause the die to be rolled again and the result added up ( explode=5,6 4d6 )
    • default die: specify another default die ( die=4 7H4 )
    • count: count the occurrences of specific die results ( count=1,2 10d6 )
    You can combine attributes with another, and also use macros (see below) to invoke them. It doesn't matter if an attribute comes before or after the actual dice code, as long as they are separated by a space.
  • Defining criticals: you can specify what your critical rules are with the rule crit command.
  • You can define macros to automate repetitive die rolls or often-used number constants (such as your attack bonus).
  • Saving and loading user data: you can save your customizations (such as the macros you defined) for later. To save your current session, type "save MyCoolUserName" where MyCoolUserName is an arbitrary name for your session. You have to remember this name in order to retrieve the session later with the corresponding command "load MyCoolUserName".