Test Which Attack Your Password Must Survive

Check your password's entropy above, then decide whether it only needs to survive online throttling or the far harsher math of an offline attack against a stolen hash.

ZERO UPLOAD · ALL LOCAL
  1. Type or paste a password into the input field — strength updates instantly as you type.
  2. Check the entropy bits and strength tier in the meter below the input.
  3. Review the crack time table to see how long each attack scenario would take against your password.
  4. Read the feedback panel for specific suggestions if zxcvbn detected patterns or weaknesses.
  5. Use the eye icon to unmask the password if you need to review what you typed.

Online vs. offline guess rates

  • ~100 guesses/hour
  • ~300 billion guesses/second on an RTX 4090
  • ~1,560 guesses/second on the same GPU
  • ~190 million times slower under bcrypt than NTLM

The password doesn't change between scenarios — only the threat model does. A breach converts an online-throttled password into an offline target overnight.

Type or paste a password to analyse its strength.

Length
Character pool
Entropy
Pattern
Attack Scenarios GPU times assume raw brute-force of a stolen hash. Online times use pattern-aware estimation against a live service.
GPU — Fast Hash (NTLM, MD5) Est. crack time
RTX 4070 Ti Super 155 GH/s · 16 GB GDDR6X
RTX 5070 175 GH/s · 12 GB GDDR7
RTX 4090 300 GH/s · 24 GB GDDR6X
RTX 5090 410 GH/s · 32 GB GDDR7
GPU — Slow Hash (bcrypt cost 12 / Argon2id) Est. crack time
RTX 4070 Ti Super 740 H/s * · 16 GB GDDR6X
RTX 5070 670 H/s * · 12 GB GDDR7
RTX 4090 1,440 H/s * · 24 GB GDDR6X
RTX 5090 2,380 H/s * · 32 GB GDDR7
Online Attack Est. crack time
Throttled 100 guesses/hour — rate-limited login service
Unthrottled 10 guesses/second — no rate limiting

* bcrypt and Argon2id are deliberately slow password hashes, so their crack times depend entirely on the cost factor a site configures. These rates assume bcrypt at cost factor 12, a conservative legacy setting. OWASP's current guidance prefers Argon2id for new systems and lists bcrypt as a legacy fallback with a work factor of 10 or more. Published hashcat v6.2.6 benchmarks measure bcrypt at cost factor 5 (RTX 4090 at 184 kH/s, RTX 5090 at 305 kH/s); each step up the cost factor doubles the work, so cost 12 runs 128 times slower than the benchmark default. The RTX 4090 and RTX 5090 figures divide those benchmarks by 128, while the RTX 4070 Ti Super and RTX 5070 figures are scaled from their SM and core counts. Sources: hashcat RTX 4090, hashcat RTX 5090, and the OWASP Password Storage Cheat Sheet.

Test Which Attack Your Password Actually Needs to Survive

Check your password's entropy above, then decide which threat model actually applies to it: a hundred guesses an hour versus roughly three hundred billion guesses a second is the realistic gap between an online and an offline brute-force attack against the exact same password. An online attack submits guesses directly to a live login service, one at a time, constrained by whatever rate limiting and lockout policy that service enforces. An offline attack works against a password hash an attacker has already obtained, typically from a data breach, with no network round-trip and no rate limit standing in the way beyond raw compute power.12 The same password can survive one attack type indefinitely while falling to the other in seconds, which is why deciding which threat model applies to your situation matters more than staring at the entropy score in isolation.

What defines an online attack

An online attack submits login attempts through the same interface a real user would use, a website's login form or an API endpoint, and every attempt costs the attacker network round-trip time plus whatever delay the service imposes. NIST identifies throttling as the primary defense against this attack type, and a typical throttled policy might allow only around 100 guesses per hour before triggering a lockout or a CAPTCHA challenge.1

Under that constraint, even a password with modest entropy can survive indefinitely, since the attacker's guess budget is the bottleneck, not the size of the keyspace. A service with no throttling at all, however, collapses this advantage entirely, turning what should be an online attack into something closer to an unthrottled guessing race.

Why rate limits shrink the attacker's timeline to years rather than minutes

Rate limiting turns online attack defense from a password strength problem into a policy problem. A service that allows only around a hundred guesses per hour before locking out or challenging the requester makes even a weak password effectively impossible to enumerate, because the attacker's timeline stretches from seconds to years or longer. That protective effect disappears when the backend does not enforce throttling or when the attacker rotates through enough source IP addresses to avoid per-account lockouts, which is why no single entropy number can tell the full story for an online-facing password.

What defines an offline attack

An offline attack starts after an attacker has already obtained a password hash, most often through a database breach, and runs entirely on the attacker's own hardware with no rate limit at all. A single consumer GPU like an RTX 4090 can test roughly 300 billion NTLM or MD5 hashes per second, a rate that turns a modest keyspace into a target crackable within hours rather than years.2

Why the hashing algorithm decides the outcome here

A slow, deliberately expensive hash function like bcrypt changes this picture dramatically. The same RTX 4090 running bcrypt at cost factor 12 manages only around 1,560 hashes per second, roughly 190 million times slower than its NTLM rate.3 Offline attack resistance depends jointly on your password's entropy and the hashing algorithm the breached service chose, a variable entirely outside your control as a user.

From the user's perspective this split matters most when deciding how much entropy a password needs: a password that only needs to resist online guessing does not have to be especially long, because throttling caps the attacker's budget, but the same password protecting something worth a breach will eventually face an offline environment where only raw entropy and the server's hash choice determine survival.

Why the same password can be safe in one scenario and trivial in the other

A modest, moderately common password behind strict online throttling can go untested for years, simply because the attacker never gets enough guesses to reach it. That same password, if the service storing it suffers a breach and used a fast, unsalted hash, can fall in well under a second once the hash reaches an attacker's GPU. The password did not change; the threat model did.

Conversely, a very high-entropy password offers little extra protection against online throttling, since the attacker was already limited to a handful of guesses regardless of keyspace size, but it offers enormous protection if the storage backend is ever breached. Because you cannot control which scenario you will eventually face, treating every password as if it might someday be attacked offline, favoring length and a unique value per site, is the only strategy that holds up under both threat models at once, since the offline crack-time math behind a stolen hash rewards genuine randomness in a way that throttling policy alone never has to.4

The mirror-image choice facing service operators

Service operators face the mirror version of this same choice. Investing in a slow hashing algorithm costs almost nothing at login time, since a legitimate user only ever hashes their password once per attempt, but it multiplies the cost of every single guess an attacker makes after a breach, which is exactly where the real economic tradeoff between the two threat models plays out and why the choice matters long after a breach has already happened.5

When to use this

Use the entropy checker above alongside this framework to decide how much entropy a specific password actually needs. A password behind strict lockout policies and no history of breaches leans more on throttling than raw entropy; a password protecting something valuable enough to be a breach target should be built to survive an offline attack regardless of the service's own defenses.

Examples

Logging into a banking app that locks you out after 5 failed attempts

Throttling does most of the defensive work here. A reasonably strong, unique password is sufficient because the online guess budget is tiny.

A password reused across a personal account and a company system that later suffers a breach

Once the hash is stolen, throttling no longer applies. Only the password's own entropy and the breached service's hashing algorithm determine how long it survives.

Sources
  1. 1.

    NIST, "Strength of Passwords," SP 800-63-4, pages.nist.gov, accessed July 2026. https://pages.nist.gov/800-63-4/sp800-63b/passwords/

  2. 2.

    Francisco Pires, "One RTX 4090 Is Faster at Password Cracking Than Three 6900XTs, Eight 1080s," tomshardware.com, October 2022. https://www.tomshardware.com/news/rtx-4090-password-cracking-comparison

  3. 3.

    Hashcat, "Hashcat Benchmarks," hashcat.net, accessed July 2026. https://hashcat.net/benchmark/

  4. 4.

    NIST, "Strength of Memorized Secrets (Appendix A)," SP 800-63B, github.com/usnistgov, accessed July 2026. https://github.com/usnistgov/800-63-3/blob/nist-pages/sp800-63b/appA_memorized.md

  5. 5.

    IETF, "Argon2 Memory-Hard Function for Password Hashing," RFC 9106, rfc-editor.org, September 2021. https://www.rfc-editor.org/rfc/rfc9106

FAQ