Text & dev

Password Generator

Create strong, random passwords in your browser. Choose the length, decide which character sets to include, optionally drop look-alike characters, and copy the result. Randomness comes from your browser's cryptographic generator — nothing is sent anywhere, so the password never leaves your device. With data breaches exposing billions of U.S. account credentials, a long random password that you store in a password manager is one of the simplest ways to protect your email, banking and online accounts. The built-in strength meter shows the entropy in bits so you can see exactly how hard your password would be to crack.

Options

Include
Your password RABIXAI
Strength
Entropy0 bits
Copied ✓

Generated locally with crypto.getRandomValues. Use a unique password per site and a password manager.

How the password generator works

Each character is drawn from your selected pool using crypto.getRandomValues — the browser's cryptographically secure random source, never Math.random. To avoid modulo bias, values that fall outside an even multiple of the pool size are rejected and re-drawn. Strength is measured as entropy: the theoretical number of bits an attacker must guess.

Formula

entropy (bits) = length × log₂(pool size)

where pool size is the count of unique characters available from the sets you enabled. More length and more sets = more entropy. 60+ bits is good, 80+ bits is strong.

Notes & assumptions

Worked example: creating a master password

Say you are setting up a password manager and need a master password you will sometimes type by hand on a phone. Drag the length slider to 20, keep all four character sets checked, and turn on "Exclude ambiguous" so you never have to squint at a capital I versus a lowercase l. With the five look-alike characters removed the pool holds 83 characters, and 20 draws from it give about 127 bits of entropy, comfortably past the 80-bit "very strong" line. Click Generate a few times until you get one without awkward-to-type runs; regenerating costs nothing, since every click is a fresh, independent draw and a rejected password reveals nothing about the next one.

For an ordinary account that lives entirely inside the manager, the workflow is shorter: keep the default 16 characters, leave "Exclude ambiguous" off, click Generate once, and copy the result into both the site's sign-up form and the manager's entry. Sixteen characters from the full 88-character pool give roughly 103 bits, far beyond what any offline attack can search.

Password length, entropy and crack time

The table shows how length and character variety translate into entropy, and how long an attacker would need to try every possibility. The times assume an offline attack running about 10¹⁰ (ten billion) guesses per second against a fast hash; on average a password falls at about half the listed time. Against a database hashed with bcrypt or Argon2, real attacks run thousands of times slower, so these figures are deliberately pessimistic.

Entropy and offline crack time at ~10^10 guesses per second
PasswordPoolEntropyTime to exhaust
8 chars, lowercase only26≈ 38 bitsunder a minute
10 chars, lowercase only26≈ 47 bitsabout 4 hours
8 chars, all four sets88≈ 52 bitsa few days
12 chars, letters + digits62≈ 71 bitsabout 10,000 years
12 chars, all four sets88≈ 78 bitshundreds of thousands of years
16 chars, all four sets88≈ 103 bitseffectively never (trillions of years)
20 chars, all four sets88≈ 129 bitseffectively never

Two patterns stand out. Adding characters buys more than adding sets: going from 8 to 12 lowercase letters adds about 19 bits, while upgrading 8 lowercase letters to all four sets adds about 14. And every 10 extra bits multiplies the attacker's work by roughly 1,000, which is why the step from 12 to 16 characters turns centuries into a number with no practical meaning.

What actually makes a password strong

Length beats complexity. Each added character multiplies the search space by the full pool size, while swapping a letter for a symbol only changes which pool one position draws from. A 16-character all-lowercase password (about 75 bits) is stronger than an 8-character password using all four sets (about 52 bits), despite looking simpler.

Human patterns are the real weakness. "P@ssw0rd1" technically mixes all four character classes, yet cracking tools break it almost instantly: they start from dictionary words and apply the standard substitutions (@ for a, 0 for o, a capital first letter, a digit on the end) before trying anything random. The entropy math only holds when every character is chosen independently at random, which is what a generator does and human-invented passwords never do.

Uniqueness matters as much as strength. A 128-bit password reused on five sites is only as safe as the weakest of those five databases. And when typing is the constraint, a passphrase works: four words picked at random from a 7,776-word list carry about 52 bits, five words about 65, and six about 78, roughly matching a 12-character random password while being much easier to enter on a phone keyboard.

How this generator's randomness works

The random source is crypto.getRandomValues, the Web Crypto API call browsers reserve for cryptographic work. It is backed by the operating system's secure generator (BCryptGenRandom on Windows, /dev/urandom on macOS and Linux), which continuously mixes unpredictable hardware events such as interrupt timing. Its output stays unguessable even to someone who has read this page's source code. Math.random offers no such guarantee: it is built for speed, several past implementations have been predicted from a handful of outputs, and it should never touch a password.

After drawing the characters, the tool guarantees at least one character from every set you enabled, then shuffles the whole password with a Fisher–Yates pass driven by the same secure source, so the guaranteed characters do not sit predictably at the front.

All of this happens in your browser. Generating a password triggers no network request, nothing is stored or logged, and the page keeps working with your connection switched off. You can verify both claims yourself: view the page source, or watch the browser's network tab while you click Generate.

Frequently asked questions

How long should my password be?

For most accounts, aim for at least 12–16 characters; for high-value accounts like email, banking and your password manager's master password, 16 or more is wiser. Length matters more than complexity — a longer password with mixed character sets quickly pushes the entropy past the 80-bit "very strong" mark shown in the meter above. The default of 16 characters with all four sets is a strong starting point.

Is this password generator safe to use?

Yes. Every password is created locally in your browser using crypto.getRandomValues, the same cryptographically secure random source used for security-sensitive work — not the predictable Math.random. Nothing is transmitted, stored or logged, and the page has no analytics tied to the output. For maximum safety, generate the password, copy it straight into your password manager, and clear your clipboard afterward.

What does "entropy" mean and how many bits is enough?

Entropy measures how unpredictable a password is, expressed in bits: each extra bit doubles the number of guesses an attacker needs. As a rule of thumb, under 40 bits is weak, 60+ bits is good, and 80+ bits is strong enough to resist offline cracking for the foreseeable future. More length and more character sets both raise entropy, which the strength meter recalculates as you adjust the options.

Should I exclude ambiguous characters?

It's optional. Turning on "Exclude ambiguous" removes look-alikes such as capital I, lowercase l, the number 1, capital O and zero, which helps when you'll be reading or typing the password by hand. It slightly shrinks the character pool and therefore the entropy, so if the password lives only in a password manager you can leave it off for maximum strength.

Do I need a different password for every site?

Yes — reusing passwords is the single biggest risk. When one site is breached, attackers try those same credentials everywhere else in what's called credential stuffing. Generate a unique random password for each account and store them in a reputable password manager so you only have to remember one strong master password.

Are passphrases a good alternative to random passwords?

Yes, when you have to type the password often. Four to six words chosen at random from a large word list give 52 to 78 bits of entropy, on par with a 12-character random password, and they are far easier to enter on a phone. The catch is that the word choice must be genuinely random; a song lyric or favorite quote is already in every cracking dictionary. Use character passwords like the ones from this generator where a site imposes short length limits or a password manager does the typing for you.

How often should I change my passwords?

Only when there is a reason: a breach notification, evidence of compromise, a shared account, or a password you know is weak or reused. Current NIST guidance dropped forced periodic changes because mandatory rotation pushes people toward predictable patterns like incrementing a final digit. A long random password stored in a manager can stay in place for years, but replace it immediately if the service reports a breach.