Developer Tools

Password Generator

Character classes

A password is only truly secure if it's impossible to guess — not by a human, and not by software trying millions of combinations per second. This generator creates random passwords using your browser's Web Crypto API (crypto.getRandomValues()), the same source browsers use for cryptographic keys. Choose a length between 8 and 64 characters and which character classes to include — lowercase, uppercase, numbers, and symbols. The generator guarantees that every selected character type appears at least once, so you never end up with a 'strong' password that happens to contain only digits. Everything happens locally in your browser: nothing is sent to a server, nothing is logged, and nothing is stored.

What people use this for

  • K7$mPx9!qLd2Wn4Z
  • r@8Tn!Fy3Vc#zQ1m
  • 9Xw&Bh2Kp$eR5uJ7

What others think of this tool

No reviews for this tool yet. Yours would be the first.

Frequently asked questions

Why does this tool use crypto.getRandomValues() instead of Math.random()?

Math.random() is a pseudo-random generator optimized for speed, not unpredictability — with enough output, its internal state can sometimes be reconstructed, after which every subsequent 'random' value becomes predictable. That's unacceptable for passwords: an attacker who cracks the pattern effectively cracks your entire generator. crypto.getRandomValues() draws its entropy from your operating system's cryptographically secure random number generator — the same source used for encryption keys and TLS connections. By design, it cannot be reconstructed from earlier output. This tool therefore uses only crypto.getRandomValues(), never Math.random(), for every character in the password.

Are my generated passwords stored or sent anywhere?

No. Generation happens entirely locally in your browser — no network request is made once the page has loaded, so a generated password never leaves your device. Westcube logs nothing, stores nothing, and has no way to see which password you generated. Close the tab without copying it, and the password is gone for good.

Why does the generator guarantee at least one character from every selected class?

Picking purely at random from a large combined character set can statistically end up omitting a character class entirely — for example a 'password with symbols' that happens to contain none. Many systems explicitly require at least one uppercase letter, digit, and symbol, so a password missing a selected class would sometimes get rejected. This generator therefore forces every checked character type to appear at least once, filling the rest of the length randomly from all selected classes combined — the order is then reshuffled randomly so the required characters aren't predictably placed at the start.

How long should my password be?

Longer is almost always better: every extra character multiplies the number of possible combinations. For most accounts, 16 characters with all four character classes is a solid default — that's also this tool's default setting. For critical accounts (your password manager, email, financial services), 20-32 characters is wiser. Use a unique password for every account and store them in a password manager — memorizing a long, random password isn't realistic for humans, and it doesn't need to be.