Password Strength
{{ strengthDescription }}
{{ strengthPercent }} % H ≈ {{ entropyBits.toFixed(1) }} bits {{ length }} chars {{ w }}
× slower
Field Value Comment Copy
{{ row.label }} {{ row.value }} {{ row.comment }}
Machine Rate (guesses/s) Estimated time Copy
{{ c.machine }} {{ c.rateDisplay }} {{ c.time }}
Estimates assume exhaustive brute force over the chosen character set. Slow KDFs can be simulated via the Advanced slowdown factor.
{{ dictAlertText }}
List: Top 10k common passwords · {{ dictionaryLoaded ? (commonPasswords.length || 0) : 0 }} entries loaded.
Metric Value Copy
Entropy bits (log₂(charsetⁿ)) {{ entropyBits.toFixed(1) }}
Interpretation {{ entropyComment }}

            

Introduction:

Password strength is the practical measure of how hard a guesser would find it to discover a secret in realistic time. People also say password quality, and many reports summarize it as entropy in bits. Entropy reflects the size of the character pool and the length, capturing how many combinations a brute‑force strategy must try.

You enter any password and receive a plain language score with supporting metrics and badges with export options. The engine profiles character classes and length then estimates entropy and checks a common wordlist to flag risky picks. It also models crack time at several attack speeds so you can compare protection across contexts and document results.

As one example, Grape!2025 mixes case, digits and a symbol, landing near 65.7 bits of entropy. That maps to roughly 18973 years on a typical desktop under brute force only within this model. Breaches, reuse or slow hashing can shift risk so treat these figures as directional guidance rather than ironclad guarantees in practice today.

Stronger outcomes come from length first, then variety used judiciously. Avoid short patterns, obvious sequences, or look‑alike years. Passphrases made of unrelated words can be memorable without being predictable, and adding a slow hashing factor helps you compare sites that harden verification with expensive key derivation functions. Check for repeats and dictionary hits before relying on a secret.

Technical Details:

The calculator evaluates password strength using a mix of heuristic scoring (0–4), an entropy estimate $begin:math:text$H = n \\log_{2} S$end:math:text$ from length $begin:math:text$n$end:math:text$ and inferred character‑set size $begin:math:text$S$end:math:text$, a dictionary check against a top 10k list, and brute‑force crack‑time projections at fixed guessing rates. Outputs include a description label, strength percent, entropy bits with interpretation bands, warnings, property rows, machine‑specific time estimates, and CSV or JSON exports. Assumptions include uniform random selection across the detected set, exhaustive search, and no prior knowledge. Computations are deterministic for identical inputs.

Processing Pipeline

  1. Count length and character classes using regular expressions.
  2. Sum character set size from present classes: digits, uppercase, lowercase, symbols.
  3. Score strength by heuristics; cap at four.
  4. Estimate entropy bits as n × log₂ S.
  5. Generate warnings for short length, missing classes, runs, sequences, email, dates.
  6. Look up a lowercase match in the 10k dictionary.
  7. For each machine, compute lnSeconds = n ln S − ln rate.
  8. Convert lnSeconds to minutes, hours, days, or years.
  9. Apply user slowdown factor to rates; sanitize to at least one.
  10. Assemble tables and JSON; enable copy and download.

Core Formula

H=nlog2S H=nlnSln2

Symbols & Units

Symbols, meanings, and units
Symbol Meaning Unit/Datatype Source
nPassword lengthcharactersInput
SCharacter set sizecountDerived
HEntropybitsDerived
rateGuess rate after slowdownguesses/sDerived
slowdownHash slowdown factor×Input
lnSecondsNatural log of seconds to crackln(s)Derived
timeDisplayed crack‑timemins/hrs/days/yrsDerived

Interpretation Bands (Entropy)

Entropy thresholds and labels
Threshold Band Lower Bound Upper Bound Label
Very weak0< 40Very weak
Weak40< 60Weak
Reasonable60< 80Reasonable
Strong80< 100Strong
Very strong100Very strong

Bands help you prioritize changes. If a value sits near a boundary, consider adding length or reducing predictable patterns before relying on the label.

Constants & Coefficients

Guess rates and logarithmic constants
Constant Value Unit Source Notes
Standard Desktop PC1e8guesses/sPresetBase estimate
Fast Desktop PC4e8guesses/sPresetHigher end
GPU1e10guesses/sPresetSingle GPU
Fast GPU3e10guesses/sPresetOptimized
Parallel GPUs1e12guesses/sPresetClustered
Medium‑size Botnet1e13guesses/sPresetDistributed
LN_MINUTEln(60)ln(s)ConstantMinute pivot
LN_HOURln(3600)ln(s)ConstantHour pivot
LN_DAYln(86400)ln(s)ConstantDay pivot
LN_YEARln(31557600)ln(s)ConstantYear ≈ 365.25 days

Units, Precision & Rounding

  • Decimal separator is a dot.
  • Entropy displays to one decimal place.
  • Rates use SI suffixes; two decimals at K and above.
  • Durations round to nearest integer; 0.5 rounds up.
  • Extremely large years display as 10n years.

Validation & Bounds

Inputs, limits, and patterns
Field Type Min Max Step/Pattern Error Text Placeholder
PasswordString0Type a password…
Hash slowdown factorNumber1Step 1

I/O Formats & Encoding

Inputs and outputs
Input Accepted Families Output Encoding/Precision Rounding
Password textUTF‑8 stringMetrics, warnings, tablesBits, guesses/s, time unitsAs above
Hash slowdown factorInteger ≥ 1Crack‑time scalingInteger ×Nearest integer
ExportsCSV, JSONClipboard/fileJSON indented 2 spacesExact values

Networking & Storage

  • Loads a 10k common‑passwords list on first use with cache preference.
  • All analysis runs on your device; no server calls for your input.
  • No local or session storage of your password.

Performance & Complexity

  • Character profiling and warnings are linear in password length.
  • Dictionary lookup is linear in list size (10k entries).
  • Crack‑time rows scale with the number of preset machines.

Security Considerations

  • Do not paste production passwords; use representative structures instead.
  • Dictionary fetch does not transmit your input.
  • Outputs are estimates under exhaustive brute force assumptions.

Worked Example

Input Grape!2025. Classes: uppercase, lowercase, digits, symbol. Length 10; inferred set size 95.

H=10log295 H65.7 bits

Standard Desktop PC estimate: ≈ 18973 yrs; slowdown factor increases time proportionally.

Assumptions & Limitations

  • Entropy assumes independent, uniform character choices.
  • Brute force only; no targeted or hybrid attacks.
  • Character set size uses four coarse classes. Heads‑up
  • Non‑ASCII characters count as symbols, not distinct alphabets.
  • Dictionary list is 10k entries and may not include new leaks.
  • Year uses 31 557 600 s; calendar nuances are ignored.
  • Slowdown factor scales time only; it does not change entropy.
  • Heads‑up If the dictionary fetch fails, checks may report “Not found”.

Edge Cases & Error Sources

  • Leading/trailing spaces are trimmed before evaluation.
  • Empty input yields no results and zero entropy.
  • Very long inputs may be unwieldy to inspect, though evaluation remains linear.
  • Non‑ASCII graphemes count by code unit, not visual cluster.
  • Slowdown < 1 or non‑numeric is sanitized to 1.
  • Extremely small or large rates are clamped for display.
  • Massive times display using 10n yrs for readability.
  • Locale formatting may change raw rate titles but not calculations.

Privacy & Compliance

No data is transmitted or stored server‑side. A public dictionary file is fetched to enable common‑password detection; your input never leaves the page.

Step‑by‑Step Guide:

Follow these steps to assess and export results.

  1. Type a candidate secret into Password.
  2. Open Advanced and set Hash slowdown factor if you want slower KDF modeling.
  3. Review strength, entropy, warnings, and crack‑time rows.
  4. Switch tabs to inspect properties, entropy notes, or dictionary status.
  5. Copy or download CSV/JSON for auditing or sharing.
Example: Use Grape!2025 and set slowdown to 100000 to see how estimates change.

Use the results to decide whether to lengthen, diversify, or replace the password.

FAQ:

Is my data stored?

No. Analysis runs in your browser, and your input is not sent anywhere. The common‑password list may be fetched to your cache for lookups.

How accurate are crack‑time estimates?

They reflect exhaustive brute force over the detected character set at preset guess rates. Slowdown scales those rates. Targeted attacks, reuse, and leaks can reduce real protection.

What units and formats are used?

Entropy is in bits. Guess rates are in guesses per second. Exports are CSV or JSON with two‑space indentation for readability.

Can I use it offline?

Yes, core analysis works offline. If the dictionary list was not cached earlier, the dictionary tab will skip matches until a connection is available.

Do I need an account?

No sign‑in is required, and nothing is tied to identity.

How many bits count as strong?

The Entropy tab labels 80–100 bits as strong and 100+ bits as very strong. Aim higher if secrets are long‑lived or high‑value.

Troubleshooting:

  • No dictionary status: connect once so the list can cache.
  • Clipboard blocked: allow paste permissions and retry copy actions.
  • Odd time units: extremely large estimates switch to powers of ten.
  • Spaces missing: leading and trailing spaces are trimmed on input.
  • Numbers look rounded: exports include exact numeric values where applicable.

Advanced Tips:

  • Tip Model slow verification by raising the slowdown factor to reflect costly key derivation.
  • Tip Prefer length increases before adding rarely typed symbols for everyday usability.
  • Tip Avoid sequences and keyboard runs; the detector flags basic patterns quickly.
  • Tip Check dictionary status before trusting “not found” on a fresh, offline page.
  • Tip Export JSON with context metrics to document reviews during migrations.

Glossary:

Entropy (H)
Information measure in bits representing unpredictability.
Character set size (S)
Total distinct symbols assumed available.
Brute force
Trying every possible combination until a match.
Dictionary check
Test against common passwords to flag weak choices.
Guess rate
Attempts per second by an attacker model.
Slowdown factor
Multiplier that reduces effective guess rate.
CSV / JSON
Portable export formats for analysis and audit.