Generate strong, random passwords. Everything runs in your browser — nothing is sent anywhere.
crypto.getRandomValues). Nothing is transmitted to any server. We never see your passwords.| Length | Letters + digits | All four sets | Offline crack time (all four sets) |
|---|---|---|---|
| 8 | 48 bits | 52 bits | under an hour |
| 10 | 60 bits | 66 bits | about 8 hours |
| 12 | 71 bits | 79 bits | roughly 190 years |
| 16 | 95 bits | 105 bits | far beyond any practical attack |
| 20 | 119 bits | 131 bits | far beyond any practical attack |
| 24 | 143 bits | 157 bits | far beyond any practical attack |
crypto.getRandomValues(), the Web Crypto API, which is seeded by the operating system entropy pool — the same source that backs TLS key generation in your browser. It is a cryptographically secure pseudorandom number generator.Math.random(), which is fast but predictable: it is seeded from a small state that an attacker who sees a few outputs can reconstruct, letting them regenerate every other password produced in the same session. Anything generated with Math.random() should be treated as a placeholder, not a secret.Password1!; forced rotation produces Password2! the following quarter.| Practice | Why it matters |
|---|---|
| Never reuse a password | Credential stuffing — replaying one breached password across many sites — is the single most common way accounts are taken over. Reuse turns one breach into all of them. |
| Use a password manager | The only realistic way to hold a hundred unique random passwords. It also resists phishing, because it will not autofill on a lookalike domain. |
| Turn on two-factor authentication | Blocks the attack even when the password is already known. A passkey or an authenticator app is materially stronger than SMS, which is vulnerable to SIM swapping. |
| Make length the priority | Every extra character multiplies the search space. It is the cheapest strength you can buy. |
| Protect email above all | Email is the reset path for everything else. It deserves your longest password and your strongest second factor. |
No. Generation happens entirely in your browser using the Web Crypto API. No password is transmitted, logged, or stored — we never see it. You can confirm this by disconnecting from the network: the tool keeps working.
In theory any random process can repeat, but at 16 characters the space is around 10^28 combinations. A collision is far less likely than a hardware failure, and there is no shared state between users.
Sixteen characters is a strong default for anything a password manager fills in. Use twelve as an absolute minimum, and go to twenty or more for email, banking and your password manager master password.
Include them if the site accepts them — they widen the pool at no cost. But adding four characters of length buys more strength than adding symbols to a short password, so prioritise length if a site restricts what you can use.
Some sites cap length or ban certain symbols. Reduce the length or uncheck symbols and regenerate. A site that caps passwords at 12–16 characters is usually storing them in a way it should not be.
It is better for anything you type by hand, and equivalent in strength at sufficient length. For passwords a manager fills in, a random string is shorter for the same strength.
Only when there is reason to — a breach notification, a shared device, or a suspicion of compromise. NIST withdrew the scheduled-rotation advice because it drives predictable, incremental changes.