---
name: "xkcdpass"
section: "1"
platform: "linux"
package: "xkcdpass"
version: "1.30.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/xkcdpass"
---

# xkcdpass(1)

generate memorable, secure multiword passphrases

## NAME

xkcdpass - generate memorable, secure multiword passphrases

## SYNOPSIS

**xkcdpass** \[ options \]\
 **xkcdpass** --help

## DESCRIPTION

A flexible and scriptable password generator which generates strong passphrases, inspired by XKCD 936:

-

  ```
  $ xkcdpass
  > correct horse battery staple
  ```

## OPTIONS

- **--help**

  Describe how to use this command.

- **--wordfile** WORDFILE, **-w** WORDFILE

  Specify that the file WORDFILE contains the list of valid words from which to generate passphrases.

- **--min** MIN\_LENGTH

  Minimum number of letters required in words used to make password. (Default: 5)

- **--max** MAX\_LENGTH

  Maximum number of letters allowed in words used to make password. (Default: 9)

- **--numwords** NUM\_WORDS, **-n** NUM\_WORDS

  Generate passphrases containing exactly NUM\_WORDS words. (Default: 6)

- **--interactive**, **-i**

  Generate and output a passphrase, query the user to accept it, and loop until one is accepted.

- **--valid\_chars** VALID\_CHARS, **-v** VALID\_CHARS

  Limit passphrases to only include words matching the regex pattern VALID\_CHARS (e.g. `'[a-z]'`).

- **--verbose**, **-V**

  Report various metrics for given options.

- **--acrostic** ACROSTIC, **-a** ACROSTIC

  Generate passphrases with an acrostic matching ACROSTIC.

- **--count** COUNT, **-c** COUNT

  Generate COUNT passphrases. (Default: 1)

- **--delimiter** DELIM, **-d** DELIM

  Separate words within a passphrase with DELIM. (Default: ' ')

- **--separator** SEP, **-s** SEP

  Separate generated passphrases with SEP. (Default: ' ')

### EXAMPLES

- •

  **xkcdpass**

  Generates one passphrase with the default options. Example output:

  -

    ```
    pinball previous deprive militancy bereaved numeric
    ```

- •

  **xkcdpass** --count=5 --acrostic='chaos' --delimiter='\|' --min=5 --max=6 --valid\_chars='\[a-z\]'

  Generates 5 passphrases, all from lower-case words and meeting the acrostic "chaos", delimited by the "\|" character. Example output:

  -

    ```
    collar|highly|asset|ovoid|sultan
    caper|hangup|addle|oboist|scroll
    couple|honcho|abbot|obtain|simple
    cutler|hotly|aortae|outset|stool
    cradle|helot|axial|ordure|shale
    ```

## HISTORY

The **xkcdpass** command invokes the Python program `xkcd_password.py`.

The inspiration for the program's purpose is the XKCD 936 "Password Strength" cartoon.
