Password Generator — Cryptographically Secure
Generate passwords with a real CSPRNG and see the entropy in bits as you adjust the settings. Nothing is transmitted, logged or stored.
Password Generator
Cryptographically random, generated locally in your browser.
—
Character Sets
Entropy is the only number that matters
Password strength is not "has a capital letter and a symbol". It is entropy, measured in bits, and it answers one question: how many guesses would an attacker need?
For a randomly generated password the calculation is exact. With an alphabet of N characters and a length of L, the entropy is L × log₂(N). A 16-character password from the 94 printable ASCII characters gives 16 × 6.55 ≈ 105 bits. Each additional bit doubles the work an attacker must do.
The critical caveat: this formula only holds when every character is chosen randomly and independently. P@ssw0rd! is nine characters spanning four character classes and satisfies most corporate complexity rules, but its real entropy is close to zero, because it is a dictionary word with predictable substitutions and appears in every cracking wordlist. Composition rules measure the wrong thing — they constrain the shape of a password without constraining how it was chosen.
What each entropy level actually buys
Times assume offline attack against a fast hash at roughly 100 billion guesses per second — achievable with a handful of consumer GPUs. Online attacks against a rate-limited login are many orders of magnitude slower.
| Entropy | Example | Time to exhaust offline | Verdict |
|---|---|---|---|
| ~28 bits | 6 lowercase letters | Under a second | Broken |
| ~40 bits | 8 lowercase letters | A few seconds | Broken |
| ~52 bits | 8 chars, full ASCII | About an hour | Weak |
| ~66 bits | 10 chars, full ASCII | About 20 years | Marginal |
| ~78 bits | 12 chars, full ASCII | Tens of millions of years | Reasonable |
| ~105 bits | 16 chars, full ASCII | Far beyond any practical horizon | Recommended default |
| ~128 bits | 20 chars, full ASCII | Not attackable by brute force | Keys, root credentials |
These figures assume a fast hash such as unsalted SHA-256. A password stored with Argon2id or bcrypt at sensible parameters is many orders of magnitude slower to attack — which is exactly why the storage algorithm matters as much as the password.
Passphrases: the ones you have to remember
A generated 16-character password is ideal for the 99% of credentials your password manager handles. For the handful you must actually memorise — the manager's own master password, a disk encryption key, a recovery phrase — a random passphrase is far easier to retain at the same strength.
The method is diceware: pick words at random from a known list. With the standard 7,776-word list, each word contributes log₂(7776) ≈ 12.9 bits. Six words gives about 77 bits; seven gives 90.
Two rules make or break this. The words must be chosen by a random process, not by you — self-selected words cluster hard around common vocabulary and personal associations, and the entropy collapses. And the word count is what carries the strength: capitalising a letter or appending a digit adds a bit or two, while one more word adds thirteen.
The list being public costs you nothing. An attacker knowing you used a 7,776-word list and six words still faces 7,776⁶ ≈ 2.2×10²³ combinations. Secrecy of the method was never where the strength lived.
Password practices that quietly fail
Each of these looks like security and is not:
Forced 90-day password rotation
Cause:Users respond predictably — Summer2025! becomes Autumn2025! — so rotation reduces entropy in practice while adding friction.
Fix:NIST SP 800-63B advises against scheduled rotation. Rotate on evidence of compromise. Screen new passwords against known-breached lists instead.
Composition rules ("1 upper, 1 digit, 1 symbol")
Cause:They constrain shape, not randomness, and push users toward the same few patterns: a capital first letter, a digit and an exclamation mark at the end.
Fix:Require length and screen against breach corpora. A 16-character random password with no symbols beats an 8-character one that satisfies every rule.
A maximum password length of 16 or 20
Cause:Nearly always a sign the password is being stored in a fixed-width column — which often means it is not being properly hashed, since every hash produces fixed-length output regardless of input.
Fix:Accept at least 64 characters. If you encounter this limit on a service you use, treat it as a signal about that service’s storage and make the password unique there.
Reusing one strong password everywhere
Cause:Strength is irrelevant to credential stuffing. One breach at any site exposes the password, and attackers replay it across hundreds of services within hours.
Fix:Uniqueness matters more than strength. A password manager with a unique generated password per site is the only approach that scales.
SMS as a second factor
Cause:SIM-swap attacks and SS7 interception both defeat it, and neither requires sophistication.
Fix:Prefer a passkey, a hardware security key, or a TOTP app. SMS is still better than nothing — it is just the weakest option available.
About
The Password Generator creates cryptographically strong random passwords using the browser's secure PRNG (Web Crypto API). You can customise the password length (up to 128 characters) and choose which character sets to include: uppercase, lowercase, digits, and special symbols. A password-strength meter gives instant feedback.
How to use
- 1 Set the desired password length using the slider.
- 2 Toggle the character sets you want (uppercase, lowercase, numbers, symbols).
- 3 Click Generate or the refresh icon for a new password.
- 4 Click Copy to copy it to your clipboard securely.
- How are the passwords generated — are they truly random?
- Yes. Passwords are generated using the Web Crypto API's crypto.getRandomValues() function, which is a cryptographically secure pseudo-random number generator (CSPRNG) provided by the browser. This is the same randomness source used for cryptographic keys, making the generated passwords suitable for security-sensitive applications.
- Is the generated password sent to a server?
- No. Everything happens in your browser — no password, no character set choice, and no generated output is ever transmitted to any server. You can disconnect from the internet after the page loads and the generator will still work.
- How long should my password be?
- Security experts recommend at least 16 characters for general accounts and 20+ characters for critical accounts (email, banking, password managers). A random 16-character password using uppercase, lowercase, digits, and symbols has over 95^16 (roughly 2^105) possible combinations, making brute-force attacks computationally infeasible.
The full guide
More in Generators & Utilities
See all generators & utilities.