Create strong random passwords in your browser with a cryptographic generator, with nothing sent over the internet.
Enter the values to see the result here.
Formula
For a pool of N distinct characters and length L, the entropy of a uniformly random password is
H=L⋅log2Nbits
Pool sizes: lowercase 26, uppercase 26, digits 10, symbols 27. Each character is chosen uniformly using rejection sampling on 32-bit random values, so no character is more likely than another. One character from every selected class is placed first, the remaining positions are filled from the whole pool, and the result is shuffled with Fisher-Yates so the guaranteed characters are not predictably placed.
Worked example
Sixteen characters from all four classes.
Pool: 26+26+10+27=89 characters.
Entropy: 16×log289=16×6.476=103.6 bits.
At a trillion guesses per second, searching half of 2103.6 would take about 2×1011 years.
Compare eight lowercase letters: 8×4.70=37.6 bits, which falls to a modern GPU rig in hours.
Common mistakes
Reusing one strong password on several sites. A leak at one site exposes the rest.
Making a password “random” by hand: substituting 3 for E in a word adds almost no strength.
Choosing 8 characters because the site demands a minimum. Length is the cheapest strength.
Saving the password in a note or chat instead of a password manager.
Frequently asked questions
Is it safe to generate a password in a web page?
Here nothing is sent anywhere. The password is built in your browser from crypto.getRandomValues, the operating system's secure random source, and it is not stored or logged. You can load the page, disconnect from the internet and it still works.
How long should a password be?
For accounts protected by a password manager, 16 random characters from all four classes (about 105 bits) is plenty. For something you must type from memory, use a long passphrase instead; length beats complexity.
What does entropy mean?
It measures how many guesses an attacker needs: on average half of 2 to the power of the bit count. 60 bits resists casual attacks, 80 bits is strong against offline cracking of a well-hashed password, and 100+ bits is beyond brute force.
Why exclude look-alike characters?
When you must read a password aloud or type it from paper, l, 1, I, O and 0 are easy to confuse. Excluding them shrinks the pool slightly, so add two characters to the length to keep the strength.
Should I use symbols?
Only if the site allows them. Some sites reject certain symbols, in which case untick the box and lengthen the password instead; adding 3 characters from a 62-character set more than makes up for losing symbols.