ee1os

Passphrase generator

Random words are the easiest strong password to type and remember. Use one for a password manager, an encrypted backup or an account login. This is a browser tool: everything happens in this page and nothing is sent anywhere. Only the practice section keeps anything, in this browser, and never the passphrase itself.

The generator needs JavaScript. It runs only in this page.

What to pick

The defaults are what we recommend: 6 words, hyphens, no capitals, no digit. That is about 85 bits, more than any attacker can guess, even offline.

How it works

Each word is drawn with your browser's cryptographic random generator (crypto.getRandomValues), with every word equally likely. Strength is counted as the number of words times log₂ of the list size: 14.1 bits a word for Orchard Street, 12.9 for EFF, 14 for the Russian list.

Nothing leaves this page. The generator is a browser tool: no passphrase is sent to a server, and the list above exists only while the page is open. You can load the page, turn off the network, and it keeps working.

What practice keeps. Only if you add something to it, and only in this browser's storage for this site: the names, one random salt for this browser, a PBKDF2-SHA-256 check value (600,000 rounds) for each entry and the days each was typed right. To check what you type, the page works out the same value once and compares it with every entry. Getting a six-word passphrase back from it means guessing all six words, which is out of reach. A short PIN is not: anyone who gets into this browser could try every PIN against the check value, so practise one here only if that is acceptable. Forget everything in practice deletes it all; Safari also deletes it by itself after 7 days without a visit.

Word lists: Orchard Street Long List by Sam Schlinkert, CC BY-SA 4.0. EFF Large Wordlist by the Electronic Frontier Foundation, CC BY 3.0 US. The Russian list ranks words by how common they are in film subtitles (FrequencyWords by Hermit Dave) and in Russian Wikipedia (word counts by Ilya Semenov), uses the OpenCorpora dictionary to keep plain dictionary words, and was then read through to take out grim, rude and little-known words. It is shared under CC BY-SA 4.0.