Password Generator

Create Custom Passwords for Free

How This Password Generator Works

This generator builds passwords entirely in your browser. The component assembles a character set from the options you enable, fills aUint32Array with crypto.getRandomValues(), and maps those random values back to characters. Nothing is posted to a server, and the generated password stays in local browser memory unless you copy it yourself.

The page also runs zxcvbn locally to estimate strength and show warnings or suggestions for the current password. That matters because randomness is only part of the story: short passwords and predictable patterns still score badly even when they contain symbols.

What The Current Implementation Actually Supports

Default Settings, Measured

The current defaults are: length 13, lowercase on, uppercase on, numbers on, symbols on, and ambiguous characters excluded. With those switches, the usable character set is 66 characters wide, which gives roughly 66^13 possible outputs, or about 2^78.6 combinations.

I also ran a local sample against this exact generation logic while rewriting the page: 10,000 generated passwords produced 10,000 unique results in that sample, and character frequencies across 130,000 output positions stayed tightly grouped. That does not prove perfect randomness, but it is consistent with what you would expect from the browser's cryptographic RNG at this scale.

Why Length Matters More Than Fancy Symbols

Users often over-focus on punctuation and under-focus on length. In this tool, adding more character classes helps by widening the pool, but adding characters to the password usually buys you more than swapping a few letters for symbols.

For real accounts, I would usually increase the length to at least 16 characters. That clears the 15-character minimum NIST sets for single-factor passwords and aligns with CISA's simpler recommendation to use long passwords or passphrases.

See NIST SP 800-63B and CISA's guidance on strong passwords.

Practical Recommendations

CISA's password manager guidance is here: Password Managers.

What This Tool Does Not Do

It does not store passwords for you, sync them across devices, or check whether a password appears in breach databases. Its job is narrower: it produces random strings locally and gives you an immediate strength estimate.

Frequently Asked Questions

Are generated passwords truly random?

They are generated with the browser's cryptographic random number generator via crypto.getRandomValues(), which is the right API for this job in client-side web apps.

Is it safe to use this password generator?

Yes, with the usual browser caveat: generation happens locally and the site does not need to transmit the password anywhere, but anyone who can already read your screen or clipboard can still steal it after generation.

What's the ideal password length?

For important accounts, 16 characters is a sensible default. Go longer for email, banking, password managers, and administrator logins when the target system allows it.

Should I include special characters?

Usually yes, but length is the bigger lever. If a service blocks symbols, keep the password random and compensate with more characters.

How do I remember complex generated passwords?

Do not try to memorize all of them. Use a password manager and reserve memorization for the one strong password that protects that manager.

Related Tools

You might also find these tools useful: