Motus is a command-line application that makes generating secure passwords a breeze.
Inspired by the user experience of the 1Password password generator, motus focuses on providing a simple and elegant user interface with sane defaults and comprehensive options. By default, motus copies the generated password to your clipboard, making it even more convenient to use.
- Simple and elegant user interface: motus is designed to be easy to use and understand, and makes it difficult to generate insecure passwords.
- Generate secure memorable passwords: motus uses the EFF's wordlist to generate secure and memorable passwords
- Generate random passwords with optional number and symbol inclusion
- Generate PINs with customizable length
- Security analysis: the
--analyze
option provides a security analysis of the generated password, ensuring optimal password strength. - Sane defaults
- Clipboard integration for easy password usage
- Flexible customization options
Using Homebrew:
brew tap oleiade/tap
brew install motus
Add the repository and install motus:
# Download and install the repository's GPG key
curl -fsSL https://oleiade.github.io/deb/oleiade-archive-keyring.gpg | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/oleiade-archive-keyring.gpg > /dev/null
# Add the repository to your system's sources
echo "deb [signed-by=/usr/share/keyrings/oleiade-archive-keyring.gpg] https://oleiade.github.io/deb stable main" \
sudo tee /etc/apt/sources.list.d/oleiade.list > /dev/null
# Update your sources
apt update
# Install motus
apt install motus
Alternatively, you can install using Cargo:
# Install with clipboard support (default)
cargo install motus
# Install without clipboard support (for headless/server environments)
cargo install motus --no-default-features
> motus --help
Motus is a command-line tool for generating secure, random, and memorable passwords as well as PIN codes.
Usage: motus [OPTIONS] <COMMAND>
Commands:
memorable
Generate a human-friendly memorable password
random
Generate a random password with specified complexity
pin
Generate a random numeric PIN code
help
Print this message or the help of the given subcommand(s)
Options:
--no-clipboard
Disable automatic copying of generated password to clipboard
-o, --output <OUTPUT>
Output the generated password in a specified format
[default: text]
[possible values: text, json]
--analyze
Display a safety analysis along the generated password
--seed <SEED>
Seed value for deterministic password generation (for testing purposes)
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
> motus memorable
fossil abreast overplant commute dish
# Or customize the password generation
> motus memorable --words 7 --separator numbers-and-symbols --capitalize
Goes$Stood3Paving(Tipoff$Settle*Flip3Scone
> motus random
UDrZrJJTYElWeOFHZmfp
# Or customize the password generation
> motus random --characters 42 --numbers --symbols
6HdwMjKQPYE3scIBlCps&1Ir5R8lQ85eIVtF!fpUSD
> motus pin
1234421
# Or customize the size of the PIN
> motus pin --numbers 9
347751411
> motus --output json random
{"kind": "memorable", "password": "6HdwMjKQPYE3scIBlCps&1Ir5R8lQ85eIVtF!fpUSD"}
For headless environments (SSH sessions, Docker containers, servers), you have two options:
Option 1: Compile without clipboard support (recommended for servers)
# Install headless version with no clipboard dependencies
cargo install motus --no-default-features
# Use normally - no clipboard code or warnings
motus memorable --words 5
Option 2: Use runtime flag with standard version In environments without X11/Wayland, the standard version will show warnings when clipboard access fails:
- The password is still generated and displayed
- A warning message is shown on stderr explaining the clipboard failure
- Use
--no-clipboard
to suppress the warning for automated scripts
# Suppress clipboard warnings for server usage
motus --no-clipboard memorable --words 5
Motus follows Unix conventions for output streams:
- stdout: Contains only the generated password (or JSON output)
- stderr: Contains warnings and error messages
This design ensures passwords can be reliably captured by scripts even when warnings occur.
Script usage example:
#!/bin/bash
# Capture password to variable, ignore clipboard warnings
PASSWORD=$(motus memorable --words 4 2>/dev/null)
# Or capture warnings separately for logging
motus memorable --words 4 2>warnings.log | some-other-tool
# Pipe password directly to other tools
motus --no-clipboard random --characters 20 | pbcopy
We welcome contributions to the project. Feel free to submit issues, suggest new features, or create pull requests to help improve motus.
motus is distributed under the AGPL-3.0 license.
motus used to be a tv game that I would call the ancestor of Wordle. Players had to guess words of a given size, and would pick up balls from a cup to decide how each round would move along. They would make that very distinct move to scramble the balls around every time, with a very distinct sound. When starting this project, I thought of the process of generating passwords as this comforting and satisfying act of diving into a huge cup full of numbered balls, and the childish feeling of it. This project is named in memory of Motus.