Passwords that
actually resist attacks

Cryptographically random ยท Generation is 100% client-side ยท No passwords logged
Anti-pattern engine informed by SANS ISC honeypot research

5 words
20 chars
Numbers are distributed throughout โ€” never appended to the end
5 words
Noun and adjective slots draw from the full word list for maximum entropy
or press Space

How entropy is calculated

โ—ˆ
Word-based

N ร— logโ‚‚(wordlist size). Each extra word multiplies the search space. Separator choice, capitalisation mode, and l33t substitutions add bonus bits.

โŒ—
Character

Length ร— logโ‚‚(charset size). All 4 character sets enabled gives logโ‚‚(94) โ‰ˆ 6.55 bits per character. 20 chars = 131 bits.

โ—‰
Sentence

Sum of logโ‚‚(pool size) per slot. Noun and adjective slots use the full word list, boosting entropy far above small grammar pools alone.

Crack time assumes 100 billion guesses/second โ€” an offline GPU cluster attack. Online attacks are orders of magnitude slower.

All three generators are available via a REST API on Cloudflare's edge. Metadata (IP, browser, style) is logged to Discord โ€” passwords are never logged.

POST /api/generate
{
  "type":      "word" | "char" | "phrase",
  "count":     1โ€“10,

  // Word & phrase options
  "wordCount":  2โ€“10,
  "separator":  "-" | "." | "_" | " " | "~" | "!" | "@" | โ€ฆ | null (random),
  "capMode":   "first" | "last" | "random" | "vowel" | "all" | "none",
  "injectNum":  true | false,
  "leet":       true | false,

  // Character options
  "length":  8โ€“64,
  "lower":   true | false,
  "upper":   true | false,
  "numbers": true | false,
  "special": true | false
}
Response
{
  "passwords": [
    {
      "value":    "C0balt-Forg3d-7Leaps-Swiftly",
      "bits":     78.4,
      "strength": { "label": "Good", "level": 2 },
      "time":     "3.1M years",
      "warnings": [],
      "type":     "word"
    }
  ],
  "meta": { "type": "word", "count": 1, "generatedAt": "2026-04-15T10:30:00Z" }
}
cURL
curl -X POST https://YOUR_DOMAIN/api/generate \
  -H "Content-Type: application/json" \
  -d '{"type":"word","wordCount":6,"capMode":"random","leet":true,"count":3}'