100% on-device · nothing uploaded

Strong password generator

Choose a length and which characters to include, and get a strong random password made on your own device. It uses the browser’s cryptographic random generator, and nothing is ever sent anywhere.

How to use it

  1. Set the length and tick the character sets you want — lowercase, uppercase, numbers, symbols.
  2. A new password is generated instantly; the meter shows a rough strength estimate.
  3. Tap Copy, then paste it into your password manager.

Why Math.random would be a liability here

Math.random in V8 is xorshift128+, a fast non-cryptographic generator seeded once per context. Its 128-bit state can be recovered from a handful of consecutive outputs, after which every later value — and every earlier one — is predictable. Fine for shuffling a carousel, disqualifying for a credential. crypto.getRandomValues draws instead from the operating system’s cryptographic pool: getrandom(2) on Linux, BCryptGenRandom on Windows, the source that seeds TLS keys.

The second trap is turning random bytes into characters. Taking a byte modulo the alphabet length is the obvious approach and quietly wrong: 256 does not divide evenly by 94, so the first characters of the set appear marginally more often than the rest. Rejection sampling — discarding values that fall in the uneven tail and drawing again — removes the bias at no cost.

What the strength meter counts, and what it cannot see

Strength here is entropy: the base-2 logarithm of alphabet size raised to the length. Sixteen characters from the full 94-character printable ASCII set is roughly 105 bits; the same length in lowercase alone is 75. That arithmetic holds only because each character is chosen independently and uniformly — it assumes an attacker who knows the generator and the character set exactly and still has nothing better than brute force.

It says nothing about a password a person invented. Substitution patterns — a for @, o for zero, a digit and an exclamation mark at the end — have sat in cracking rulesets such as hashcat’s best64 for over a decade, so P@ssw0rd! falls in roughly the time password does. NIST SP 800-63B dropped composition rules and scheduled expiry in 2017 for exactly that reason.

Questions

Are these passwords safe to use?

Yes. They are generated with crypto.getRandomValues, the browser’s cryptographically secure random source — not the predictable Math.random — and they are created on your device and never transmitted.

Is the password sent anywhere?

No. It is generated entirely in your browser. There is no network request, no logging and no storage.

How long should a password be?

For accounts that matter, 16 characters or more with mixed character sets. Longer beats clever: length is the single biggest factor in strength.

Should I still use a password manager?

Yes — generate a unique password per site here and store them in a manager, so you never reuse one.

Updated 2026-07-20. Runs fully in your browser — nothing is uploaded.