Password Generator
Generate cryptographically secure random passwords with custom length and character sets. Entropy scoring shows real strength. Nothing leaves your browser.
TL;DR. Set your desired length (16+ recommended), tick the character sets you want, and click Regenerate until you see Very Strong. The entropy bar reflects real math: length × log2(charset_size). The generator uses crypto.getRandomValues — the same cryptographically secure source your browser uses for TLS. Store the result in a password manager (Bitwarden or 1Password) and never reuse it across accounts.
Understanding password entropy
Entropy is the right way to measure password strength, not arbitrary rules like "must contain one uppercase and one special character." A password is strong when it is unpredictable, and entropy quantifies exactly how unpredictable it is in bits. Higher bits means more possible combinations an attacker must try.
The formula is simple: multiply the password length by the log base 2 of the character set size. A 16-character password drawn from 94 possible characters (upper, lower, digits, common symbols) has 16 × log2(94) ≈ 105 bits of entropy. To brute-force it, an attacker would need to try on average 2104 combinations — roughly 20 septillion attempts. Even at a billion guesses per second, that would take longer than the age of the universe.
Entropy per character by charset
| Character set | Pool size | Bits per char | Length for 100 bits |
|---|---|---|---|
| Lowercase only (a-z) | 26 | 4.70 | 22 chars for 100 bits |
| Upper + Lower (A-Za-z) | 52 | 5.70 | 18 chars for 100 bits |
| Upper + Lower + Digits | 62 | 5.95 | 17 chars for 100 bits |
| Full set + Symbols (94) | 94 | 6.55 | 16 chars for 100 bits |
| EFF diceware word (5 words) | 7776 per word | 12.9 per word | 8 words for 100 bits |
| Hex digit (0-9a-f) | 16 | 4.00 | Tokens, not passwords |
| Base58 (no 0OIl) | 58 | 5.86 | Bitcoin, friendly display |
| Base64 URL-safe | 64 | 6.00 | API tokens, JWTs |
Strength thresholds used by this tool
| Label | Entropy | Typical example | Practical risk |
|---|---|---|---|
| Weak | < 40 | 8 lowercase chars | Crackable in seconds |
| Medium | 40-60 | 10 chars, digits only | Crackable in hours to days |
| Strong | 60-80 | 12 chars, mixed case + digits | Crackable with significant resources |
| Very Strong | 80+ | 16 chars, full symbol set | Practically uncrackable with current hardware |
Common password mistakes and how to avoid them
- Long but predictable patterns: "aaaaaaaaaaaaaaaaaaaaaa" is 22 lowercase characters but has zero entropy because it is not random. Length only helps when the characters are independently and uniformly random. Always use a generator, never compose passwords yourself.
- Substituting letters with numbers: "P@ssw0rd" is in every major password list (rockyou, HIBP). Crackers use rule-based attacks that try these substitutions first. A list-based password with predictable substitutions provides almost no real security regardless of its apparent complexity score.
- Reusing passwords across sites: When a site is breached and its password database is dumped, attackers try those credentials against Gmail, banking sites, and social media within hours (credential stuffing). Use a unique password for every account. A password manager makes this practical.
- Ignoring breach notifications: Sign up for Have I Been Pwned (haveibeenpwned.com) to get alerts when your email appears in a new breach. Change the affected password immediately. Most breaches stay secret for months before becoming public.
- Forcing password rotation on a schedule: NIST 800-63B (the current federal US standard) explicitly says do not force periodic password changes unless there is evidence of compromise. Mandatory rotation leads to weak incremental passwords. Change only when there is a reason.
Frequently asked questions
How long does a password need to be to be secure?+
What is password entropy and how is it calculated?+
Should I use a passphrase instead of a random password?+
Does NIST still recommend rotating passwords regularly?+
What password manager should I use to store generated passwords?+
Is the password generated in my browser or sent to a server?+
Related security tools
- Hash Generator
Compute MD5 / SHA-1 / SHA-256 / SHA-512 digests
- UUID Generator
Generate RFC 4122 v1 and v4 UUIDs
- Encrypt / Decrypt
AES encryption and decryption in the browser
- Base64 Converter
Encode and decode Base64 strings