Secure · Client-side only · No data sent to server
passwords (max 50)
🔒 Passwords are generated entirely in your browser. Nothing is sent to any server.
📜 Recent Passwords (this session only)
REST API

api.dmxhk.app

Programmatically generate passwords and passphrases via HTTP API. Requires an API key.

GET /health Public

Check if the API is online. No authentication required.

Request
curl https://api.dmxhk.app/health
Response
{
  "ok": true,
  "status": "online",
  "ts": 1748390400000
}
POST /generate Auth Required

Generate one or more passwords. Pass your API key in the X-API-Key header.

Request Body (JSON)
FieldTypeDefaultDescription
modestring"password""password" or "passphrase"
countnumber1How many to generate (max 50)
Password mode
lengthnumber24Character length (4–256)
uppercasebooltrueInclude A–Z
lowercasebooltrueInclude a–z
numbersbooltrueInclude 0–9
symbolsbooltrueInclude !@#$…
no_ambiguousboolfalseExclude 0Oo1lI|`'"
excludestring""Characters to exclude
Passphrase mode
word_countnumber4Number of words (2–12)
separatorstring"-"Word separator
capitalizeboolfalseCapitalize each word
append_numberboolfalseAppend random 2-digit number
append_symbolboolfalseAppend random symbol
Examples
Strong password (curl)
curl -s -X POST https://api.dmxhk.app/password-generator \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "mode": "password",
    "length": 32,
    "uppercase": true,
    "lowercase": true,
    "numbers": true,
    "symbols": true,
    "count": 5
  }'
Passphrase (curl)
curl -s -X POST https://api.dmxhk.app/password-generator \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "mode": "passphrase",
    "word_count": 5,
    "capitalize": true,
    "append_number": true,
    "separator": "-"
  }'
JavaScript (fetch)
const res = await fetch('https://api.dmxhk.app/password-generator', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    mode: 'password',
    length: 24,
    uppercase: true,
    lowercase: true,
    numbers: true,
    symbols: false,
    count: 3
  })
});
const { ok, data } = await res.json();
console.log(data.passwords);
// ["xK9mRvLpQnDtYwBh3cZj", ...]
Python
import requests

r = requests.post(
    'https://api.dmxhk.app/password-generator',
    headers={'X-API-Key': 'YOUR_API_KEY'},
    json={
        'mode': 'passphrase',
        'word_count': 4,
        'capitalize': True,
        'append_number': True,
        'count': 10
    }
)
data = r.json()['data']
for pw in data['passwords']:
    print(pw)
# Bagpipe-Cilantro-Spirited-Claim-92
Response (password mode)
{
  "ok": true,
  "data": {
    "passwords": ["xK9mRvLpQnDtYwBh3cZj4A", "..."],
    "mode": "password",
    "length": 24,
    "entropy_bits": 155.8,
    "charset_size": 90
  }
}
Response (passphrase mode)
{
  "ok": true,
  "data": {
    "passwords": ["Bagpipe-Cilantro-Spirited-Claim-92"],
    "mode": "passphrase",
    "word_count": 4,
    "entropy_bits": 58.2,
    "charset_size": 7776
  }
}