Password Crack Time Estimator
Estimate how long it would take to crack your password via brute-force attack.
How estimates work
Crack time is estimated by dividing total combinations by hash rate. Consumer GPUs achieve ~10 billion hashes/sec for MD5/SHA-1, while CPUs achieve ~1 million. Real-world times may vary based on hash algorithm complexity.
Introduction
How long would it take to crack your password? Not in theory — with actual hardware. The Password Crack Time Estimator calculates real-world crack times using current GPU capabilities, from a single consumer graphics card to a nation-state-level cluster. It accounts for attack type (online rate-limited vs. offline brute-force), hash algorithm (MD5, SHA-256, bcrypt), and hardware scale. This is the number your security team needs to see.
What This Tool Does
A password crack time estimator is a tool that converts password entropy into concrete time estimates under realistic attack scenarios. It models three hardware scales (single consumer GPU, 8-GPU mining rig, 100-rig nation-state cluster), seven hash algorithms (MD5, SHA-1, SHA-256, SHA-512, bcrypt, scrypt, Argon2), and two attack types (online rate-limited at 100 guesses/second, offline unlimited at billions of guesses/second). The output shows both average-case (searching half the space) and worst-case (exhausting the full space) crack times, enabling security professionals to make informed decisions about password requirements, hash algorithm selection, and infrastructure investment.
Why It Matters
Knowing your password has '105 bits of entropy' is meaningless without context. The actual question is: how long would it take an attacker to crack it with the hardware they can access? A 12-character password might take 3 hours on a single GPU or 3 billion years on a national lab cluster — the answer depends entirely on the attack scenario. The Crack Time Estimator translates abstract entropy into concrete timelines that security professionals, system administrators, and individual users can actually use to make informed decisions about password requirements and storage methods.
How It Works
The estimator calculates entropy from the password (L × log₂(R)), then computes combinations as 2^entropy. It divides by the guessing speed for the selected hash algorithm and hardware scale. MD5: ~63 billion guesses/second per GPU (Hashcat benchmarks). SHA-256: ~13 billion/second. bcrypt (cost 12): ~11,000/second — 5.7 million times slower than MD5. Argon2id: ~5,000/second — 12.6 million times slower. For online attacks, the speed is capped at 100 guesses/second by rate limiting. Average case assumes searching half the space; worst case assumes exhaustive search. Results are formatted in human-readable time units from instant to centuries.
A matrix diagram showing crack times across three axes: password length (8-24 chars) × hash algorithm (MD5, SHA-256, bcrypt, Argon2) × hardware scale (single GPU, 8-GPU rig, 100-rig cluster). Color coding: green = >100 years (secure), yellow = 1-100 years (marginal), red = <1 year (insecure). Side panel shows hash algorithm speed comparison: MD5 fastest, Argon2 slowest.
Step-by-Step Examples
Enter a 16-character random password: 'aK9$mPx2#nLq!vR7@'
The tool calculates 105.1 bits of entropy (4.1 × 10³¹ combinations)
Online attack at 100 guesses/sec: 1.3 × 10²² years (rate-limited web login)
Offline GPU cluster at 1 trillion guesses/sec: 1.3 × 10⁹ years (bcrypt hash of leaked database)
Online (100/s): 1.3 × 10²² years. Single GPU (1B/s): 1.3 × 10¹² years. GPU cluster (1T/s): 1.3 × 10⁹ years. Nation-state (100T/s): 1.3 × 10⁷ years.Enter the same password for MD5, SHA-256, and bcrypt scenarios
MD5: ~100 billion hashes/sec on a single GPU — fastest to crack
SHA-256: ~20 billion hashes/sec on a single GPU — 5x slower than MD5
bcrypt (cost 12): ~30,000 hashes/sec — 3.3 million times slower than MD5
Same password, different hash algorithms: MD5 takes 6.5 years (single GPU), SHA-256 takes 32.5 years, bcrypt (cost 12) takes 21.7 million years. Hash algorithm choice matters enormously.Code Examples
function estimateCrackTime(password, options = {}) {
const { hashType = 'md5', attackType = 'offline', hardwareScale = 'single-gpu' } = options;
let poolSize = 0;
if (/[a-z]/.test(password)) poolSize += 26;
if (/[A-Z]/.test(password)) poolSize += 26;
if (/[0-9]/.test(password)) poolSize += 10;
if (/[^a-zA-Z0-9]/.test(password)) poolSize += 33;
const entropy = password.length * Math.log2(poolSize);
const combinations = Math.pow(2, entropy);
const speeds = {
md5: { 'single-gpu': 6.3e10, '8-gpu': 5e11, 'cluster': 5e12 },
sha256: { 'single-gpu': 1.3e10, '8-gpu': 1e11, 'cluster': 1e12 },
bcrypt12: { 'single-gpu': 1.1e4, '8-gpu': 8.8e4, 'cluster': 8.8e5 },
argon2: { 'single-gpu': 5e3, '8-gpu': 4e4, 'cluster': 4e5 }
};
const guessesPerSec = attackType === 'online' ? 100 : (speeds[hashType]?.[hardwareScale] || 6.3e10);
const avgTimeSeconds = (combinations / 2) / guessesPerSec;
return {
entropyBits: entropy.toFixed(1),
combinations: combinations.toExponential(2),
avgCrackTime: formatTime(avgTimeSeconds),
hashType, attackType, hardwareScale
};
}
function formatTime(seconds) {
if (seconds < 1) return 'instant';
if (seconds < 60) return seconds.toFixed(0) + ' seconds';
if (seconds < 3600) return (seconds / 60).toFixed(0) + ' minutes';
if (seconds < 86400) return (seconds / 3600).toFixed(0) + ' hours';
if (seconds < 31536000) return (seconds / 86400).toFixed(0) + ' days';
return (seconds / 31536000).toExponential(1) + ' years';
}
console.log(estimateCrackTime('k9mP2xNq7rL4vW8y', { hashType: 'bcrypt12', hardwareScale: 'cluster' }));
// { avgCrackTime: "1.3 × 10⁹ years" }function compareAttackScenarios(password) {
const scenarios = [
{ name: 'Online (rate-limited)', hashType: 'md5', attackType: 'online' },
{ name: 'Offline MD5 (single GPU)', hashType: 'md5', attackType: 'offline', hardwareScale: 'single-gpu' },
{ name: 'Offline MD5 (8-GPU rig)', hashType: 'md5', attackType: 'offline', hardwareScale: '8-gpu' },
{ name: 'Offline bcrypt (cluster)', hashType: 'bcrypt12', attackType: 'offline', hardwareScale: 'cluster' },
{ name: 'Offline Argon2 (cluster)', hashType: 'argon2', attackType: 'offline', hardwareScale: 'cluster' }
];
return scenarios.map(s => ({
scenario: s.name,
...estimateCrackTime(password, s)
}));
}GPU Cracking Speeds by Hash Algorithm
| Algorithm | Single GPU (hashes/sec) | 8-GPU Rig | 100-Rig Cluster | Relative Speed |
|---|---|---|---|---|
| MD5 | 63 billion | 500 billion | 5 trillion | Fastest (baseline) |
| SHA-1 | 20 billion | 160 billion | 1.6 trillion | 3x slower than MD5 |
| SHA-256 | 13 billion | 100 billion | 1 trillion | 5x slower than MD5 |
| SHA-512 | 8 billion | 64 billion | 640 billion | 8x slower than MD5 |
| bcrypt (cost 10) | 45,000 | 360,000 | 3.6 million | 1.4 million x slower |
| bcrypt (cost 12) | 11,000 | 88,000 | 880,000 | 5.7 million x slower |
| Argon2id (t=3, m=64MB) | 5,000 | 40,000 | 400,000 | 12.6 million x slower |
| scrypt (N=16384) | 10,000 | 80,000 | 800,000 | 6.3 million x slower |
Crack Time by Password Length (MD5, 8-GPU rig at 500B/s)
| Length | Lowercase (26) | Mixed Case (52) | Alphanumeric (62) | Full ASCII (95) |
|---|---|---|---|---|
| 8 | 0.17 seconds | 1.8 seconds | 4.1 seconds | 13 seconds |
| 10 | 11 seconds | 3.5 minutes | 17 minutes | 2.1 hours |
| 12 | 4.7 minutes | 5.7 hours | 1.3 days | 86 days |
| 14 | 3.2 hours | 12.4 days | 1.7 years | 224 years |
| 16 | 8.4 days | 880 years | 27,000 years | 1.0 × 10⁷ years |
| 20 | 57 years | 1.9 × 10⁷ years | 1.7 × 10¹⁰ years | 2.7 × 10¹³ years |
Benefits
- Estimates crack times for 7 different hash algorithms: MD5, SHA-1, SHA-256, SHA-512, bcrypt, scrypt, and Argon2.
- Models 3 hardware scales: single consumer GPU, 8-GPU mining rig, and 100-rig nation-state cluster.
- Separates online (rate-limited) and offline (unlimited) attack scenarios for realistic threat assessment.
- Shows how hash algorithm choice impacts crack time — bcrypt can make a password millions of times harder to crack than MD5.
- Provides both average-case and worst-case crack time estimates for comprehensive risk assessment.
Use Cases
Evaluating whether your password storage method (MD5, bcrypt, Argon2) provides adequate protection against offline attacks.
Setting password policy minimums based on realistic hardware capabilities rather than arbitrary rules.
Justifying infrastructure investment in stronger hash algorithms by showing concrete crack time improvements.
Assessing the risk of credential database breaches by estimating how long leaked passwords remain secure.
Common Mistakes to Avoid
Assuming MD5-hashed passwords are safe because they look like random strings — MD5 can be brute-forced at 63 billion guesses/second per GPU.
Focusing only on online attack speeds (100/s) while ignoring that breached databases enable offline attacks at billions of guesses/second.
Believing that 8-character passwords provide adequate security — even with full character pools, they're crackable in under 9 hours on a single GPU.
Ignoring hash algorithm choice — the difference between MD5 and Argon2 is a factor of 12.6 million in crack time for the same password.
Security Implications
The crack time of a password depends entirely on how it's stored and what attack scenario applies. Online attacks are limited to ~100 guesses/second by rate limiting, making even moderate passwords resistant. But offline attacks against breached databases can achieve billions of guesses/second. A 12-character random password hashed with MD5 takes 55,000 years to crack on a single GPU but only 550 years on a cluster. The same password hashed with bcrypt (cost 12) takes 350 million years on a cluster. The hash algorithm choice is as important as the password itself.
Security Information
All calculations run locally. Crack time estimates are based on published Hashcat benchmarks and academic research on GPU cracking speeds. The estimates assume optimal attack configurations — real-world performance may vary based on system constraints. The tool is designed to show relative differences between algorithms and hardware scales, not absolute guarantees.
Best Practices
- Use bcrypt (cost 12+) or Argon2id for password storage — they are millions of times slower to crack than MD5.
- Require 12+ character passwords to ensure resistance against offline GPU attacks even with weak hash algorithms.
- Implement rate limiting on online login attempts to limit attackers to ~100 guesses/second.
- If your system uses MD5 or SHA-1 for password hashing, migrate to bcrypt or Argon2 immediately — this is a critical security vulnerability.
- Use the offline attack estimates, not online estimates, when evaluating password security — breaches enable offline attacks.
Frequently Asked Questions
References & Further Reading
What is Password Crack Time Estimation?
Password crack time estimation calculates how long it would take an attacker to guess your password using brute-force attacks. This metric provides a practical understanding of your password's security by translating abstract entropy bits into tangible timeframes. A strong password should take billions of years to crack, while a weak one can be broken in seconds.
Our estimator considers the password's length, character set diversity, and assumes a realistic attack scenario with modern hardware. It uses the formula: time = total_combations / guesses_per_second. The result shows crack times for different attack speeds, from online throttled attacks to offline GPU-accelerated attacks.
How Crack Time Calculations Work
The crack time is calculated by determining the total number of possible combinations (search space) and dividing by the attacker's guessing rate. For a password with n characters from a pool of c possible characters, the search space is c^n. For example, an 8-character password with lowercase letters (c=26) has 26^8 = 208 billion combinations.
Attack Speed Assumptions: We model three scenarios: (1) Online attack at 100 guesses/second (throttled by network), (2) Offline attack at 10 billion guesses/second (modern GPU cluster), (3) Nation-state attack at 1 trillion guesses/second (massive distributed computing).
The estimator assumes worst-case scenarios for the attacker, meaning the actual time to crack would be at least as long as shown. Real-world attacks may be slower due to additional security measures like account lockout, rate limiting, and salting.
Why Crack Time Estimation Matters
Password Selection: When choosing between multiple password options, crack time estimation helps you select the one that provides the best security. A password that takes centuries to crack is clearly superior to one that takes minutes.
Security Awareness: Understanding crack times helps users appreciate why password length and complexity matter. Seeing that "password123" can be cracked in 0.0001 seconds while "Tr0ub4dor&3" takes 3 years makes the importance of strong passwords concrete.
Compliance Requirements: Some security standards specify minimum crack time requirements. Estimating crack times helps ensure your passwords meet these regulatory requirements.
Risk Assessment: Security teams use crack time estimation to assess the risk level of compromised credentials. If a leaked password has a crack time of 10,000 years, the risk is lower than if it can be cracked in 10 seconds.
Crack Time Estimation Mistakes
Ignoring Attack Type: Online attacks are throttled by network speed and rate limiting, making them much slower than offline attacks. If an attacker has your password hash (from a breach), they can crack it offline at billions of guesses per second. Always consider the offline attack scenario.
Overestimating Security: A crack time of "100 years" assumes the attacker is using current technology. Moore's Law means computing power doubles roughly every 2 years. A password that takes 100 years today might take only 10 years in a decade.
Not Considering Dictionary Attacks: Brute-force crack times assume the attacker tries every possible combination. Dictionary attacks against common passwords are much faster. "password" can be cracked instantly regardless of its brute-force crack time.
Ignoring Salting: Salting makes each password unique, preventing rainbow table attacks. Our estimator assumes the attacker is performing a brute-force attack against a single unsalted hash. Salted hashes are much harder to crack in bulk.
Related Password Security Tools
Explore these complementary password analysis tools:
- Password Entropy Calculator — Calculate the entropy bits that determine crack time.
- Password Strength Checker — Get an overall strength assessment.
- Password Character Analyzer — Analyze your password's character composition.
- Password Statistics — Get comprehensive password statistics.
- Password Generator — Generate strong passwords with high crack times.