# man > google-authenticator(1)

---
type: CommandReference
command: google-authenticator
mode: man
section: "1"
source: man-pages
---

## Quick Reference
- `google-authenticator` — interactive setup of one-time passcodes
- `google-authenticator -t` — set up time-based (TOTP) verification
- `google-authenticator -c` — set up counter-based (HOTP) verification
- `google-authenticator -f` — force write secret without confirmation
- `google-authenticator -s /path/to/file` — store secret in a non‑standard location
- `google-authenticator -Q utf8` — output QRCode as Unicode block elements
- `google-authenticator -l user@example.com -i MyServer` — set custom label and issuer
- `google-authenticator -r 3 -R 30` — rate‑limit logins to 3 attempts every 30 seconds

## Name
google-authenticator — initialize one-time passcodes for the current user

## Synopsis
`google-authenticator` [`options`]

## Options

### Counter‑based specific options
- `-c, --counter-based` — Set up counter‑based verification.
- `-w, --window-size=`_N_ — Set window of concurrently valid codes (1–21, default 3).
- `-W, --minimal-window` — Disable window of concurrently valid codes.

### Time‑based specific options
- `-t, --time-based` — Set up time‑based verification.
- `-D, --allow-reuse` / `-d, --disallow-reuse` — Allow or disallow multiple uses of the same token (disallowed by default).
- `-w, --window-size=`_N_ — Set window of concurrently valid codes (1–21, default 3). Compensates for time skew; each unit covers a 30‑second step.
- `-W, --minimal-window` — Disable window of concurrently valid codes.
- `-S, --step-size=`_S_ — Set interval between token refreshes in seconds (1–60, default 30).

### General options
- `-s, --secret=`_file_ — Store secret key and settings in a non‑standard location.
- `-f, --force` — Write secret key and settings without user confirmation.
- `-l, --label=`_label_ — Override the default label in `otpauth://` URL.
- `-i, --issuer=`_issuer_ — Override the default issuer in `otpauth://` URL.
- `-Q, --qr-mode=`_mode_ — QRCode output mode: `none`, `ansi`, or `utf8` (Unicode block elements).
- `-r, --rate-limit=`_N_ `-R, --rate-time=`_M_ — Limit logins to _N_ attempts every _M_ seconds (N 1–10, M 15–600). `-u, --no-rate-limit` disables rate‑limiting.
- `-e, --emergency-codes=`_N_ — Generate _N_ emergency codes (max 10).
- `-q, --quiet` — Quiet mode.
- `-h, --help` — Print help message.

## See Also
[Google Authenticator PAM module](https://github.com/google/google-authenticator-libpam)