Skip to content
Free security tool

Password generator

This password generator creates random passwords from the character sets you choose. Every password includes at least one character from each chosen set, and the tool shows an entropy estimate. Use it for new accounts, Wi-Fi keys or anything that needs a hard to guess password.

  • Runs in your browser
  • Free, no account needed
  • Copy or download the result
Private: runs on this device

Input

8 to 128 characters
1 to 50
! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : , . ? / ~
Removes 0 O o 1 l I
Choose No so Copy result copies only the passwords

Result

.M8o;qHw6#MmtxBx
dqr2R5Kf,U^bd(j*
2(]$EfT$OcoF2Ze1
1^Zq0~X,b[;f[y/P
S@G^O+07_9BR48^t

Notes (not part of any password):
Length: 16 characters from a pool of 87 (lowercase, uppercase, digits, symbols)
Estimated entropy: about 103 bits per password (length x log2 of the pool size; requiring one of each set lowers it slightly)
Each password contains at least one character from every chosen set. Generated with crypto.getRandomValues and not stored or sent anywhere.

Example

Input
Length: 16
How many passwords: 5
Lowercase letters (a to z): Yes
Uppercase letters (A to Z): Yes
Digits (0 to 9): Yes
Symbols: Yes
Exclude look-alike characters: No
Show notes: Yes, show notes after the passwords
Result
.M8o;qHw6#MmtxBx
dqr2R5Kf,U^bd(j*
2(]$EfT$OcoF2Ze1
1^Zq0~X,b[;f[y/P
S@G^O+07_9BR48^t

Notes (not part of any password):
Length: 16 characters from a pool of 87 (lowercase, uppercase, digits, symbols)
Estimated entropy: about 103 bits per password (length x log2 of the pool size; requiring one of each set lowers it slightly)
Each password contains at least one character from every chosen set. Generated with crypto.getRandomValues and not stored or sent anywhere.

How to use the password generator

  1. Set the Length and How many passwords.
  2. Choose Yes or No for lowercase letters, uppercase letters, digits, symbols and Exclude look-alike characters.
  3. Set Show notes to No if you want Copy result to copy only the passwords, one per line. With Yes, it also copies the notes.
  4. Press Run, then use Copy result and paste each password into your password manager.

How it works

Characters are picked with crypto.getRandomValues using rejection sampling, then shuffled, so no position is predictable.

One character from each chosen set is placed first and the rest come from the full pool, which guarantees every set appears.

Entropy is estimated as length times log2 of the pool size. Requiring each set lowers the true value slightly, so treat it as an upper estimate.

Excluding look-alikes removes 0, O, o, 1, l and I. Symbols are ! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : , . ? / and ~.

Lengths from 8 to 128 and 1 to 50 passwords are allowed. With Show notes set to Yes, the notes come after the passwords under a "Notes (not part of any password):" line. Passwords are not stored or sent anywhere.

Everything runs in your browser. Your input is not uploaded or stored.

Questions and answers

How long should a password be?

Longer is stronger. A 16 character password from all four sets has an estimated 103 bits of entropy, far beyond what guessing can reach.

What does entropy in bits mean?

It measures how many guesses an attacker would need. Each extra bit doubles the number of possible passwords.

Is it safe to generate passwords online?

This tool runs in your browser and sends nothing to a server. Store the result in a password manager rather than in plain text.

All 220 SnowRock tools