Password generator

Strong random passwords from your browser's secure generator.

For sites that reject certain symbols. Type them with no spaces.

What this password generator does

It creates a random password in one click. You choose the length and which kinds of characters to use (lowercase, uppercase, digits, symbols), you can leave out look-alike characters such as I, l, 1, O and 0, and you can ban any specific characters a website refuses. A meter shows how much randomness the result contains.

The password is created inside your browser and shown on your screen. It is not saved, not logged and not sent anywhere. When you reload or close the page, it is gone.

How the passwords are made

Each character is picked with the browser's cryptographically secure random number generator (the Web Crypto function crypto.getRandomValues), the same source that browsers use for security features. The tool never uses the ordinary Math.random, which is not designed to be unpredictable.

Picking at random from a list sounds easy, but a careless version slightly favours some characters. The tool avoids this: it throws away any random number that would make the choice uneven and draws again, so every allowed character is equally likely. It also guarantees at least one character from every group you ticked, then shuffles the result so those guaranteed characters do not sit in predictable places.

How to use it

  1. Set the length. Longer is stronger; 16 to 20 characters is a sensible default for most accounts.
  2. Tick the kinds of characters you want, or untick symbols if a site does not accept them.
  3. Press "Generate new" until you are happy, then press "Copy".
  4. Paste it straight into the password field, and save it in a password manager.

Reading the strength meter

Strength is shown in bits of randomness: the length multiplied by the base-2 logarithm of the number of possible characters. Every extra bit doubles the number of guesses an attacker would need. The labels (weak, fair, strong, very strong) are simple bands over that number. They describe passwords generated here, which are random. A password you invented yourself, or one built from words and dates, is much easier to guess than its length suggests.

Good habits that matter more than the generator

  • Use a different password for every account. If one site leaks its data, the others stay safe.
  • Use a password manager so you do not have to remember or retype long random strings.
  • Turn on two-factor authentication for email, banking and anything important.
  • Prefer length. Many security guidelines favour long passwords over complicated composition rules.
  • Never share a password in chat or email, and do not reuse one generated here for something you will type on an untrusted computer.

Frequently asked questions

Is it safe to generate passwords on a website?

Here the password is created by code running in your own browser, using its secure random generator, and it is never sent anywhere. Even so, the safest place to create and store passwords is a reputable password manager.

Are the passwords stored or logged?

No. There is no server involved and the tool does not save anything, not even in your browser. Reload the page and the password is gone.

How long should my password be?

Longer is better, and the length matters more than clever symbols. For accounts you protect with a password manager, 16 to 24 random characters is common. If you must type it by hand, a shorter one is more practical.

Why avoid look-alike characters?

Characters such as I, l, 1, O and 0 are easy to mix up when you read a password aloud or from paper. Excluding them costs a little strength per character but avoids typing mistakes.

What does the number of bits mean?

It measures how many equally likely passwords the settings could produce, on a log scale. Each extra bit doubles the number of possibilities. It applies to randomly generated passwords only.

A site rejects my password. What can I do?

Some sites forbid certain symbols or cap the length. Untick symbols, add the rejected characters to the exclude box, or shorten the length, then generate again.