Password Generator
Generates a random password using your browser's cryptographically secure random number generator (not a weaker pseudo-random one) — nothing is ever sent to a server, and nothing is stored.
Options
Why this uses crypto.getRandomValues instead of Math.random
JavaScript's ordinary Math.random() is not cryptographically secure — its output can, in principle, be predicted, which makes it unsuitable for anything security-sensitive like a password. This tool uses the Web Crypto API's crypto.getRandomValues() instead, which draws from your operating system's secure random number source, the same standard used by password managers.
Yes, in terms of the randomness itself — nothing is transmitted anywhere, and the generation happens entirely on your device using a secure source. That said, for passwords you'll reuse often, a dedicated password manager is still worth using so you don't have to remember or retype them.
Most current guidance recommends at least 12–16 characters with a mix of character types for important accounts — longer is generally better than more complex, since length has a bigger effect on how hard a password is to guess.
Characters like 0/O or l/1/I can look identical in some fonts, which matters if you'll be reading the password aloud or typing it from a printout rather than copy-pasting it.