Cryptographic randomness
Uses crypto.getRandomValues, not Math.random(). The distinction is the whole point: Math.random is a predictable pseudorandom generator unsuitable for anything security-related.
Create strong, cryptographically random passwords entirely on your device.
Loading tool…
The tool is loading its code on your device. This happens once and is cached for later visits.
Processed entirely on your device
Overview
Generate strong random passwords free. Cryptographic randomness, adjustable length and character sets, entropy and strength readout, and passphrase mode.
Password generation is one of the few security tasks where the tool matters as much as the intent. A long, random, unique password defeats essentially every credential attack that does not involve phishing or a breached database — and both of those are better solved by a password manager and two-factor authentication than by a cleverer password.
Math.random() in JavaScript is a pseudorandom number generator seeded from the system clock. It is fast, it passes casual statistical tests, and it is completely unsuitable for security: an attacker who observes enough output can recover the internal state and predict everything that follows.
crypto.getRandomValues() draws from the operating system's entropy pool — the same source used for TLS session keys and SSH key generation. It is not predictable, not reproducible and not observable from another origin. This tool uses it exclusively, and applies rejection sampling so that the modulo bias introduced by mapping random bytes onto a character set is eliminated rather than merely reduced.
bits = length × log2(poolSize)The pattern worth noticing: moving from 12 to 16 characters gains more than adding every symbol on the keyboard to a 12-character password. Length is the dominant lever.
Offline cracking. An attacker obtains a hash dump and tries candidates at billions per second on a GPU. This is where entropy matters most, and where short passwords fail catastrophically — a fast hash like MD5 or SHA-1 lets an 8-character mixed password fall in hours.
Credential stuffing. An attacker replays username-and-password pairs leaked from other breaches. Entropy is irrelevant; uniqueness is everything. This is why reusing a strong password is worse than using a mediocre unique one.
Phishing. The password is handed over voluntarily. Neither length nor complexity helps. A hardware security key or a passkey does.
Database compromise with correct hashing. If the service uses bcrypt, scrypt or Argon2 with proper parameters, offline cracking is expensive even for moderate passwords. If it uses SHA-256, a 40-character password may still fall.
The diceware approach picks N words at random from a numbered wordlist. With the standard 7776-word list, each word contributes log2(7776) ≈ 12.9 bits:
Word order matters, and so does randomness: choosing six words yourself produces dramatically less entropy than six words drawn by dice, because human word choice is highly predictable.
Generate unique passwords everywhere and store them in a password manager. Make the manager's own master key a long passphrase you can remember and never wrote down. Enable a second factor — preferably a passkey or hardware key, not SMS — on any account where losing access would hurt. Then stop thinking about passwords, which is the point of the exercise.
Step by step
Set a length — 16 characters is a good default, 20 or more for anything important.
Choose which character sets to include: uppercase, lowercase, digits and symbols.
Decide whether to exclude visually ambiguous characters such as l, 1, I and O.
Press Generate; the password comes from your browser's cryptographic RNG.
Copy it straight into your password manager, and regenerate until one satisfies any site-specific rules.
Why use it
What this tool is good for, and what it deliberately does not try to do.
Uses crypto.getRandomValues, not Math.random(). The distinction is the whole point: Math.random is a predictable pseudorandom generator unsuitable for anything security-related.
Reports the real entropy of the generated password so you can see the difference a few extra characters or one more character set actually makes.
Generates diceware-style word sequences that are far easier to type and remember at equivalent strength — the right choice for a master password.
No network request is made at any point. A generated password cannot be logged, intercepted or stored by anyone, because it never leaves the tab.
Questions
Short, honest answers about quality, limits and privacy.