Most "random" password generators online just call Math.random() and hope for the best. This one draws every character from your browser's cryptographic RNG, guarantees the character mix you ask for without hiding it in predictable positions, and never sends a single byte anywhere — not even to us.

MojaLab · Security Bench

Password Generator

20
64 is the cap on purpose — NIST SP 800-63B asks systems to support at least 64 characters, so this is already past what most sites will accept.
Generating your first password…

How this actually works, for the curious

  • True randomness. Every character and every passphrase word comes from crypto.getRandomValues() — the Web Crypto API's cryptographically secure RNG, the same primitive browsers use to generate TLS keys. Not Math.random(), which is fast but was never designed to be unpredictable.
  • No modulo bias. Mapping a random byte onto, say, a 70-character alphabet the naive way (byte % 70) makes some characters land slightly more often than others. This tool uses rejection sampling instead — discarding the handful of byte values that would introduce that skew — so every character in the pool is exactly equally likely.
  • Guaranteed coverage, still random. Ask for lowercase + uppercase + numbers + symbols and the password is guaranteed to contain all four, without ever putting them in predictable positions: one character is drawn from each required set, the rest from the combined pool, and the whole thing is shuffled with a CSPRNG-driven Fisher–Yates shuffle.
  • Passphrases use BIP-39. The word list is the same 2048-word list cryptocurrency hardware wallets use for seed phrases — curated to avoid similar-looking or similar-sounding words, and sized to exactly 211, so picking a word needs no rejection sampling at all: mask 11 random bits and you're done, with mathematically zero bias.
  • Nothing leaves your device. This entire tool runs in your browser tab. No password, passphrase or setting is ever sent to a server, logged, or stored anywhere — not even locally. Close the tab and it's gone.

One honest caveat: the strength meter shows entropy — mathematical randomness — not a guarantee against every attack. Reusing a strong password across sites, or typing it into a phishing page, defeats all of this. Store what you generate here in a password manager, and turn on two-factor authentication wherever it's offered.