Skip to content

Password Strength Checker

See how strong your password really is — with estimated crack time and a criteria checklist.

🔒 Your password never leaves your browser.

How the Password Strength Checker Works

Type a password to get an instant strength score from 0 (Very Weak) to 4 (Very Strong). The score is based on length, character diversity (uppercase, lowercase, digits, symbols), and detection of common patterns or sequential characters. Short passwords with no variety almost always score 0 or 1.

The estimated crack time is calculated from the password's entropy (information content) assuming an attacker using a modern GPU at 10 billion guesses per second. All analysis happens locally in your browser — your password isn't transmitted anywhere.

Eight pattern detectors and three crack-time scenarios

The analysis now runs eight specific pattern checks: common passwords from a 250-entry list with l33t-speak deleetification (so p@ssw0rd doesn't slip through), keyboard walks like qwerty and asdf, ascending and descending sequences of letters or digits, repeated characters, and dates in common formats. You see which patterns were detected, not just a score. Entropy is shown in bits alongside the score, so you know whether a four-word passphrase at 52 bits is actually better than your 14-character mix at 48 bits (it is).

The crack-time table shows three scenarios side by side: online throttled (100 guesses per second, the rate a login form limits you to), offline GPU (10 billion per second, a mid-range dedicated cracking rig), and a distributed cluster (100 billion per second). The difference between these scenarios is what separates 'fine for a forum account' from 'acceptable for a work login' from 'suitable for encrypting a backup'. When your score is low, the tool suggests a passphrase alternative — not a generic tip, an actual example of what a stronger structure looks like.

What Makes a Password Strong?

Length is the single most important factor. Every additional character multiplies the search space by the size of the character set. A 12-character random password drawn from 72 possible characters (lowercase + uppercase + digits + symbols) has 72¹² ≈ 19 quadrillion combinations; the same charset at 8 characters gives 72⁸ ≈ 7 trillion — 2,700× fewer guesses needed. NIST SP 800-63B (updated 2024) formally recommends length over complexity: mandatory rules requiring uppercase, symbols, and frequent rotation are no longer recommended. What matters is length and uniqueness per site.

Entropy is measured in bits. 128 bits of entropy is considered sufficient for long-term security against any foreseeable attack. A truly random 20-character password using only lowercase letters (26-character set) gives log₂(26²⁰) ≈ 94 bits — already very strong. Common patterns to avoid: keyboard walks (qwerty, 12345), dictionary words, personal information (birthdays, names), and leetspeak substitutions (p@ssw0rd) — these are all preloaded in attacker wordlists and add almost no security.

Passphrases (four random common words, Diceware-style) give roughly 44–52 bits of entropy — weaker than a short fully random password but far more memorable. A passphrase like “correct horse battery staple” is 28 characters and beats most short complex passwords in both length and memorability. Use a passphrase for accounts you must type regularly; use a random generated password (stored in a manager) for everything else.

Related tools: Password Generator — generate a cryptographically secure random password or passphrase instantly.

How Password Checkers Work (and Their Limits)

Client-side estimators like this tool use heuristics: character set size, length, common pattern matching, keyboard sequence detection, and dictionary lookups. The most sophisticated public algorithm is zxcvbn (open-sourced by Dropbox), it simulates an attacker using a curated wordlist, common substitution rules, and spatial keyboard patterns to produce a realistic crack-time estimate rather than a naive character-count score. This tool's analysis is inspired by that approach.

These tools estimate cracking time against offline attacks — a scenario where an attacker already has your password hash and runs guesses on their own hardware with no rate limiting. This is far more aggressive than online login attempts throttled by the server. Offline cracking rates vary enormously by hashing algorithm: a modern GPU rig cracks MD5 hashes at tens of billions per second, but the same rig can only attempt around 10,000 bcrypt hashes per second. This is why secure systems use slow hashing algorithms (bcrypt, Argon2, scrypt) — even a mediocre password becomes impractical to crack when each guess takes milliseconds of CPU time.

The biggest real-world threats are not brute force but phishing, credential stuffing (attackers trying username/password pairs leaked from other breaches), and malware. A 20-character unique password provides near-zero protection against phishing, you still need to verify the site you're logging into. Use a password manager to generate and auto-fill unique credentials per site: this eliminates credential stuffing entirely and makes phishing attempts easier to detect.

See also: Password Generator for cryptographically secure passwords, and check our Random Number Generator for understanding true randomness.

Entropy Explained: Bits and What They Buy You

Password entropy measures unpredictability in bits — specifically, the base-2 logarithm of the total number of possible passwords of a given structure. 10 bits of entropy means 2¹⁰ = 1,024 possible combinations. 20 bits means ~1 million. 40 bits means ~1 trillion. 80 bits means roughly 1.2 × 10²⁴ — at 10 billion guesses per second (a capable offline GPU rig), exhausting that search space would take over 3.8 million years. In practice, 80 bits of true entropy is effectively uncrackable by any foreseeable hardware.

Character set size determines the entropy per character: a password using only lowercase letters draws from 26 characters, giving log₂(26) ≈ 4.7 bits per character. Adding uppercase doubles the set to 52 characters: log₂(52) ≈ 5.7 bits per character — 1 bit of gain per character. Adding digits (62 total): log₂(62) ≈ 5.95 bits. Adding 32 common symbols (94 total): log₂(94) ≈ 6.55 bits. The math reveals why length matters far more than complexity: going from 10 to 16 characters at 4.7 bits each gains 28.2 bits of entropy; adding a symbol set to a 10-character lowercase password gains only 18.5 bits.

These entropy figures assume true randomness — every character independently chosen with equal probability from the full character set. Patterns collapse entropy drastically. A password like 'Summer2024!' is 11 characters with uppercase, digits, and a symbol, suggesting a character-set entropy of ~72 bits. But in practice it has near-zero structural entropy: 'Summer' is in every attacker's dictionary, '2024' is the current year, and '!' is the most common symbol appended to dictionary words. Effective entropy is perhaps 15–20 bits — an attacker using rule-based mutation wordlists cracks it in seconds.

NIST SP 800-63B uses entropy as a conceptual framework but explicitly warns against using character-composition rules as a proxy for entropy, because users predictably satisfy composition rules with low-entropy patterns (capitalize the first letter, append ! at the end, substitute 0 for o). The checkers showing a green checkmark for 'has uppercase, digit, and symbol' are measuring necessary conditions for entropy, not entropy itself. This tool shows both the raw bits estimate and the pattern detections that reduce effective entropy.

Common Patterns That Wreck Password Strength

Keyboard walks are among the first sequences attackers try: qwerty, asdf, zxcv, 1234, and their variants (qwerty123, Qwerty1!). They appear strong visually — 9+ characters with varied case and digits — but are trivially in attacker wordlists as keyboard adjacency patterns. Any sequence of three or more adjacent keys in a standard QWERTY layout is flagged by this checker. The fix is trivial: if you're going left-to-right on the keyboard, you're not generating a password.

Leetspeak substitutions add very little real entropy. Substituting 3 for e, 0 for o, @ for a, 1 for l, or $ for s adds at most 5–6 bits of entropy for the entire transformation (because there are only a handful of common substitution rules, and attackers preload them all). 'p@ssw0rd' is cracked in the same time as 'password' by any modern attacker tool — these substitutions have been in wordlists since the early 2000s. The checker's pattern list includes l33t-speak deleetification, so these substitutions are detected and reported.

Dictionary words reduce entropy to the size of the dictionary, not the character set. English has roughly 170,000 words in active use; an attacker's password dictionary typically has 5–20 million entries (words, names, phrases, previous breach passwords). Even obscure words like 'zymurgy' or 'quorum' are in these lists. A 10-character password made from one obscure word plus two digits has effective entropy of log₂(20,000,000 × 100) ≈ 31 bits — crackable in seconds at offline GPU speeds.

Dates and years are extremely common and extremely guessable. Birthdates, anniversaries, graduation years, and the current year are all in attacker rule sets. Formats detected: DDMMYYYY, MMDDYYYY, YYYYMMDD, YYYY, and two-digit year variants. If your password ends in a year (Password2024, Summer23), the year contributes approximately log₂(50) ≈ 5.6 bits if attackers try years 1975–2025 — almost nothing. Names, pet names, and sports teams follow the same logic: they're personal, they feel unique, but they're all in targeted attack wordlists assembled from social media profiles.

When This Checker Is Misleading

This tool evaluates structural strength — the entropy and pattern analysis of the password string you type. It cannot check whether your password has already been exposed in a data breach. A structurally strong password like 'Correct#Horse7Battery' scores 4/4 here, but if it appeared in a breach dump (which it now does, because it's in this example), an attacker with that list would crack it instantly. To check actual breach exposure, use Have I Been Pwned's password API (k-anonymity model — only the first 5 hex chars of your SHA-1 hash are sent, not the password itself).

Passphrase entropy is more reliable than this estimator suggests for memorable passwords. A Diceware passphrase of four words chosen from the EFF word list (7,776 words) has entropy of log₂(7776⁴) = 51.7 bits per word set — the estimator here may score it lower if it detects the individual words as dictionary words and penalizes them. But that penalty reflects online-attack pattern matching, not Diceware's actual security model, which is purely combinatorial (51.7 bits remains valid regardless of whether each word is a dictionary word). If you use Diceware, the correct entropy calculation is log₂(word_list_size^word_count).

Two-factor authentication (2FA) dramatically reduces the practical importance of password strength for online account security. An account protected by TOTP (Google Authenticator, Authy) or a hardware key (YubiKey) cannot be accessed with a stolen password alone — the attacker needs both. This means a reasonably strong 12-character unique password with 2FA enabled is more secure than an exceptional 24-character password without 2FA. Enabling 2FA on critical accounts (email, bank, work SSO) should be the first priority, before optimizing password strength scores.

Finally, this checker cannot evaluate password reuse — arguably the most dangerous password practice. A password that scores 4/4 here but is used on 15 different sites is catastrophically risky: one breach of any of those sites exposes all your accounts to credential stuffing. The only scalable solution is a password manager (Bitwarden, 1Password, KeePass) that generates and stores a unique random password per site. Strength scores are secondary once you're using unique passwords everywhere.

Frequently Asked Questions

What actually makes a password strong?
Three things: length (16+ characters), variety (uppercase, lowercase, digits, and symbols), and unpredictability (no dictionary words, sequential patterns, or common substitutions like 3 for e). Length matters most — a long random passphrase beats a short complex one.
What is entropy and why does it matter?
Entropy measures the unpredictability of a password in bits. Higher entropy means more possible combinations an attacker must try before guessing right. Each additional character roughly multiplies the number of possibilities by the charset size, which is why length helps so much.
Is it safe to type my real password here?
Yes. This tool runs entirely in your browser — no network requests are made and your password isn't sent anywhere. You can verify this by disconnecting from the internet and testing. It still works offline.
What score should I aim for?
Aim for a score of 3 (Strong) or 4 (Very Strong) for accounts that matter. For critical accounts (email, banking, work), also consider using a password manager to generate and store truly random passwords.
How long does it take to crack a strong password?
Cracking time depends heavily on the hashing algorithm used by the site storing your password. A 12-character random password hashed with bcrypt (cost factor 12) would take centuries even with dedicated GPU hardware — bcrypt is intentionally slow at roughly 10,000 guesses per second per GPU. The same password hashed with MD5 (a weak algorithm still used by some old systems) could be cracked in hours to days at billions of guesses per second. This is why secure systems use slow hashing algorithms (bcrypt, Argon2, scrypt), and why using a unique password per site matters: one breach cannot compromise all your accounts.
Are passphrases stronger than passwords?
It depends on length and randomness. Four truly random common words (Diceware-style) give roughly 44–52 bits of entropy — weaker than a 12-character fully random password (~72 bits) but much stronger than a short complex password like 'P@ss1!' (~30 bits). Passphrases are also significantly easier to remember and type correctly. NIST now recommends passphrases for memorized credentials as long as they are long (15+ characters) and not based on song lyrics, quotes, or predictable phrases — randomness is the key requirement, not just length.
Why does adding a symbol barely improve my score?
Expanding from a 94-character set (lowercase + uppercase + digits + 32 symbols) to include symbols adds only log₂(94) − log₂(62) ≈ 0.6 bits of entropy per character compared to alphanumeric-only passwords. More importantly, if you're adding the symbol at the end of a word (Password!) or substituting it for a letter (P@ssword), the structural pattern is already known to attackers — the effective entropy gain is near zero. True entropy requires random placement, not just presence.
Does this tool send my password to a server?
No. All analysis runs entirely in your browser using JavaScript. No network requests are made when you type a password. You can verify this by opening your browser's developer tools Network tab while testing — you'll see zero requests triggered by your typing. The tool also works fully offline after the initial page load. This is by design: a password checker that sends your password to a server would itself be a security risk.
My password scores high here. Does that mean it's safe?
Not necessarily. A high structural strength score means your password is hard to brute-force or crack from a dictionary — it does not mean it is safe in every scenario. It cannot tell you: whether the password appears in any known breach database (check haveibeenpwned.com); whether you're reusing it on multiple sites (reuse enables credential stuffing); whether the site storing it uses a weak hashing algorithm like MD5 (check the site's security policy); or whether you entered it on a phishing site. Treat this score as one signal, not a comprehensive safety guarantee.

You might also need

See all tools →

Complementary tools based on what you're doing

By Bam's Thinkery — Updated