Random Password Generator

Generate a secure random password with a custom length and character set.

Generated password

Select at least one character type.

16
Character types to include

Usage examples

Creating a strong password for a new account

Not sure what password to use when signing up? Instantly generate one 16+ characters long that includes uppercase, lowercase, numbers, and symbols.

Avoiding confusing characters when copying by hand

Need to write down or read out a Wi-Fi password? Turn on "Exclude ambiguous characters" to skip easily-confused characters like I, l, 1, O, and 0.

Matching a site's specific password policy

Site doesn't allow symbols or has a length limit? Adjust the length slider and toggle character types to match that site's requirements.

Frequently asked questions

Is the generated password sent to a server or saved anywhere?

No. It's generated entirely in your browser, never sent to a server, and disappears when you leave or reload the page. For security, it's not stored anywhere — not even in local storage.

How is the randomness generated?

Instead of the regular Math.random(), it uses your browser's cryptographically secure random number generator, crypto.getRandomValues().

Are all the character types I select guaranteed to appear?

Yes. As long as the length allows it, at least one character from each selected type (uppercase, lowercase, numbers, symbols) is included, and the order is then shuffled randomly.

How is the strength indicator calculated?

It estimates the password's information entropy (in bits) based on its length and the number of character types used, then shows it as Weak/Fair/Strong/Very strong. Actual security also depends on other factors, like a service's login attempt limits.