99tools

Password Generator

runs in your browser

Generate strong passwords or memorable passphrases in your browser, with a clear reading of how long they would take to crack.

Make

Strength

129 bits of entropy
Excellent

Trying every combination would take about 1.08e+13 million years, at a trillion guesses a second.

Suggestions

  • S&mE^SkraG9:90FPZ:x3
  • nq1z43nf?=5Xf?zG79HJ
  • 58)R[urjs_uY#Qj}J,Gk
  • OO_o&#@DHlHpx1b.hee4
  • t?zb9-8ThJn0;]g+Y6NM

Generated in your browser with its cryptographic random source, never sent anywhere and never stored. A long passphrase you can remember usually beats a short password you cannot.

about this tool

Two ways to make a password

Characters builds a random string from the sets you enable: lowercase, uppercase, digits and symbols, anywhere from 4 to 128 characters. Use it for anything a password manager will remember on your behalf, which is almost everything.

Words builds a passphrase from randomly chosen words. Use it for the handful of secrets you have to type or say aloud — a device login, a disk password, a recovery phrase. Four random words are far easier to remember than ten random characters and, at the same length, considerably harder to guess.

Reading the strength figure

The strength shown is entropy in bits, calculated from the size of the alphabet and the length — the honest measure, because it describes how many possibilities an attacker has to try rather than whether you remembered to add a capital letter.

The crack time assumes a trillion guesses a second, which is the right order of magnitude for a well-funded attacker working offline against a leaked hash. It is deliberately pessimistic: a site that stores passwords properly slows that down by orders of magnitude, but you cannot know from outside whether it does.

As a rule of thumb, under 50 bits is weak, 60 to 80 is fine for an ordinary account, and above 100 is more than anything reachable through a login form will ever need.

Strength is a property of the secret itself. How a site then stores it is a separate question, covered on the hash generator page — a raw hash of a password is not safe storage.

Excluding lookalikes

The avoid lookalikes option removes l, 1, I, O and 0. Worth turning on for a password someone will read off a screen and type on a phone, and worth leaving off otherwise, since removing characters shrinks the alphabet and costs you a little entropy.

Where the randomness comes from

Values come from the browser's cryptographic random source, and the character picking uses rejection sampling rather than a plain modulo. That detail matters: random % 26 makes early letters of the alphabet slightly more likely, and a biased generator produces passwords that are easier to attack than their length suggests.

Nothing is generated on a server and nothing is sent anywhere, so the password exists only in your browser until you copy it. You can load the page, go offline and keep generating — a reasonable way to satisfy yourself of that.

For a crypto wallet's recovery phrase rather than a password, the BIP39 mnemonic tool makes and checks one the standard way.

questions

Is it safe to use a password generated on a website?
It depends entirely on where the generating happens. This one runs in your browser using the cryptographic random source, so the password is never sent anywhere and exists only on your machine. You can load the page, disconnect from the network and keep generating.
How long should a password be?
Length beats complexity. Aim for 60 to 80 bits of entropy for an ordinary account, which is roughly 12 to 14 random characters or four random words. Above 100 bits you are past anything reachable through a login form.
Is a passphrase really as strong as a random password?
At the same entropy, yes — an attacker's work depends on the number of possibilities, not on whether the result looks random to a human. Four words drawn randomly from a large list are both stronger and far easier to type than ten scrambled characters.
Why does the tool show such a pessimistic crack time?
It assumes a trillion guesses a second, the right order of magnitude for a well-funded attacker working offline against a leaked password hash. A site that stores passwords properly is far slower to attack, but you cannot tell from outside whether it does.
Should I turn on 'avoid lookalikes'?
Turn it on for a password someone will read off a screen and retype, since it removes l, 1, I, O and 0. Leave it off otherwise: removing characters shrinks the alphabet and costs you a little strength.