Password Generator
Generate secure passwords.
Configuration
Estimate based on 100 billion attempts/sec (modern GPU using bcrypt/SHA-256). Actual time varies with hardware and algorithm.
How to use this tool
Set the password length
Choose a length of 16 characters or more for a password that resists brute-force attacks on modern hardware. Longer is always stronger, with diminishing returns past 20 characters.
Select character classes
Toggle uppercase letters, lowercase letters, numbers, and symbols. Including all four classes maximizes entropy. The generator draws every character from the browser's crypto.getRandomValues() CSPRNG.
Generate the password
Click generate to produce a fresh cryptographically random password. Nothing is sent over the network, stored, or logged. Close the tab and the password is gone from memory.
Copy and store in a password manager
Copy the password to your clipboard and paste it into a password manager like Bitwarden, 1Password, or Apple Passwords. Never reuse a password across accounts, and enable 2FA wherever possible.
About this tool
The Password Generator produces cryptographically random passwords of any length, with customizable character classes including uppercase, lowercase, numbers, and symbols. It runs entirely in your browser. Every character is drawn from the browser's native crypto.getRandomValues() API, which is the same CSPRNG source used by TLS handshakes and Web Crypto key generation. That means the outputs are suitable for real secrets, not just demo data.
Use it to create master passwords for a password manager, one-off tokens for development, seed values for environment variables, or fresh recovery codes. Because nothing leaves your machine, it's safe to use on shared networks, work laptops with strict DLP policies, or air-gapped environments where external password-generator services aren't an option.
How it works
Random bytes are pulled from crypto.getRandomValues() and mapped to a character set you select. Longer passwords with more character classes have exponentially more possible values, measured in bits of entropy: 16 characters from a 90-character alphabet gives about 104 bits of entropy, well beyond brute-force reach for today's hardware.
When to use it
Any time you need a new credential: a new account, an API key for a script, a recovery passphrase, or a one-off token for a test environment. Pair with the Encoding Converter if you need the password Base64-encoded for an environment file, and the JSON Formatter when embedding credentials into a structured config.
Frequently asked questions
How long should a secure password be?
Is the generated password actually random?
Is my password saved anywhere?
What's the difference between a passphrase and a password?
Should I use the same password everywhere?
How often should I change my passwords?
Related tools
Text Encoding Converter
Convert between Text, Base64, Binary, Hexadecimal, and Decimal formats.
Use tool ➜Unix Timestamp
Convert between Unix timestamps and human-readable dates.
Use tool ➜JSON Formatter
Validate, format, and minify JSON data with syntax highlighting.
Use tool ➜Contrast Checker
Check color contrast ratios for WCAG AA/AAA accessibility compliance.
Use tool ➜