UnitConv
Security & Dev

Password Generator

Create strong, truly random passwords in your browser with adjustable length, character sets and a live strength meter

Your password

Very strong102.8 bits

Options

16

Character types

Generated locally in your browser. No password is ever sent to a server.

About this tool

This password generator creates strong, unpredictable passwords right in your browser. Use the slider to set a length from 4 to 64 characters, then choose which character types to include: uppercase letters, lowercase letters, numbers and symbols. At least one character from every selected type is always included, so your password meets common complexity rules. You can exclude lookalike characters such as I, l, 1, O and 0 to make passwords easier to read aloud or type, and generate up to 20 at once when setting up multiple accounts. A live strength meter shows the entropy in bits so you can see exactly how hard the password is to guess. Everything is computed locally using your device's cryptographically secure random source - no password is ever transmitted or stored.

How to use

  1. 1 Drag the length slider to the number of characters you want (16 or more is recommended).
  2. 2 Toggle the character types - uppercase, lowercase, numbers and symbols - to match the site's rules.
  3. 3 Optionally exclude lookalike characters, and set how many passwords to generate at once.
  4. 4 Click Generate, check the strength meter, then copy your password with one click.

How it works

Each character is drawn from the combined pool of the character types you enabled. To avoid the subtle bias that plagues naive approaches, the tool reads random bytes from the Web Crypto API (crypto.getRandomValues) and uses rejection sampling: any byte that would skew the result is discarded and re-drawn, so every character in the pool is equally likely. It never uses Math.random, which is predictable and unsuitable for security. The strength meter computes entropy as length x log2(pool size); for example a 16-character password using all 94 printable types gives about 16 x 6.55 = 105 bits, which is rated very strong. Higher entropy means exponentially more guesses are needed to crack the password.

Frequently asked questions

Is this password generator safe to use?

Yes. Passwords are generated entirely in your browser using crypto.getRandomValues, the cryptographically secure random source. Nothing is sent over the network or saved, so even we never see the passwords you create. You can confirm this by disconnecting from the internet - the tool keeps working.

How long should my password be?

For most online accounts, 16 characters with mixed types is a strong, practical choice. For high-value accounts or encryption keys, use 20 or more. Length matters more than complexity: a longer password from a smaller set can be stronger than a short one from a large set.

What does the strength meter measure?

It shows entropy in bits, calculated as length x log2(number of possible characters). Roughly, under 40 bits is weak, 40-60 is fair, 60-80 is strong and 80 or more is very strong. Higher entropy means an attacker needs far more guesses, making brute-force attacks impractical.

Why exclude lookalike characters?

Characters like capital I, lowercase l, the digit 1, capital O and the digit 0 are easy to confuse when reading or typing a password by hand. Excluding them prevents mistakes for passwords you must enter manually, at the cost of a slightly smaller character pool.

Should I reuse a generated password?

No. Use a unique password for every account so that a breach on one site cannot unlock the others. Generate a fresh one each time and store it in a reputable password manager rather than reusing or memorizing a single password.

Related tools and uses

Pair the password generator with the UUID generator for unique identifiers and tokens, the hash generator to store or compare values securely, and the random generator for numbers and other random data. People use it to create logins, Wi-Fi keys, API secrets and database credentials that resist guessing and brute-force attacks.