I am looking for an online die roller that works similarly to the following:

  1. The GM provides a string identifier to the player. E.g., "gandalf attacks balrog #12"
  2. The player enters the id on the roller site, which checks it for uniqueness vs the DB, then generates the results, lined to that id.
  3. The GM can check the results by id.

An alternative implementation would be for the GM to request a range of pre-generated ids from the site and hand them out to the players for rolls.
E.g., "please roll 5d8 with id #314159265"

Is there anything similar?

Notes and Clarifications:

As Thales Sarczuk inferred, this is indeed for "play by forum/email" games. The idea is to have "verifiable" rolls, preventing "roll until you you get a good result" scenarios.
However, it will be used on forums that are not gaming-specific so using plugins is not an option.

Thank you!


closed as off-topic by GMJoe, Purple Monkey, nitsua60, Miniman, Wibbs Mar 18 '16 at 8:08




The website Invisible Castle had this exact functionality, and with this exact purpose in mind. It saved the rolls with tags for character, campaign, etc. You could look up the entire roll history of a player.

However, Invisible Castle seems to have gone down, possibly permanently. The site has apparently changed hands and now tries to install suspicious browser extensions, so links to it have been removed.

Other websites that have similar functionality are Rolz and Unseen Servant.

  • \$\begingroup\$ This seems to fit the bill. Rolls are retained, are linkable and can have comments attached to them. \$\endgroup\$ – Alex O Sep 25 '14 at 21:04
  • 2
    \$\begingroup\$ BIG RED WARNING: This site seems to be compromised. \$\endgroup\$ – Xan Mar 17 '16 at 23:58
  • \$\begingroup\$ Rather than leaving a no-longer-valid struck-through answer with broken links (which have also been removed because the site was apparently compromised), and leaving unnecessary edit notes, it's better to simply edit the answer to be the best version of itself. Relevant meta: Don't signal your edits in text \$\endgroup\$ – V2Blast Sep 12 '18 at 3:41

Giant in the Playground’s roller is tamper-resistant; any edit to the roll-code after posting, and the post gets a big red angry message and it messes up the roll.

But the real solution, of course, is trusting your players. If you cannot trust your players, you don’t have a game, and no amount of anti-cheat device will fix that. You need to fix the relationship that you have with them, first.

  • 1
    \$\begingroup\$ +1 That's true. Trust is something that is invaluable to RPG's. Unfortunatelly, it is a scarce resource nowadays =/ \$\endgroup\$ – T. Sar Sep 25 '14 at 17:39
  • 1
    \$\begingroup\$ The Giants in the Playground one also has the option to be emailed all updates to the thread. That means you have an email record if someone changes the post after they see the dice results. \$\endgroup\$ – Tim B Sep 25 '14 at 17:42
  • \$\begingroup\$ Giant in the Playground assumes running the game on that site, does it not? I could not find a standalone roller there. \$\endgroup\$ – Alex O Sep 25 '14 at 21:03
  • \$\begingroup\$ @AlexO That’s correct. Though you could (probably, not sure how it stands with their rules) use it purely for rolls and the thread becomes a “database” of sorts. \$\endgroup\$ – KRyan Sep 25 '14 at 21:27
  • \$\begingroup\$ In certain scenarios players may be kids or people are not mature enough that could use some help protecting form themselves. I think that dismissing the whole question like that is not fair. Many safety nets have been implemented to help people to stay honest, and this is just one example of them. \$\endgroup\$ – Andrew Savinykh Sep 26 '14 at 0:07

From your question, I imagine you need this to a play-by-forum game, and wouldn't be online at the same time than the player.

If you CAN be online at the same time than the player, just go to Rolz, create a room a you're done. If you can't, just go to Rolz anyway, create a room and you're done.

Rolz save all the logs from rolls, so you can make your players roll their dice and check up the log later. If they roll multiple times, you will be able to see that. Also, Rolz is excruciantly powerfull and customizable, so you can adapt it to any game you need.

To create a room on Rolz, go to the upper most side, and then choose the "Dice Room" option. Follow the instructions on the screen.

Those logs don't last forever, but if you have a only a couple days between rolls, you should have no problem.


Custom-made to answer this question: RollDB

RollDB is a PHP-based web application that connects to a SQL database (quasi-)permanently storing roll results in both text and number format. You can specify an ID beforehand, or have one assigned at random. Right now it supports a number of common rolls for Shadowrun, the d6 System, the d20 System, Fate, and similar games, and it'll support Earthdawn by the end of the week when the advanced roller is done (the Earthdawn dice RNG will feed into it directly).

Future features (I'll update when they're ready) include

  • an actual dice format parser [soon; most of the parser is ready, implementing the resulting data is being worked on]
  • stat block rolling [somewhat later]
  • users, groups, and campaigns for roll management [feature-complete]
  • fancy graphics [absolute final priority]

Once it's feature complete, I will offer an open-source version for anyone with a *AMP stack to host.

  • 1
    \$\begingroup\$ This details the notation of the DiceLord system I'm building to serve as a RNG. I'll have a feature incomplete version up by next Monday: pastebin.com/UAx85NNx \$\endgroup\$ – Kyle Willey Sep 30 '14 at 22:53

Both Invisible Castle and RPOL.NET function with the above information in mind, however, RPOL.NET can be used to create a game and assign characters to people who join, allowing you to keep track of the die rolls of individual players. All the results are tamper proof.


If you're really worried about players cheating, my preference is Hamate aka Dicelog. You can have the player email the roll to you - the email comes from dicelog as soon as he makes the roll, with his note about what roll it is, etc attached. The results are in your inbox by the time the player finds out what he rolled, so there's no way to manipulate anything. For long series of player-directed rolls (skill challenges where the players know their DC, for example, or character creation in a game like Hackmaster) they can create a log that will store all their rolls, with historical notes about which roll was for what, example.

I see another answer has addressed the lack of trust issue, so I'm not going to say much on it here, as it's really not the question you're asking, but it is an issue and I want to strongly advise you to find a way to overcome it. Not only will that make your cheating issue moot, but it will improve your game significantly.


The older solution is dice server that emails the die rolls to both parties.



Use any hashing algorithm and you don't need to trust the randomness algorithm of a website and you can verify the randomness yourself. Heres an example using MD5, but any reasonable hash algo will work.

You can use any program online to do MD5, like http://www.miraclesalad.com/webtools/md5.php

Say I want to roll a 6 sided die

  1. I send you MD5("1337") which is "e48e13207341b6bffb7fb1622282247b"

  2. you send me MD5("8008") which is "12f73080e04ce0d8e95defb577ebc3f4"

  3. I reveal that I chose 1337 (which can then be verified by you by doing MD5(1337) yourself and seeing that it matches)

  4. you reveal that you chose 8008

now we have what is desired, a number that both of us chose without seeing the other person's number first. Use whatever way you want to get a roll from here. If you want to further randomize, for example,

  1. with 9345 = 1337 + 8008 we agree that the die roll is now generated by MD5("9345") = "76444b3132fda0e2aca778051d776f1c", then take the first digit mod 6 = 1

Of course, you'd want to always pick a big seed number so they couldn't brute force it.

