Password Generator
Cryptographically secure passwords, passphrases and PINs with honest math: exact entropy for generated secrets, realistic zxcvbn estimates for typed ones, and a privacy-padded breach check. Everything runs in your browser.
Site policy (advanced)
EFF long list: 7,776 words, each independently chosen word adds 12.9 bits. Six words is EFF's recommendation for most uses.
A PIN's safety comes from the device's lockout policy, not from its size. Never use a PIN as a website password.
Exact for this randomly generated secret: the entropy of the generation procedure itself, including any required-class constraint.
| Online, throttled 100 guesses per second | ... |
|---|---|
| Offline, fast hash 10 billion guesses per second (MD5-class, GPU rig) | ... |
| Offline, strong KDF 10 thousand guesses per second (bcrypt/Argon2) | ... |
Generated locally with crypto.getRandomValues; generation works offline. Nothing is stored, and nothing leaves your browser unless you click the breach check.
Test your own password
Runs locally with zxcvbn, the pattern-and-dictionary estimator: it recognizes tens of thousands of common passwords, names, words, dates, keyboard walks, sequences, repeats and leetspeak. Results for a typed password are ESTIMATES of guessing resistance, a different thing from the exact entropy shown for generated secrets above.
Estimated guessing resistance for a human-chosen password. No exact bit count exists for text a person made up.
| Online, throttled 100 guesses per second | ... |
|---|---|
| Offline, fast hash 10 billion guesses per second | ... |
Optional and button-triggered: the check hashes your password locally with SHA-1 and sends only the first 5 characters of the hash to haveibeenpwned.com, with response padding enabled so even the response size reveals nothing. The password itself never leaves your browser.
Randomness you can verify: CSPRNG plus rejection sampling
Every secret on this page comes from crypto.getRandomValues, the cryptographically secure random number generator built into your browser, the same source it uses to negotiate TLS connections. Naive generators map random bytes onto a character set with the modulo operator, which makes the first characters in the set measurably more likely, a flaw called modulo bias. This tool uses rejection sampling instead: raw values that would skew the distribution are discarded and redrawn, so every character in the pool is exactly equally likely. When "require every selected type" is on, the guarantee is built into the construction itself, one character from each class plus a cryptographic shuffle, and the displayed entropy prices that constraint in exactly instead of ignoring it. Nothing you generate or type here is transmitted or stored, and the page keeps working offline.
Passphrases: real Diceware math, two honest lists
The recommended passphrase list is the EFF long list: 7,776 words, the same list EFF publishes for physical dice, where every independently chosen word adds log2(7776), about 12.9 bits. Six words give roughly 78 bits, which is why six is the default here and EFF's own recommendation. The alternative easy-typing list holds 1,024 short words, exactly 10 bits each, for when phone-keyboard effort matters more than maximum strength; the tool labels which list produced each phrase and does the math for the list you picked. A random digit separator adds about 3.3 bits per gap on top. One warning the math cannot fix: a phrase you thought up yourself has none of this entropy, no matter how long it is, which is exactly what the strength tester below will tell you.
Strong passwords are only half the defense
A perfect password does not help if an attacker already holds it from another site's breach. Credential stuffing, where bots replay millions of leaked email and password pairs against login forms, now makes up the bulk of login traffic on many sites. That is why the breach check above matters, and why a unique password per site matters even more. If you run a website, the other half of the problem sits on your side: login endpoints need bot detection and rate limiting, or stuffing attempts will hammer your users no matter how strong their passwords are.
Password generator FAQ
How long should a password be in 2026?
For anything stored in a password manager, use 16 to 24 random characters, which lands well above 100 bits of entropy. For a memorized master password, use a passphrase of six random EFF-list words, about 78 bits. Consumer GPUs now test tens of billions of guesses per second against stolen fast hashes, so the old 8-character advice is obsolete.
Why does my typed password get a lower rating here than on other sites?
Because this tester is honest. Many checkers multiply length by character-pool size, which assumes every character was chosen at random; human passwords never are. This page analyzes typed passwords with zxcvbn, the estimator built on tens of thousands of real common passwords, names, words, dates and keyboard patterns, and reports estimated guesses rather than a flattering exact-looking bit count. A famous phrase like "correct horse battery staple" is rated as the known phrase it is, not as 165 bits of randomness.
What is the difference between the two strength displays?
Generated secrets show exact entropy, because this page controls the randomness that made them: the number is a property of the generation procedure, including the required-class constraint. Typed passwords show an estimate, because no one can compute exact entropy for text a human made up. Treating those two as the same number is how weak passwords get called Excellent.
Are online password generators safe to use?
It depends on where the randomness comes from and where the password goes. This generator runs entirely in your browser using crypto.getRandomValues, the same cryptographic source your browser uses for TLS, and nothing is transmitted or stored. Avoid generators that produce passwords on a server, since you cannot verify they were never logged. This page keeps working with the network unplugged.
Should I use a passphrase or a random password?
Use random character passwords for accounts a password manager fills in for you, since memorability does not matter and they pack more entropy per character. Use passphrases for the few secrets you must type from memory: your manager master password, device login and disk encryption. Six random words from the EFF 7,776-word list give about 78 bits and are far easier to recall than ten random symbols.
How does the breach check work without sending my password?
It uses k-anonymity. Your browser hashes the password with SHA-1 locally, then sends only the first five characters of the 40-character hash to the Have I Been Pwned range API, with response padding enabled so even the size of the response reveals nothing about which prefix was asked. The server returns hundreds of candidate hashes and your browser looks for a match locally. The service never sees your password or enough of the hash to identify it.
Should I use a password manager?
Yes. The single biggest win in personal security is a unique random password for every account, and that is only practical with a manager. When one site is breached, credential-stuffing bots replay the leaked email and password pair against hundreds of other services within hours. Unique passwords make the stolen pair worthless everywhere else and contain the damage to a single account.
Why exclude ambiguous characters?
Characters like capital I, lowercase l, the digit 1, capital O and zero look identical in many fonts, and brackets or pipes are easy to mistype. Excluding them helps when a password will be read aloud, printed, or typed by hand into a TV, router or console. The entropy cost is tiny, roughly a fifth of a bit per character, so leave them in for manager-stored passwords.
More free tools: Passphrase Generator · Password Strength Checker · Password Breach Checker · PIN Generator · Security Headers Checker · SSL Checker