CalcOpenly
English

Password entropy calculator and sample generator

Estimate character-pool entropy and brute-force search time under a random-character model, or generate reproducible sample passwords for learning.

Drafted with AI writing toolsUpdated Checked examples: 6

Checked on this device; inputs are excluded from saved history and shared links.
= 10,000,000,000
Try
Theoretical entropy
bits
Theoretical entropy: 72.3 bits
Decimal places: 1; Nearest, ties to even
Length
11characters
Character pool
95symbols
Theoretical average guesses
2.844 × 10²¹
Theoretical average time in seconds
284,400,000,000s
Theoretical average time
9,010 years
This model assumes independent random choices from the displayed character pool. Dictionary words, names, dates and keyboard patterns can be guessed much sooner; the result does not measure actual password strength.
The check runs on this device. Private inputs are excluded from automatic history, shared links and copied results.

This password has 11 characters from a modeled pool of 95: theoretical entropy 72.3 bits. At 10,000,000,000 guesses per second, an exhaustive search of that modeled space averages 9,010 years. This is not a prediction of actual crack time.

Theoretical time (log₁₀ seconds)

Online, rate-limited9.01 × 10¹² yearsOnline, no rate limit9.01 × 10¹⁰ yearsOffline, slow hash9.01 × 10⁹ yearsOffline, fast hash9,010 yearsOffline, large cluster90.1 years
Theoretical time by attacker speed Rows: 5
AttackerGuesses per secondAverage time
Online, rate-limited109.01 × 10¹² years
Online, no rate limit1,0009.01 × 10¹⁰ years
Offline, slow hash10,0009.01 × 10⁹ years
Offline, fast hash10,000,000,0009,010 years
Offline, large cluster1,000,000,000,00090.1 years
How it's calculated S
  1. Character pool

    N=26+26+10+33=95N = 26 + 26 + 10 + 33 = 95

    26 lowercase; 26 uppercase; 10 digits; 33 symbols and space

  2. Theoretical entropy

    H=Llog⁡2N=11×log⁡295=72.27 bitsH = L \log_2 N = 11 \times \log_2 95 = 72.27\ \text{bits}
  3. Average guesses

    2H−1=NL2=95112=2.844×10212^{H-1} = \frac{N^L}{2} = \frac{95^{11}}{2} = 2.844 \times 10^{21}

    On average an exhaustive search finds the password halfway through the space.

  4. Time at your attacker's speed

    t=2.844×102110,000,000,000 /s=284,400,000,000 st = \frac{2.844 \times 10^{21}}{10{,}000{,}000{,}000\ \text{/s}} = 284{,}400{,}000{,}000\ \text{s}

    About 9,010 years.

About the password entropy calculator and sample generator

Entropy counts how many guesses a randomly chosen password could take: H = L × log2 N bits, where L is the length and N the size of the character pool (26 lowercase, 26 uppercase, 10 digits and 33 symbols including space). A brute-force search finds the password after N^L ÷ 2 guesses on average, so the crack time is that number divided by the attacker's guesses per second.

The default, Tr0ub4dor&3 from the xkcd comic 936, draws on all 95 printable ASCII characters across 11 positions, which gives 72.3 bits; at 10 billion guesses per second an exhaustive search would average 9,010 years.

This is a theoretical model for the displayed character pool, not a measurement of how a password was chosen. Tr0ub4dor&3 is a dictionary word with common substitutions, which the comic puts at about 28 bits. Generated samples use non-cryptographic xoshiro256** and a 64-bit seed. They are educational examples and must not be used for real accounts.

How to calculate password entropy

For a password chosen at random, entropy is H = L × log₂ N bits, where L is the length and N the number of possible characters. Eight random lowercase letters give 8 × log₂ 26 = 37.6 bits, and 16 characters drawn from the 94 printable ASCII symbols give 104.9 bits. The formula holds only when every character was picked at random.

Character pools

  • Lowercase a–z: 26
  • Uppercase A–Z: 26
  • Digits 0–9: 10
  • ASCII punctuation: 32, or 33 counting the space
  • All printable ASCII: 95 with the space, 94 without

Each character adds log₂ N bits: 4.7 for lowercase, 6.6 for the full 95-symbol pool. Four more lowercase letters add 18.8 bits, more than switching an 8-character password from lowercase to all 95 symbols, which adds 15.0.

From bits to cracking time

An exhaustive search finds a random password after N^L ÷ 2 guesses on average. Divide that by the attacker's guessing rate:

  • 8 random lowercase letters: 26⁸ ÷ 2 = 104,413,532,288 guesses, about 10.4 s at 10¹⁰ guesses per second, the pace of an offline attack on a leaked fast hash.
  • The same password behind an online login limited to 10 guesses per second: 331 years.
  • 16 random characters from 94 symbols: about 5.89 × 10¹³ years at 10¹⁰ guesses per second.

The rate matters as much as the password. A rate-limited login allows about 10 guesses per second, while an offline attack on a leaked fast hash runs near 10¹⁰, a billion times faster. Slow password hashes such as bcrypt and Argon2 exist to shrink that gap.

Why chosen passwords score lower than the formula

The formula rates the method, not the string. Tr0ub4dor&3 spans all four character classes across 11 positions, so the model gives 72.3 bits, but it is a dictionary word with common substitutions, which attackers try first.

password gets 37.6 bits from the model, yet it sits near the top of common-password lists, so a dictionary attack tries it almost immediately.

Passphrases

For words drawn at random from a list, use the list size as N and the word count as L. EFF's dice method picks each word from 7,776 by rolling five dice: four words give 4 × log₂ 7,776 = 51.7 bits, and six give 77.5 bits.

Counting characters overrates a passphrase. correct horse battery staple scores 164.7 bits as 28 characters from a 59-symbol pool, but as four random words from a 7,776-word list it would carry 51.7.

Entropy of the example passwords

ScenarioLengthPoolModeled entropy bits
Default119572.27
Check password82637.60
Six digit sample61019.93
No lookalikes128877.51
Check éé210.00

Default is Tr0ub4dor&3, and Check password is password. Six digit sample is generated from seed 0 with digits only, giving 028278.

No lookalikes is a 12-character sample from seed 18446744073709551615 without I l 1 O 0 o, giving SP}R=Pykuu3K. éé scores zero because its pool is the single distinct character it uses.

What NIST recommends

NIST SP 800-63B-4 requires at least 15 characters for a password used alone and 8 when it is paired with a second factor.

The same guidelines reject composition rules such as "one digit and one symbol" and require checking new passwords against a blocklist of common and breached ones.

The sample generator is for learning

Samples come from xoshiro256** seeded through SplitMix64 (reference code), so the same seed and settings always give the same password. That suits examples and tests.

It also makes the samples unsafe: anyone with the seed has the password, and a 64-bit seed caps the uncertainty at 64 bits. For real accounts, use a password manager's generator, never one of these samples.

Limits and privacy

  • Checked passwords are counted in Unicode code points, up to 256. Non-ASCII characters add only the distinct ones present to the pool.
  • Generated lengths run from 4 to 128 characters. All four sets give a 94-character alphabet, and leaving out the look-alikes gives 88.
  • What you type stays on your device and is kept out of the page address, history and shared links. Testing a similar pattern is still safer than typing a live password.

For why stored passwords need a slow, salted hash, see the hash and checksum calculator.

Worked examples

Tr0ub4dor&3

I want to
Check a password
Password
Tr0ub4dor&3
Attacker's guesses per second
1e10
Character pool
95 symbols
Length
11 characters
Theoretical entropy
72.3 bits
Theoretical average time in seconds
284,400,000,000 s

Checked against: Independent calculation

password

I want to
Check a password
Password
password
Attacker's guesses per second
1e10
Character pool
26 symbols
Theoretical entropy
37.6 bits
Theoretical average guesses
104,400,000,000
Theoretical average time in seconds
10.44 s

Checked against: / 1e10 = 10.4414 s

Single character (edge)

I want to
Check a password
Password
a
Attacker's guesses per second
10
Character pool
26 symbols
Length
1 character
Theoretical entropy
4.7 bits
Theoretical average guesses
13
Theoretical average time in seconds
1.3 s

Checked against: 26 / 2 = 13 guesses; 13 / 10 = 1.3 s

Seeded 16-character password

I want to
Generate a sample password
Length
16
Seed
2026
Attacker's guesses per second
1e10
Generated sample password
Ro_y2y-Z^~5cQiBL
Character pool
94 symbols
Theoretical entropy
104.9 bits

Checked against: Independent calculation

Questions

How long should a password be according to NIST?

NIST SP 800-63B-4 (2025) requires at least 15 characters for single-factor passwords and at least 8 for passwords used with another factor. It recommends allowing a maximum length of at least 64 characters, prohibits composition rules and arbitrary periodic changes, and requires checking new passwords against a blocklist. A change is required when there is evidence of compromise.

How long would it take to crack my password?

It depends on the pool, the length and the attacker's speed. A random 8-letter lowercase password has 26^8 ≈ 2.1 × 10^11 combinations and falls in about 10 seconds on average at 10 billion guesses per second, a fast offline attack on a leaked hash. A random 16-character password from 94 printable symbols would take about 5.9 × 10^13 years at the same speed.

What is password entropy?

Password entropy is the base-2 logarithm of the number of equally likely passwords the choosing method could produce, in bits; each extra bit doubles the guesses needed. A random password of length L from N symbols has L × log2 N bits, so 8 lowercase letters give 37.6 bits. It rates how the password was chosen, not how it looks, which is why human-picked words score far lower.

Is a passphrase better than a complex password?

Usually, if the words are chosen at random. Four words drawn from the EFF's 7,776-word dice list give 4 × log2 7,776 ≈ 51.7 bits, and six give 77.5 bits, more than a random 11-character password from all 95 printable characters (72.3 bits), while being easier to type and remember. Words a person picks, or a known quote, are far weaker.

Is this password generator safe for real accounts?

No. This generator makes reproducible educational samples with xoshiro256**, which is not cryptographically secure. A secret seed does not change that. Anyone with the same seed and settings gets the same sample. For real accounts, use a password manager with a cryptographically secure generator.

About this calculator

H=Llog⁡2Nt=2H−1R=NL2RR=guesses per second\begin{aligned} H &= L \log_2 N \\ t &= \frac{2^{H-1}}{R} = \frac{N^L}{2R} \\ R &= \text{guesses per second}\end{aligned}

Sources

  1. NIST SP 800-63B, Digital Identity Guidelines: Authentication — memorized secrets and rate limiting
  2. Blackman & Vigna, Scrambled linear pseudorandom number generators, ACM TOMS 47(4), 2021 — xoshiro256** reference code
  3. EFF — Dice-generated passphrases

Checked against references

This calculator includes 6 worked examples with independently sourced answers. They run in the test suite, and you can run them here too.

Put this calculator on your site

Paste this where you want the calculator to appear. It is free to use, it stays in step with corrections made here, and the credit line below it links back so your readers can find the full version.

Height
Preview the embed

Keep the credit line. It is the only condition, and it is what keeps these calculators free.