Password Generator

Create strong, truly random passwords with full control over length and character sets. Free, fast, and your files never leave your device.

16

What "bits of entropy" means on the label below the bar

Strength here is not a guess about whether a password looks tricky. It is arithmetic. If every character is drawn independently and uniformly from a set of N possible characters, a password of length L has exactly N to the power of L possible values, and the entropy is L multiplied by the base 2 logarithm of N.

With all four sets enabled the pool is 89 characters: 26 lowercase, 26 uppercase, 10 digits and 27 symbols. Each character therefore contributes about 6.48 bits. At the default length of 16 that gives roughly 104 bits, which the meter reports as Very strong. Drop to 8 characters and you have about 52 bits, which it calls Fair.

The bands are: under 40 bits Weak, under 60 Fair, under 90 Strong, and 90 or more Very strong. Each extra bit doubles the number of guesses an attacker needs, so the gap between 52 and 104 bits is not "twice as good", it is a factor of about four and a half quadrillion.

Twelve random characters against four random words

Set this tool to 12 characters with all four sets on. That is 12 times 6.48, or about 78 bits. Now take the popular alternative: four words chosen at random from a 7,776 word list. Each word contributes about 12.9 bits, so four words gives about 52 bits.

The 12 character string wins by a wide margin, and it is shorter to type. The passphrase wins on a different axis entirely: you can memorise it, and you can read it aloud over the phone without spelling out punctuation. To match 78 bits you need six random words, not four.

The practical conclusion is that passphrases are for the handful of secrets you have to keep in your head, such as a device login or a password manager's master key. For the other two hundred accounts, which you should never be memorising anyway, a long random string from a generator is strictly better. This page produces the second kind.

Why the randomness source matters

Every character here is selected using crypto.getRandomValues, the browser's cryptographically secure random number generator, seeded from the operating system's entropy pool. The alternative, Math.random, is a fast pseudo-random generator built for shuffling animations and game logic. Its internal state is small, it is not designed to resist analysis, and an attacker who learns enough of its output can predict the rest. That distinction is invisible in the result: both produce strings that look random, and only one of them is.

One point of full disclosure. Each character is chosen by taking a random 32 bit value modulo the pool size. Because 89 does not divide evenly into 2 to the power of 32, some characters are very slightly more likely than others. The size of that bias is around one part in fifty million, which is many orders of magnitude below anything that affects the security of the password.

The ambiguous characters toggle, and what it costs

Ticking "Exclude ambiguous" removes five characters: lowercase l, the digit 1, uppercase I, uppercase O and the digit 0. In most sans-serif fonts at least one of those pairs is genuinely indistinguishable, which matters if the password is going to be printed, written on a card, read over a phone, or typed from a screenshot.

The cost is small. The pool drops from 89 to 84 characters, taking each character from 6.48 bits to 6.39. At 16 characters that is a loss of about 1.4 bits out of 104. If excluding them means you type it correctly the first time rather than resetting the account, take the trade.

A gotcha on short passwords

Characters are drawn independently, which means there is no guarantee that every enabled set actually turns up. At 16 characters with all four sets on, the odds of getting no digit at all are tiny. At the minimum of 8 characters they are not negligible, and plenty of sites enforce "must contain a number and a symbol" rules. If a site rejects a generated password, generate another rather than editing it by hand, because hand-edited passwords acquire predictable patterns at the end.

After you generate one

Paste it straight into a password manager before you navigate away, because nothing on this page is saved and there is no history to go back to. The batch option, up to 20 at a time, exists for the afternoon when you are rotating a pile of credentials at once.

If you want to sanity check a password you already use, Password Strength Checker analyses an existing string rather than making a new one, and Password Breach Checker tells you whether it has turned up in a known data breach. For random identifiers in code rather than credentials for humans, UUID Generator is the right tool.

Questions worth answering honestly

Is a generated password safe if the page is on the internet?

The generation itself happens entirely in your browser and no password is transmitted, logged or stored. The realistic risks are the ones that apply to anything on your screen: malware on the device, a shoulder surfer, or a clipboard manager that keeps history. Generate on a device you trust and paste directly into your password manager.

How long should I actually make it?

Sixteen characters with all sets enabled clears 100 bits and is more than enough for any normal account. Going to 128 characters is not wrong, but past about 20 characters the password is no longer the weakest part of your security, so the extra length buys nothing practical.

Does the strength meter account for the password being reused?

No, and this is the meter's real limitation. It measures the entropy of the generation process only. A 104 bit password that you use on two sites is exactly as compromised as a weak one the moment either site is breached.

Why not just use the same strong password everywhere?

Because strength does not protect you against a site storing it badly. Breaches leak passwords in usable form regularly, and attackers immediately try the same combination on email and banking. Uniqueness is the property that limits the damage, and it is the reason this page generates batches.

Can I get the same password back later?

No. Nothing is saved anywhere, there is no seed to re-enter and no session history. Once you close or regenerate, that password is gone.