Password Generator

Generate strong random passwords locally in your browser using cryptographic randomness — choose length, symbols, numbers and case. Nothing is sent anywhere.

How this generator works

Every password is built locally in your browser from crypto.getRandomValues, the same cryptographically secure random source used for encryption keys — not Math.random(), which is predictable. The password is only ever displayed as output: it is never transmitted, never stored, and never written into the page URL, so nothing about it can leak through your history, bookmarks or analytics.

Two details matter for unbiased, well-formed passwords. First, rejection sampling: picking "random number modulo pool size" subtly favours the first characters of the pool, so this generator discards random draws that would introduce that bias and draws again — every character in the pool is exactly equally likely. Second, guaranteed coverage: one character is drawn from each set you selected, the rest are drawn from the combined pool, and the result is shuffled with a Fisher–Yates shuffle (also fed by secure randomness). You will never get a "symbols required" rejection from a site because the symbol happened not to appear.

Worked example

With the defaults — 16 characters from lowercase (26), uppercase (26), numbers (10) and symbols (27) — the pool is 89 characters, giving 16 × log₂(89) ≈ 104 bits of entropy. That is about 10³¹ possible passwords: at a trillion guesses per second, exhausting them would take longer than the age of the universe.

Reading the strength label

Frequently asked questions

Is it safe to generate a password in a browser?
Yes, on this page. The password is produced locally with the Web Crypto API (crypto.getRandomValues) — a cryptographically secure random source — and is never sent to any server, stored, or added to the page URL.
What is password entropy?
Entropy measures unpredictability in bits: length × log₂(pool size). Each extra bit doubles the number of guesses an attacker needs. 60+ bits resists online attacks comfortably; 80+ bits is strong even against fast offline cracking.
How long should my password be?
For accounts protected by a password manager, 16+ random characters from all four sets (~100 bits) is excellent. For a master password you must memorise, consider a long passphrase of 5–6 random words instead.
Why exclude look-alike characters?
The characters 0, O, 1, l and I are easily confused when read or typed from paper or a screen. Excluding them slightly reduces the pool (and the entropy) but makes the password much easier to transcribe accurately.
Should I use the same password on two sites?
Never. If one site is breached, attackers immediately try the same email/password pair everywhere else ("credential stuffing"). Generate a unique password per site and keep them in a password manager.