Password entropy — the real measure of strength
A password's strength is measured in bits of entropy — a mathematical measure of how unpredictable it is. Each bit of entropy doubles the number of guesses an attacker needs to try. A 20-character password using all character sets (uppercase, lowercase, numbers, symbols) has roughly 130 bits of entropy, making brute-force attacks computationally infeasible even with the most powerful hardware available today.
Length matters more than complexity. A 20-character lowercase-only password is far harder to crack than an 8-character password with special characters. The best strategy is to use both: long passwords with a diverse character set. This generator uses the browser's crypto.getRandomValues() API to ensure cryptographically secure randomness — the same quality of randomness used in encryption keys.
Why random generation matters — and what to avoid
Humans are notoriously bad at creating truly random passwords. We rely on patterns — keyboard walks like qwerty123, predictable substitutions like p@ssw0rd, or personal information like birthdays and pet names. Attackers know all of these patterns and factor them into their cracking strategies. A password that feels random to you is often far less random than a string generated by a cryptographically secure random number generator.
This tool uses your browser's crypto.getRandomValues() API — the same cryptographic randomness used by security software — to generate passwords. Each character is selected independently with uniform probability from the chosen character set. The result is a password with the maximum possible entropy for its length, and no predictable patterns an attacker could exploit. Never generate passwords with tools that send data to a server; always verify that generation is truly client-side.