Digital version of EFF's dice (
Switch branches/tags
Nothing to show
Clone or download
erans remove resource validation
Had to remove the resource validation for now as the build process in Netlify (where is hosted) minimizes things and generate a different hash. Until I can get a script to update the values during build I'm removing the hashes.
Latest commit 981db1c Oct 2, 2017

DicePass - Digital version of EFF's dice (

Written by Eran Sandler (@erans) (c) 2016

EFF's dice is a system that utilizes a dice (or 5 if you want it to be quicker) to generate a 5 digits number. Once you have 6 such numbers you search each one in a long words list (like this one) which helps you to generate a passphrase that you can (more easily) remember than a random set of characters.



Everything runs in the local browser. You can run it locally (clone and open index.html) or use the hosted version at

How does it work?

DicePass uses new browsers' native Javascript API for a Pseudo Random Number Generator (PRNG) - crypto.getRandomValues - via the underlying operating system of the browser (so its cryptographically sound(er)) to mimic the throw of a dice - as if you were throwing it yourself. While this is considered by most people as less satisfying than throwing dices around, it generates results that are safe enough yet rememberable (not to mention it takes a lot less time).

We mimic throwing 5 dices 6 times and use the same EFF large wordlist that was converted into a Javascript Dictionary for easier lookup.

Browsers that supports the new crypto.getRandomValues JavaScript API are:

  • IE 11+
  • Edge 13+ (the new Microsoft browser)
  • Firefox 47+
  • Chrome 49+
  • Safari 9.1+
  • Opera 39+
  • iOS Safari 9.2+
  • Opera Mini (all versions)
  • Android Browser 4.4+
  • Chrome for Android 51+

For all other unsupported browsers, we will issue an alert and use a less secure pseudo random numbers generator based on the ISSAC algorithm ( While its significantly less secure as the numbers are far less random than it appears, it still holds some value to users.