Password Lizard
Password Lizard mascot holding a key

Password Generator

Strong, random passwords in one tap. Adjust length and character sets to fit any site's rules.

🔒 Generated in your browser, never sent or stored

 

 

16

Password Security, Explained

Length beats complexity. A 16-character random password is far harder to crack than a shorter one stuffed with symbols. Every character here is drawn using the browser's cryptographically secure random number generator, the same standard security software relies on. Nothing you generate is ever transmitted or logged.

Character selection also uses rejection sampling on top of that raw randomness: any draw that would land unevenly across your chosen character set is discarded and redrawn, rather than reduced with a simple modulo. That avoids the subtle bias toward certain letters, numbers, or symbols that a naive randomNumber % charsetLength approach would introduce.

FAQ

How long should my password be?

At least 16 characters for important accounts. Length matters more than complexity. A longer password is exponentially harder to crack than a shorter one with more symbol variety.

Are these passwords actually secure?

Yes. Every character comes from the browser's Web Crypto API (crypto.getRandomValues), the same cryptographically secure randomness source used by security software. It never falls back to Math.random(), which isn't safe for this. Nothing generated is ever sent anywhere; it's all created and stays in your browser.

What are ambiguous characters and why exclude them?

Characters like 0/O and 1/l/I look nearly identical in many fonts. Excluding them makes a password easier to type or read aloud correctly, at a very small cost to overall randomness.

What is "modulo bias" and why does it matter?

A naive way to pick a random character is randomNumber % charsetLength, but that skews toward earlier characters when the charset size doesn't evenly divide the random range. This generator avoids it with rejection sampling, which throws away any out-of-range draw before applying the modulo, so every character in your chosen set is equally likely.

More Tools