Password Strength Checker - Entropy, Patterns and Crack Time, in Your Browser

Type a password to see an estimate of how many guesses an attacker would need, which patterns make it easier, and how long that takes at three stated guessing speeds.

About this tool

Everything runs in this page: the password is never sent, saved or logged. Even so, do not type a password you still use for anything important into any website. Test a similar one instead, with the same length, kind of characters and pattern. A passphrase maker built on the EFF wordlist is included.

How it works

Your password stays here. The code that checks it runs in your browser tab and makes no network request, and the word lists are part of the page itself. The safest habit is still to test a made-up password that has the same structure as yours, because you cannot inspect a website's code from outside.

The naive estimate. The textbook method counts the character pool (26 lower-case letters, 26 upper-case, 10 digits, 33 symbols and space, and 100 for any other character) and multiplies: bits = length x log2(pool). Eight lower-case letters is 8 x log2(26) = 37.6 bits, and twelve characters from all 95 printable ASCII characters is 78.8 bits. It assumes every character is random, which people's passwords are not, so it flatters weak passwords. It is the right figure only for a password that a generator or dice really did pick.

The pattern-aware estimate. The checker cuts the password into pieces and prices each. A piece may be a common password (priced at its rank in a list of 2,994 from the 10 million password collection published by Mark Burnett), an ordinary English word from the two EFF wordlists, a run of such words, a walk across neighbouring keys on a QWERTY keyboard, a sequence such as abcd or 8642, a repeated chunk, a date or a year, or characters that match nothing, which cost 10 guesses each (3.3 bits). Capital letters, swapped look-alike symbols (@ for a) and reversal multiply the price. It picks the cheapest cut, and for pieces from different patterns it uses the zxcvbn formula: the pieces' prices multiplied together, times the number of orderings, plus 10,000^(pieces - 1) for shorter combinations tried first. The result is never above the naive figure.

How this differs from zxcvbn. This is a small re-implementation of the idea from Wheeler's 2016 USENIX paper, not zxcvbn itself, and its numbers will not match in general. It has far smaller word lists, so a rare or misspelled word looks like unrecognised characters and rates higher than it should. Those characters cost 10 guesses each, as in zxcvbn, so for a password with no pattern the figure is close to zxcvbn's: Tr0ub4dor&3 is 36.5 bits in both. Wheeler's paper explains the choice: charging by character pool, as the naive figure does, dramatically overestimates the common case of a token that is not in the dictionary. It knows only the US QWERTY layout. It uses the current year to price dates. It does not know your name, e-mail address or the site. Treat the figure as a rough guide.

Time to crack. The time is the number of guesses divided by a speed. Three scenarios are used: 100 guesses an hour for a login form that throttles an attacker, 10,000 guesses a second for an offline attack on a stolen database hashed with a slow, salted function, and 10 billion guesses a second for an offline attack on a fast, unsalted hash. They are scenarios, not predictions, and real speeds depend on the hash and the hardware. The time shown is to try every guess up to the password; on average an attacker finds it in about half that time.

The score. The five bands use zxcvbn's cut-offs: under 1,000 guesses, under a million, under 100 million, under 10 billion, and more. NIST SP 800-63B-4 asks services to require passwords of at least 15 characters when a password is the only factor (8 when used with another factor), to reject common and breached passwords, and not to impose composition rules such as one digit and one symbol. The NCSC advises three random words as a way to get a long password people can remember.

The passphrase maker. It picks words with crypto.getRandomValues from the EFF short wordlist 2.0, 1,296 words, so each word adds log2(1296) = 10.34 bits. It avoids modulo bias by discarding values from the uneven end of the range. Six words give 62.0 bits, which is 15 years of guessing at 10 billion a second in the fast-hash scenario and about 15 million years against a slow hash. Three words from this list give only 31.0 bits, so use more than three if the password could face an offline attack.

Worked examples

password

The naive estimate says 37.6 bits, which sounds respectable. But password is number 2 in the list of common passwords, so the checker prices it at 2 guesses plus 1, about 3. Even the throttled online scenario reaches it in about two minutes.

Password1!

NIST's own example of what composition rules produce: someone who might have chosen password is relatively likely to choose Password1 when told to add a capital and a number, and Password1! when a symbol is required too. Naive: 65.7 bits. Pattern-aware: Password is number 2 in the common list, but a piece of a longer password costs at least 50 guesses; 1! is two characters with no pattern, 10 x 10 = 100 guesses. Two pieces: 2 x 50 x 100 + 10,000 = 20,000 guesses, 14.3 bits. That is 2 seconds against a slow hash.

Summer2026!

Naive: 72.3 bits. Pattern-aware: Summer is number 85 in the common list, doubled for the capital (170 guesses), and 2026! is five characters priced as 10^5 guesses. Two pieces: 2 x 170 x 100,000 + 10,000 = 34,010,000 guesses, 25.0 bits or 3.4 x 10^7. That is 57 minutes against a slow hash and under a second against a fast one. The shape word, year, symbol is exactly what composition rules teach people to write, and real attackers try it early, so treat this as a generous figure.

Six random words

Six words from the EFF short list: 1296^6 = 4.74 x 10^18 possibilities, 62.0 bits. At 10 billion guesses a second trying all of them takes 15 years. At 10,000 a second it is about 15 million years. Adding a seventh word multiplies the work by 1,296.

Why adding a digit does little

monkey123 is a common word followed by the sequence 123: about 13.9 bits, roughly 15,000 guesses. A digit or symbol on the end is a very common way to strengthen a word, so attackers try it early.

Random passwords: time to try every combination at each stated speed

LengthCharactersBitsOnline, throttledOffline, slow hashOffline, fast hash
8digits only26.6114 years3 hoursless than a second
12digits only39.9about 1.1 million years3 years2 minutes
16digits only53.2about 11 billion yearsabout 32 thousand years12 days
20digits only66.4about 114 trillion yearsabout 317 million years317 years
8lower-case letters37.6about 238 thousand years242 days21 seconds
12lower-case letters56.4about 109 billion yearsabout 302 thousand years110 days
16lower-case letters75.2more than a quadrillion yearsabout 138 billion yearsabout 138 thousand years
20lower-case letters94.0more than a quadrillion yearsmore than a quadrillion yearsabout 63 billion years
8upper and lower-case letters and digits47.6about 249 million years692 years6 hours
12upper and lower-case letters and digits71.5more than a quadrillion yearsabout 10 billion yearsabout 10 thousand years
16upper and lower-case letters and digits95.3more than a quadrillion yearsmore than a quadrillion yearsabout 151 billion years
20upper and lower-case letters and digits119.1more than a quadrillion yearsmore than a quadrillion yearsmore than a quadrillion years
8all keyboard characters52.6about 7.6 billion yearsabout 21 thousand years8 days
12all keyboard characters78.8more than a quadrillion yearsabout 1.7 trillion yearsabout 1.7 million years
16all keyboard characters105.1more than a quadrillion yearsmore than a quadrillion yearsabout 139 trillion years
20all keyboard characters131.4more than a quadrillion yearsmore than a quadrillion yearsmore than a quadrillion years

Frequently asked questions

Is it safe to type my password here?

The checker runs in your browser and sends nothing, but you cannot see the code of every page you visit, and a copy in your clipboard or screen can leak. Do not type a password you still use for anything important here or anywhere. Test a similar one with the same length and pattern.

What is password entropy?

It is a measure of unpredictability in bits: a password chosen uniformly from N possibilities has log2(N) bits. A random 8-letter lower-case password has 37.6 bits. Entropy only makes sense for how a password was generated; a human-chosen password has less than its length suggests.

How is the crack time calculated?

Guesses divided by guesses per second. The three speeds are 100 an hour (throttled online), 10,000 a second (offline, slow hash) and 10 billion a second (offline, fast hash). They are stated scenarios, not predictions. The time shown is for trying every guess up to the password; on average it falls in half that.

Why does a long passphrase beat a short complex password?

Each added character multiplies the work for an attacker, so length counts for more than character types. Six random common words is 62 bits and easy to type and remember. Eight characters from the full keyboard is 52.6 bits at best, and in practice people choose patterned ones far below that. NIST SP 800-63B-4 prefers length and blocklists to composition rules.

Does adding a capital letter, number or symbol help?

Only when it is random. A capital on the first letter, a 1 on the end or an exclamation mark is a predictable change that attackers try first, and swapping a for @ or o for 0 is built into their tools. NIST says services must not impose rules requiring mixtures of character types, and the NCSC says swapped characters do not make a password much stronger.

How many words should a passphrase have?

The NCSC suggests three random words as a password that is long enough and strong enough for most purposes. Three words from the 1,296-word list used here are only 31 bits, though, so if a stolen database could be attacked offline, six words (62 bits) is a better target, and a password manager's random 16-character password is stronger still. Use a different one for every site.

What is zxcvbn?

It is a password strength estimator written by Daniel Wheeler at Dropbox and described in a USENIX Security 2016 paper. Instead of counting character types it matches patterns such as dictionary words, keyboard walks, dates and repeats and prices each. This page uses the same idea in a much smaller form and is not a port of it.

Does it check whether my password has been leaked?

No. It compares the password only with a list of 2,994 very common passwords included in the page, and nothing is looked up online. A password that was leaked in a breach but is not common can still score well here. Use a breach-checking service for that, and never reuse a password.

Why does a random-looking password get fewer bits than the naive figure?

Characters that match no pattern are charged 10 guesses each (3.3 bits), the convention used by zxcvbn. The page cannot tell a string a generator picked from one a person made up: Tr0ub4dor&3 looks random to it, and made-up strings are far from random. If a password manager or dice picked every character, the naive figure is the right one, and the table of random passwords shows the times for that case.

Which wordlist does the passphrase maker use?

The EFF short wordlist 2.0, published by the Electronic Frontier Foundation in 2016: 1,296 words, each with a unique three-letter prefix. The list is copyright the EFF and shared under a Creative Commons Attribution licence; it is used here unchanged apart from dropping the dice numbers. The checker also uses the EFF long wordlist of 7,776 common words, the same way, to recognise ordinary words.

Sources & references

Updated Oct 15, 2026