Password Generator
Strong, genuinely random passwords, made on your own device. Choose the length and the character types, and see exactly how much security you're getting.
Runs entirely in your browser — nothing is uploaded
What this does
This builds a password out of characters drawn at random by your browser's cryptographic random number generator, then tells you honestly how strong the result is. Set the length, tick the character types you're allowed to use, and take the password. Nothing is stored, nothing is logged, and nothing crosses the network.
Why a generated password beats one you thought of
People are bad at being random, and predictably so. We favour a capital at the front, a number or two at the end, real words in the middle, and the same handful of substitutions —a → @, e → 3, s → $. Password-cracking software has known all of this for decades and tries those patterns first, which is whyP@ssw0rd123! looks complicated and falls in well under a second. A random string has no pattern to exploit, so an attacker has nothing better than trying every possibility.
How long should a password be?
Length matters more than character variety. Every extra character multiplies the number of possibilities, while adding symbols to an already-mixed password only nudges it. With all four character types switched on:
- 8 characters — about 52 bits. Crackable by a determined attacker.
- 12 characters — about 77 bits. Fine for most everyday accounts.
- 16 characters — about 103 bits. Comfortably beyond brute force.
- 20 characters and up — overkill in the best sense, and free, since your password manager is doing the typing.
The one place to go longer still is the master password on your password manager and the passphrase on a disk-encryption key, because those protect everything else.
What "bits of entropy" means
Entropy measures how many guesses an attacker has to get through, on a log₂ scale: each extra bit doubles the work. Forty bits is roughly a trillion possibilities, which sounds enormous and is not — dedicated hardware chews through that in seconds. Eighty bits is a trillion times harder than that.
The figure shown here is calculated from the character pool that was actually used, and it drops slightly when "use at least one of every type" is on. That's not a rounding artefact: requiring every type rules out all the passwords that happen to miss one, so there are fewer possible passwords than before and the strength is genuinely a touch lower. It's a fair trade for getting past a login form that insists on a symbol, and the cost is tiny — but most generators don't mention it.
The crack-time estimate assumes an attacker who has stolen a password database and can make a trillion guesses a second against it. That is deliberately pessimistic. Guessing against a live login form is millions of times slower, so anything that looks safe here is safe in practice.
Where the randomness comes from
Every character is chosen with crypto.getRandomValues, the browser's cryptographically secure random source, using rejection sampling so that each character in the pool is exactly as likely as any other. The obvious shortcut —Math.random() — is not used anywhere here: it's fast and predictable by design, and its output can be reconstructed from a handful of previous values.
Is it private?
Yes, and this is the tool where it matters most. The password is generated by JavaScript running inside this page. It is never transmitted, never saved, and disappears the moment you close the tab. There is no analytics on it and no server to receive it. If you want to check, open your browser's network panel while generating, or disconnect from the internet — the page keeps working.
Frequently asked questions
Where should I keep it?
In a password manager. Random passwords are unmemorable by design, which is the point: it means you can use a different one everywhere, so a breach at one site can't be walked over to your email. Any reputable manager will do, including the one built into your browser.
Do I need to change my passwords regularly?
No. Modern guidance from both NIST and the UK's NCSC is that scheduled expiry makes things worse, because people respond by making small predictable edits. Change a password when there's a reason to — a breach notice, a shared login, a suspicion — and otherwise leave a strong one alone.
Is the same password ever generated twice?
Not in any meaningful sense. A 16-character password from the full set is one of roughly 10³¹ possibilities. Every generator on earth running continuously would not repeat one.
Why do some sites reject my password?
Usually a length cap or a banned symbol. Turn off Symbols, or edit the symbol list to just the ones the site allows, and add length to make up the difference — a longer password from a smaller pool is stronger than a short one from a big pool.