Flexible, scriptable passphrase generator inspired by XKCD 936
BSD-3-Clause
- Python
- Roff
- Shell

About xkcdpass
xkcdpass generates strong multiword passphrases from word lists, with an interface for command line use and Python imports. It is aimed at people who want memorable passwords such as correct horse battery staple without giving up control over word choice and format.
It can generate one or many passphrases, constrain words by length or regular expression, and support acrostics, delimiters, separators, and several case modes. Word file selection is configurable, with built-in lists such as eff-long, eff-short, eff-special, legacy, and multiple language lists. It also reports metrics with a verbose option and can allow a weak RNG fallback if needed.
xkcdpass is installable with pip and requires Python 3.4 or later. It runs entirely offline and works with any one-word-per-line word file, so you can supply your own dictionary in any language. The same tool can be called from the command line or imported as a Python module for use inside other programs.
Key features
- Generate one or many passphrases from configurable word lists
- Filter words by minimum, maximum, and valid characters
- Use acrostics, delimiters, separators, and case modes
- Report metrics including word list entropy
- Optional weak RNG fallback if secure RNG is unavailable
Details
- First released
- 2011
- Platforms
- CLI
- Deployment
- offline-first
- Language
- Python 3.4+
- Input
- One word per line word files
- Install
- pip