Password Generator
Create strong random passwords with cryptographically secure randomness.
About the Password Generator
The passwords people invent follow patterns — a name, a year, an exclamation mark — and attackers' tools know every one of them. A randomly generated password has no pattern to exploit: cracking it means trying the full space of possibilities, and that space grows astronomically with length and character variety. A 16-character password drawn from all four character sets has more combinations than there are atoms in a human body; at any realistic guessing rate, it is simply out of reach.
This generator uses your browser's cryptographically secure random number generator (the same Web Crypto API that underpins TLS), not the predictable Math.random() many casual tools rely on, and applies rejection sampling so every character is chosen with exactly equal probability. It also guarantees at least one character from each set you tick, since some sites insist on it. Generation happens entirely on your device — the password never travels over the network, is never logged, and disappears when you leave the page.
Two habits make generated passwords practical. First, use a password manager: the whole point of random passwords is that they're unmemorable, and a manager remembers them for you — one strong master password protects the rest. Second, never reuse a password across sites; breaches at one service are replayed against others within hours. Sixteen characters is a sound default; go longer for email and banking, which unlock everything else.
Frequently asked questions
- How long should my password be?
- 16 characters with mixed character types is a strong default for most accounts. Use 20+ for high-value targets like your email and password manager. Below 12, modern hardware can brute-force surprisingly quickly.
- Is this generator really random?
- Yes — it uses crypto.getRandomValues, the browser's cryptographically secure generator, with rejection sampling to avoid bias. It does not use the predictable Math.random().
- Is my password sent to a server?
- No. Generation runs entirely in your browser; the password never leaves your device. Copy it into your password manager and close the page.
- Why did my password get rejected by a website?
- Some sites restrict which symbols they accept or cap the length. Regenerate with symbols off or a shorter length to fit their rules — and consider that such restrictions say something about the site's security hygiene.
Related tools
Compute SHA-1, SHA-256 and SHA-512 hashes of any text.
UUID GeneratorGenerate one or a hundred random v4 UUIDs with one click.
Base64 Encoder / DecoderConvert text to base64 and back — Unicode-safe, in your browser.
Word CounterCount words, characters, sentences and reading time as you type.