Skip to content
100% in your browser. Nothing you paste is uploaded — all processing runs locally. Read more →

How long should a password be?

On this page
  1. The variable that swamps everything else: server-side hashing
  2. Bits of entropy, plain English
  3. The length math
  4. The recommendations
    1. For passwords you store in a password manager (most logins)
    2. For passwords you have to type (master, laptop, encryption)
    3. For sensitive things you might type in front of someone
    4. For server / API tokens
    5. For things you’ll burn after one use
  5. Things that don’t matter as much as people think
  6. What does matter
  7. What kills your password
  8. The TL;DR
  9. Use the generator on the home page

The honest answer to “how long should my password be” depends on three things: who’s attacking you, what they get access to, and how the server hashes it. The number changes by a factor of 1000× across realistic threat models. This is the working answer, with the math.

The variable that swamps everything else: server-side hashing

Before talking about length, the single most important thing to know: how the password is stored on the server completely changes the math. A 12-character random password is dramatically harder to crack when the server uses argon2id than when it uses plain SHA-256.

Server hashingGuesses/sec on $10K of GPU rigTime to crack 60-bit password
Plain SHA-256 (broken)~10 billion~2 years
MD5 (broken)~50 billion~5 months
bcrypt (cost=12)~30K~1.2 million years
scrypt (default)~5K~7.3 million years
argon2id (default)~2K~18 million years

The same password is 5–9 orders of magnitude harder to crack against modern hashing than against plain SHA. When you read advice that “60-bit passwords are weak,” that’s usually the SHA-256 row. Against proper hashing, the same password is in “millions of years” territory.

You don’t control how the server hashes your password. So the practical question is: how long should your password be assuming the worst plausible server-side hashing? That’s the SHA-256 row.

Bits of entropy, plain English

Each “bit of entropy” doubles the number of guesses an attacker needs on average. A 60-bit password has 2^60 ≈ 10^18 possible values; an attacker has to try half of them on average.

Quick reference:

Bits# guessesResists what?
28268 millionOnline attacks (server has rate limit)
401 trillionCasual offline crack on weak hashing
601 quintillionDetermined offline against weak hashing (years)
801.2 septillionIndustry “strong” — past current GPU compute
9679 octillionPast current and near-future hardware
1283.4 × 10^38AES-128 keyspace — past anything physical

For passwords that live in a password manager (the only ones that should be character-random), aim for 80+ bits. For passwords you actually type (passphrases), 50+ bits is comfortable for most threat models because passphrase generation is easier to verify and harder to mistake for a low-entropy pattern.

The length math

Bits of entropy = log₂(charset_size) × length. So:

CharsetBits per charLength for 80 bitsLength for 60 bits
Lowercase only (26)4.71713
Lower + upper (52)5.71411
Lower + upper + digits (62)5.951411
All (≈94, alphanum + symbols)6.551310
Hex (16)4.02015

So a 14-character all-charsets random password ≈ 80 bits. That’s the recommended length for password-manager-stored passwords. Round up to 16 to give yourself a safety margin and meet most “must be 14+ characters” policies.

For passphrases: log₂(7,776) ≈ 12.92 bits per word with full diceware (EFF’s 7,776-word list). With our 256-word list it’s 8 bits per word. Either way, 5 words = 40+ bits which is enough for most uses, 6 words is comfortable, 7 is overkill for the threat model passphrases address (master passwords, laptop login).

The recommendations

For passwords you store in a password manager (most logins)

For passwords you have to type (master, laptop, encryption)

For sensitive things you might type in front of someone

For server / API tokens

For things you’ll burn after one use

Things that don’t matter as much as people think

What does matter

What kills your password

The crack tools (hashcat, John the Ripper) try patterns in this order:

  1. Top-1000 most common passwords. Anything in this list cracks instantly.
  2. Dictionary words + common modifications. Capital first letter, digit at end, ! at end. Password1! cracks in seconds.
  3. Year suffixes. Cyber2024! is in pattern category 2 above.
  4. Leet-speak substitutions. P@ssw0rd deletes to password; checked early.
  5. Keyboard walks. qwerty, asdf, 1qaz2wsx.
  6. Brute-force, increasing length. Only after the structured attempts above.

A truly random 12-character password with all charsets has 78 bits of entropy and goes nowhere on steps 1–5. It only falls on step 6, which takes years on a single GPU even at SHA-256 speed.

MyDog2024! has structured-attack entropy of about 25 bits — falls in step 2.

The TL;DR

Use the generator on the home page

It’s calibrated for these recommendations: default 20 characters all charsets, with a passphrase mode for the human-typed cases. The entropy meter shows the actual bits — not a vague “weak / medium / strong.”