Password Generator

Random passwords from 4 to 128 characters, made with the Web Crypto API.

Options
Password

Examples

Questions

Does it use Math.random()?

No. Every choice uses the Web Crypto API (crypto.getRandomValues). Math.random is fast but can be predicted, which a password generator can't allow.

If I tick Symbols, will there always be a symbol?

Yes. One character from each type you pick is placed first. The rest is filled in, then the whole password is shuffled.

Why are 0, O, 1, l and I left out?

They're easy to misread when you type a password from a screen or paper. Untick "Exclude ambiguous characters" to include them. The password stays strong either way.

What is modulo bias, and does this tool avoid it?

Mapping a random byte (0 to 255) onto a set that doesn't divide 256 evenly makes some characters slightly more likely. This tool throws away bytes that would cause that, so every character is equally likely.

Is my password sent anywhere or stored?

No. It's made and shown in your browser only. This tool has no Share button, because a password should never end up in a URL.