Password Strength Checker (Private, Offline)
Test how strong a password really is with zxcvbn. See its score, guesses needed, crack times and the patterns that weaken it. Nothing is sent or stored.
Personal words (optional)
Checking…
Type a password to see how many guesses it would take to crack, how long that takes, and what makes it weak.
- lowercase
- UPPERCASE
- digits
- symbols
- spaces
- other characters
Only the first 256 characters are analysed.
Time to crack
| Attack | Time |
|---|---|
| Online, throttled100 guesses per hour, like a login page that limits attempts | |
| Online, not throttled10 guesses per second against a login page | |
| Offline, slow hash10,000 per second on a stolen database hashed with bcrypt, scrypt or Argon2 | |
| Offline, fast hash10 billion per second on a stolen database hashed with MD5 or SHA-1, using graphics cards |
Patterns found
| Part | Pattern | Guesses |
|---|
Need a strong password you can remember? Use the passphrase generator.
How to use it
Type or paste a password into the box. It is checked on your device as you type, and the result shows a score from 0 to 4, the number of guesses an attacker would need, how long that takes in four attack scenarios, and which parts of the password make it weak. The matched parts stay hidden until you press Show. Under Personal words you can add your name, username or birthday: a password containing one of them counts as easy to guess, because an attacker who targets you would try them first.
How the estimate works
The checker uses zxcvbn, an estimator first published by Dropbox, in its
zxcvbn-ts version. Rather than counting character types, it looks for the
patterns that password-cracking tools try first: about 49,000 common
passwords, the 7,776 Diceware words, English words, first names and
surnames, Wikipedia terms, keyboard runs such as qwerty or !@#$,
repeats (aaa, abcabc), sequences (abcd, 9876), dates and recent
years, reversed words and l33t swaps such as @ for a. It then finds
the cheapest way to build the whole password from those pieces plus random
characters and multiplies the guesses each piece needs.
| Score | Estimated guesses | What it resists |
|---|---|---|
| 0 | under 1,000 | Nothing; it is among the first guesses |
| 1 | under 1 million | Online attacks on a site that limits attempts |
| 2 | under 100 million | Online attacks with no limit |
| 3 | under 10 billion | A stolen database hashed with a slow hash |
| 4 | 10 billion or more | Strong protection even offline |
Only the first 256 characters are analysed.
Entropy versus pattern-based estimates
The classic “entropy” formula multiplies the length by log₂ of the size of
the character set used: 26 lowercase, 26 uppercase, 10 digits and 32 ASCII
symbols, plus 1 for a space (this page counts any other character, such as
é or 字, as 100 more). By that formula P@ssw0rd123! has 78.7 bits,
because it uses all four kinds of character. zxcvbn sees through the
capital and the two predictable swaps to password123, number 796 on its
list of common passwords, allows for the final !, and estimates about
150,000 guesses, or 17 bits. The formula only fits passwords that a
computer picked at random. For passwords people choose, it overstates the
strength badly, which is why NIST SP 800-63B asks services to check new
passwords against lists of common and breached ones instead of demanding
a mix of character types. The page shows both numbers side by side.
The four attack scenarios
| Scenario | Guessing rate | Example |
|---|---|---|
| Online, throttled | 100 per hour | A login page that locks or slows down after failures |
| Online, not throttled | 10 per second | A login page with no limit |
| Offline, slow hash | 10,000 per second | A stolen database hashed with bcrypt, scrypt, Argon2 or PBKDF2 |
| Offline, fast hash | 10 billion per second | A stolen database hashed with a fast hash such as MD5 or SHA-1 |
These are the rates zxcvbn assumes, so treat the times as rough orders of magnitude. Real attackers can be faster: in hashcat benchmarks one RTX 4090 graphics card tests more than 150 billion MD5 hashes per second. “Centuries” means 100 years or more.
Tips
- Let a password manager generate and remember a different random password for every site.
- For the few passwords you must remember, use five or six random words. The passphrase generator picks them for you with your browser’s secure random number generator.
- A high score does not help once a password has leaked, so never reuse one, and turn on two-factor authentication where you can.
Frequently asked questions
Is my password sent anywhere?
No. The word lists are downloaded once and the check runs in your browser. The password is never sent, logged or stored, and once the page has loaded the lists you can even go offline and keep checking.
Why is my long password with symbols rated weak?
Length and symbols only help when the password is unpredictable. A common word with swaps such as @ for a and 0 for o, followed by digits or a year, is one of the first things cracking tools try, so it needs few guesses however complex it looks.
Does this check whether my password was in a data breach?
Only partly. It recognises about 49,000 of the most common passwords, but it does not search databases of breached passwords, which would mean sending data over the network. A password that scores well can still have leaked if you used it elsewhere.
How long would it take to crack my password?
See the crack-time table. It depends on the attack. The same password can take hours to guess through a login page that limits attempts, and well under a second offline when a site stored it with a fast hash such as MD5.