Estimate brute-force crack time and entropy
Enter a password to see an estimated brute-force crack duration, entropy, and a simple score — computed locally

Note: This tool uses a brute-force model and does not account for dictionary attacks or common password lists (e.g., "123456"). For real-world security, use long, complex, and unique passwords.
A password is “strong” when it stays safe even if someone tries to guess it at scale. This analyser focuses on one of the most important components: the size of the search space. If your password is made from a large character set and is long enough, the number of possibilities grows extremely fast.
Good mental model: every extra character multiplies the attacker’s work by the size of your character set.
Who is this for?
If you are working with hashes, pairing this tool with our Bcrypt page is a practical next step, and if you need locally-generated secrets you may also like Token Generator.
Type or paste your password
The analyser does not send your password to any server. Results update instantly as you type.
Read the crack time estimate
This is the estimated time for a brute-force attacker to guess your password on average.
Check entropy and character set size
Entropy grows with both length and the character set (lowercase/uppercase/digits/symbols).
Use the score as a quick signal
The score normalizes entropy onto a 0–100 scale (128 bits maps to 100). Aim higher for important accounts.
Worked example (simple)
Suppose your password is "123". The analyser sees a digit-only character set, so and . Entropy is:
The score is normalized against :. That’s why a very short numeric password lands in single digits.
Worked example (stronger)
Take "CorrectHorseBatteryStaple" (letters only). The analyser uses (lowercase + uppercase) and length . The entropy becomes:
That pushes the score to the cap (100/100). In real-world security, long passphrases are often easier to remember than short “complex” strings.
Setting a minimum password policy
You want a baseline rule for a consumer app signup flow.
Input: Try L = 12 with letters + digits (N ≈ 62).
How to use it: Use this as a starting point, then raise the bar for admin accounts.
Evaluating secrets for API keys
You are generating API keys and want to sanity-check length and character set.
Input: A 32-char token using letters + digits + symbols (N ≈ 95).
How to use it: If you need to generate one, use our Token Generator to produce a long random secret. Token Generator
Auditing a reused “workhorse” password
You suspect a password you reuse is shorter than it should be.
Input: Example: 8 chars, lowercase only (N = 26).
How to use it: For important accounts, switch to a longer passphrase and use a password manager.
Explaining why length beats “leet” tricks
Someone replaces letters with symbols and assumes it is secure.
Input: Compare 10 letters-only vs. 14 letters-only.
How to use it: Adding length is a predictable win; “clever” substitutions are often caught by dictionaries.
Before enabling 2FA
Check that your password is already strong; 2FA is best as a second layer, not a replacement.
Choosing a passphrase length
Test 16–24 character passphrases to see how quickly strength ramps up.
Rotating service credentials
When you rotate secrets, verify new keys are long and random enough.
Comparing “complexity rules”
See whether forcing symbols helps less than simply requiring more length.
Sanity-checking legacy passwords
Old habits often create short passwords; use this to prioritize what to change first.
Writing onboarding guidance
Use the numbers to justify guidelines in security docs without sounding hand-wavy.
When it may not apply
Pro tip: If you want strong passwords without mental overhead, use a password manager and let it generate long random strings.
Practical checklist
Working on storage and hashing? Use Bcrypt to understand the difference between a strong password and a properly hashed password.
1) Character set size
The analyser detects which character categories appear in your password and builds a character set size. A simple model is:
This is an approximation, but it’s a solid way to compare “digits-only” vs. “mixed characters”.
2) Entropy
Entropy estimates how much uncertainty your password has under the brute-force model:
Where is length and is the character set size.
3) Crack time
For brute force, the number of possibilities is . On average, an attacker needs about half of them:
With an assumed guess rate (guesses per second), the expected time is:
4) Score
The score maps entropy to a 0–100 scale using a 128-bit “excellent” reference point:
Entropy vs. real-world attacks
Entropy is useful for comparing choices, but it does not cover everything. Real attackers often use dictionary attacks, leaked password lists, and pattern-based guessing. That means a “clever-looking” password can crack quickly if it is based on common words.
No. The calculation runs locally in your browser. Avoid sharing real passwords in screenshots or URLs.
Because entropy scales with length: . Increasing is a reliable multiplier.
It is an estimate under a simple brute-force model. Real crack times can be faster (dictionary attacks) or slower (rate limits).
For important accounts, aim for a score that implies high entropy (ideally approaching the 100/100 cap). For low-risk logins, lower can be acceptable if you use 2FA and uniqueness.
It can increase N, but adding length often gives a bigger and more predictable gain.
This analyser uses a simplified character set model. Non-ASCII characters may not be represented perfectly in the charset size.
This analyser is for education and quick comparisons. It is not a guarantee of real-world security.
External reading to deepen your understanding.
External reading to deepen your understanding.
External reading to deepen your understanding.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.