Back to All Tools

Password Generator

Generate strong, secure, random passwords.

100% Private — Your data never leaves your browser. Everything runs locally on your device.
Click Generate

-

16

Using the generator

A password is already made when the page opens. It uses the default settings: 16 characters and all four character types.

  1. Length slider — pick any length from 4 to 128 characters. The number next to the slider shows the current length. A new password appears as soon as you move it.
  2. Character boxes — tick or untick Uppercase (A-Z), Lowercase (a-z), Numbers (0-9) and Symbols. Each change also makes a new password. Every password has at least one character from each ticked box. If you untick all four, a message under the password box asks you to select at least one, and Copy is turned off until you do.
  3. Generate — makes a fresh password with the same settings. Press it as many times as you like.
  4. Copy — copies the password shown in the box. The button reads "Copied!" for a moment when it works.

The tool shows one password at a time, and it does not keep old ones. Moving the slider or a box replaces the current password, so copy it first.

The Symbols box uses these 26 characters: !@#$%^&*()_+-=[]{}|;:,.<>?. With all four boxes ticked, the pool has 88 characters: 26 uppercase, 26 lowercase, 10 digits and 26 symbols. The tool picks one character from each ticked box, fills the rest from the whole pool, then shuffles the password so the forced characters can land anywhere. There is no option to leave out look-alike characters such as 0 and O or l and 1. That only matters if you have to type the password by hand, so copy and paste it when you can.

How strong is it? A worked example

Password strength is often measured in bits of entropy. It counts how many guesses an attacker would need if they know exactly how the password was made. Each extra bit doubles the number of guesses. For a random password:

bits = length × log2(pool size)
Default settings: 16 characters from a pool of 88
log2(88) = 6.46 bits per character
16 × 6.46 = 103.4 bits, which is about 1.3 × 1031 possible passwords

This formula is a quick estimate. Because the tool always puts in at least one of each ticked type, the real figure is slightly lower: about 103.0 bits for the default settings. With all four boxes ticked, the gap is about 1 bit at 8 characters, and it gets smaller as the password gets longer.

Compare that with 12 lowercase letters only: 12 × log2(26) = 12 × 4.70 = 56.4 bits. That is 47 bits less, which means about 140 trillion times fewer possible passwords.

The table uses the tool's real pool sizes and the same formula. Values are in bits.

Boxes tickedPool8 chars12 chars16 chars20 chars
Numbers only1026.639.953.266.4
Lowercase only2637.656.475.294.0
Upper + lower5245.668.491.2114.0
Upper + lower + numbers6247.671.595.3119.1
All four8851.777.5103.4129.2

Notice that length helps more than extra character types. 20 lowercase letters (94.0 bits) beat 12 characters with all four types (77.5 bits).

What those bits mean in time. Assume an attacker has stolen a password database and can test 10 billion guesses per second. An 8-character password from all four types has about 1.7 × 1015 options that contain every type, and this tool only makes those. Trying all of them takes about 2 days, and on average the right one turns up in about 1 day. At 16 characters, the average is about 17 trillion years at the same speed. Real speed depends on how the site stores passwords, so treat this as a comparison only.

How the strength meter works

The bar under the password uses the same formula as the table: length × log2(pool size). It shows the label and the number of bits. It looks at your settings, not at the password text, because the settings decide how many passwords are possible.

As explained above, the number is a little higher than the exact value when more than one box is ticked: about 0.3 bits too high at 16 characters with all four types, and about 1 bit at 8. We checked every length from 4 to 128 with every mix of boxes, and the gap never changes the label.

Where the randomness comes from

Every random choice uses a 32-bit number from your browser's crypto.getRandomValues(), which is built for security use. The tool never uses Math.random(). To turn the number into a character, it uses the remainder after dividing by the pool size. 232 does not divide evenly by most pool sizes, so the tool throws away numbers from the small uneven part at the top of the range and draws again. This is called rejection sampling. It means every character in a type is exactly equally likely. The same method is used for the final shuffle.

One side effect of the one-of-each rule: small types appear a bit more often overall. For example, at 8 characters with all four boxes ticked, about 18% of characters are digits instead of 11% (10 out of 88). Within each type, the choice is still even.

When a site has its own password rules

What strong enough means in practice

For most accounts, a random 16-character password from this tool is enough. After that, these habits matter more than extra length:

Passphrases: an option you can remember

For the few passwords you must type from memory, like your password manager's master password or your computer login, a passphrase can be easier. It is several random words, such as tiger-candle-orbit-mango-velvet-river. This tool does not make passphrases. The words must be picked at random, for example with dice and a word list, not chosen by you. With the EFF long list of 7,776 words, each word adds 12.9 bits. Five words give 64.6 bits, and six words give 77.5 bits.

Common mistakes

Frequently Asked Questions

Is the randomness in this generator secure?

Yes. Every random choice uses your browser's crypto.getRandomValues function, which is designed for security use. It does not use Math.random. When a random number falls in the small uneven part at the top of its range, the tool throws it away and draws a new one. So within each character type, every character is exactly equally likely.

Is my password sent to your server?

No. The password is made by JavaScript running in this page, and the tool does not send it anywhere. After the page has loaded, you can switch off your internet connection and the generator still works.

Will my password always have a number when Numbers is ticked?

Yes. The tool first picks one random character from each ticked type. It fills the rest from all ticked types together, then shuffles the whole password. So every password has at least one character of each ticked type, and sites with rules like must contain a number accept it.

How does the strength meter work?

It shows bits of entropy: length times log2 of the pool size. Under 40 bits is Weak, 40 to 60 is Fair, 60 to 80 is Good, 80 to 100 is Strong, and 100 or more is Very strong. 16 lowercase letters give 75.2 bits (Good). The default 16 characters with all four types give 103.4 bits (Very strong).

How long should my password be?

Use 16 characters with all four types for most accounts. That gives 103.4 bits. If a site does not allow symbols, use 18 letters and numbers instead, which gives 107.2 bits. If a site has a maximum length, use the longest it allows.

📖
Free Password Generator Guide: How to Create Strong PasswordsLearn password best practices, common mistakes, and when to change passwords.
📊
Free Password Generators Compared (2026)Where the password is made and kept, and when a password manager is the better choice.