Tool 07

Password Generator

Generate strong, random passwords with custom length and character sets.

Password

Generate Secure Password

All generation runs locally in your browser — nothing is sent anywhere.

Ready
Password Length16
7255075100
Character Sets
Configure options and click Generate.

Help

How to Use the Password Generator

1
Set the length

Drag the slider to choose between 7 and 100 characters. Longer passwords are significantly harder to brute-force.

2
Pick character sets

Enable Uppercase, Lowercase, Numbers, and/or Symbols. Each selected set is guaranteed to appear at least once in the result.

3
Generate & reveal

Click Generate to create a password. Use the eye icon to reveal it and Copy to put it on your clipboard. Click Regenerate to create a fresh one with the same settings.

4
URL conversions (symbols only)

When symbols are included, two extra variants appear — URL Encoded (percent-encoded, safe for query strings) and URL Safe (symbols replaced with - _ . ~, usable directly in URLs). Both are masked by default.

URL EncodedUsing a percent-encoded password in popular stacks

cURL
curl -u "user:P%40ssw0rd%21" \
  https://api.example.com/data
JavaScript / Fetch
const pwd = "P@ssw0rd!";
const url = `https://api.example.com/data`;
fetch(url, {
  headers: {
    Authorization: "Basic " +
      btoa(`user:${encodeURIComponent(pwd)}`)
  }
});
Python / requests
import requests
from urllib.parse import quote

password = "P@ssw0rd!"
encoded  = quote(password, safe="")

r = requests.get(
    "https://api.example.com/data",
    auth=("user", password)  # requests handles encoding
)
Node.js / URL
const { URL } = require("url");

const pwd = "P@ssw0rd!";
const url = new URL("https://db.example.com");
url.username = "admin";
url.password = pwd; // auto percent-encoded
console.log(url.href);
// https://admin:P%40ssw0rd%21@db.example.com
Go
import "net/url"

pwd := "P@ssw0rd!"
u := &url.URL{
  Scheme: "https",
  User:   url.UserPassword("admin", pwd),
  Host:   "db.example.com",
}
fmt.Println(u.String())
// https://admin:P%40ssw0rd%21@db.example.com
PostgreSQL DSN
# .env — percent-encode special chars in the password
DATABASE_URL=postgresql://admin:P%40ssw0rd%21@localhost:5432/mydb

URL SafeUsing a URL-safe password (no percent signs) in popular stacks

Docker Compose
services:
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: P-ssw0rd.Safe~key
      # No quoting or encoding needed
Kubernetes Secret
apiVersion: v1
kind: Secret
metadata:
  name: db-secret
stringData:
  password: "P-ssw0rd.Safe~key"
  # stringData accepts plain text — no base64 needed
nginx / proxy_pass
upstream backend {
  server https://user:P-ssw0rd.Safe~key@api.internal;
}
# URL-safe chars need no escaping in nginx config
Spring Boot (.properties)
spring.datasource.url=jdbc:postgresql://localhost/mydb
spring.datasource.username=admin
spring.datasource.password=P-ssw0rd.Safe~key
# No encoding needed in .properties files
Redis CLI / URL
# URL form — URL-safe password needs no escaping
redis-cli -u redis://user:P-ssw0rd.Safe~key@localhost:6379

# Or via env
export REDIS_URL=redis://:P-ssw0rd.Safe~key@localhost:6379
.env file
# .env — URL-safe passwords work unquoted
DB_PASSWORD=P-ssw0rd.Safe~key
API_KEY=xyz-abc_123.token~v2

# Load in Node.js
# require("dotenv").config()