🔐 Chaerea – A Principled Passphrase Generator 🔐
Don’t mess around with your passwords or Cassius Chaerea will get you.
Chaerea (KAI-ray-uh) is a passphrase generator for people that follows these principles:
-
People will use the password that works for them.
Obviously. -
People remember words and phrases more easily than letters, numbers, and symbols.
(see xkcd 936 – correct horse battery staple) -
People have a hard time choosing things "randomly".
(see Bad at Entropy)
People easily remember thousands of words in daily life, and a phrase of just four words can have millions upon millions of possible combinations. Let people choose the settings that meet their password needs and let computers do the hard part of picking a truly random combination.
Default settings are meant to balance security with memorability.
-
Number of words
Default is 4, minimum 3, maximum 8. Longer is more secure but more likely to exceed a system's maximum password length. -
Separator
Default is-, but can be any string up to 4 characters long. -
Include number
Default is "At the end". Satisfies password systems that require a number. -
Word lists
Default is "Short list". Lists are based on the 12dicts project that makes lists of common English words by comparing multiple dictionaries. All lists have been filtered to remove a variety of words that could be problematic for one reason or another.- Short list - 11,912 core English words, from three to eight letters long, based 12dicts "3esl" list.
- Long list - 16,194 English words, from three to eight letters long, based 12dicts "6of12" list.
- 3‑letter list - 446 English words, all exactly three letters long, taken from the Short list.
- Custom – Paste or upload your own word list. One word per line, no duplicates.
-
Garbled words
Not recommended, because nonsense words are harder to remember than real words. But nonsense words aren't in any dictionaries (probably) and they can help pad the word list to increase strength a bit. The garbled words are generated automatically from the base words using phonetic substitutions.
- Clone this repository.
- Open
index.htmlin a browser. - Adjust settings in the “Settings” card; passphrase will regenerate automatically.
- Optionally upload or paste a custom word list via the “Custom” dropdown.
- Copy the resulting phrase with the Copy button.
- Click Generate Another Passphrase if you need another.
index.html– user interface and documentationapp.js– application logicwords-shortlist.js,words-longlist.js,words-3letter.js– built‑in word listsstyle.css– basic styling
Don't like them, don't want them. This project is free and public domain to the extent allowed by law (see LICENSE).
That said, be aware that this project was heavily vibe-coded using Claude Opus 4.6 and may contain scraps of whatever copyrighted code it trained on. Because intellectual property is over, and we're all going to jail.
In ancient Rome, Cassius Chaerea was a prefect of the Praetorian Guard. He was widely acknowledged as a brave and principled soldier and then, in the year 41, he assassinated the emperor Caligula. He did this mostly because Caligula was a dangerously insane tyrant, but also because Caligula liked to taunt and humiliate him by making him use embarrassing watch-words when he was on palace guard duty. The lesson of history is clear:
Don't mess around with your passwords or Cassius Chaerea will get you.