How to Use This Tool
Password strength meters that show a coloured bar are measuring the wrong thing. They inspect the password you typed and guess how hard it looks. What actually determines security is how many equally likely passwords the process could have produced — and that is a number you can calculate exactly, provided the generator is genuinely random. This tool generates from your browser's cryptographic random source and reports that number in bits.
Random string mode
Set a length and choose which character classes to include. The entropy figure updates immediately using
bits = length × log₂(pool size). Every character added at a 94-symbol pool is worth
about 6.55 bits, which is why length beats complexity: going from 12 to 16 characters adds far more
security than adding one symbol to a 12-character password.
Two options are worth understanding. No 0/O, 1/l/I removes visually ambiguous characters, which is genuinely useful for anything a human will read off a screen and type elsewhere. It costs a small amount of entropy, and the readout accounts for it. No repeats forbids the same character appearing twice; it feels safer and is in fact very slightly weaker, because it removes possibilities from the space. The tool calculates the reduced entropy honestly rather than pretending otherwise.
Passphrase mode
Passphrases trade character density for memorability. The word list here holds 585 curated, easily typed words, so each word contributes about 9.2 bits. Six words gives roughly 55 bits and seven gives about 64 — strong enough for most accounts and vastly easier to type on a phone or a games console than a 20-character symbol soup. The exact figure is computed from the real list length rather than a rounded claim, so the readout moves as you add words.
Add words rather than adding punctuation. Each extra word is worth another 9.2 bits, while capitalising the first letter of every word is worth almost nothing, because an attacker assumes that pattern before they assume anything else.
Reading the crack times
The four estimates assume an offline attack: the attacker has stolen a password database and is guessing at full speed against the hashes. They range from a single high-end GPU to a well-funded operation running purpose-built hardware. Online attacks against a live login form are thousands of times slower because of network latency and rate limiting, so if a password survives the offline column it is comfortable everywhere else.
The rough working thresholds: below 50 bits is weak for anything that matters; 60–70 bits is reasonable for an ordinary account behind rate limiting; 80 bits and above is appropriate for a password manager master password, a disk encryption key, or anything whose compromise cascades. Above about 120 bits the difference stops mattering, because nobody is brute-forcing that in this universe.
Where the randomness comes from
Every value is drawn from crypto.getRandomValues(), the browser's cryptographically secure
generator, using rejection sampling to avoid the modulo bias that a naive implementation introduces. No
password is transmitted, logged or stored, and reloading the page leaves no trace of what was generated.