Free Password Generator

Generate a strong, random password with this free password generator, right in your browser. Nothing you generate here is sent anywhere — it's created locally using your browser's cryptographically secure random number generator. Switch modes below for a passphrase you can remember, a pronounceable password, a PIN, or a username.

Length16
Custom requirements (optional)

One character from this set will be used as the first character.

One character from this set will be used as the last character.

None of these characters will ever appear, anywhere in the password.

Fixing a start or end character makes the password very slightly less random than full randomness — useful when a specific site requires it, not something to turn on by default. The entropy estimate accounts for this automatically.

Number of words4
Length12

Random digits only — no birthdays, repeats, or sequences.

 
 

 

How this is built and checked: every password, PIN, and username on this page is generated with crypto.getRandomValues(), the Web Crypto API's cryptographically secure random number source — not Math.random(), which isn't safe for this. The strength estimate is entropy-based (bits of randomness), following the general approach in NIST SP 800-63B, and is recalculated from the exact character pool and length you've selected, not a fixed lookup table. The "Recently generated" list keeps your last 5 results in this browser tab's memory only — it's never written to disk, never sent anywhere, and disappears the moment you close or refresh the page. The "Custom requirements" options under Random mode work by fixing one character at the start and/or end positions from the set you specify, then filling the rest randomly — the displayed entropy is recalculated to reflect that those positions carry less randomness than an unconstrained character would.

How it works

Random mode builds a password from whichever character classes you enable, guarantees at least one character from each selected class, and fills the rest by drawing uniformly from the combined pool. Memorable mode strings together unrelated common words, since a random passphrase of several words is genuinely harder to guess than it looks while staying easy to say out loud. Pronounceable mode alternates consonants and vowels into syllables that read like a made-up word. Every mode runs entirely in your browser tab.

Frequently asked questions

Is this password generator actually secure?

Yes. It uses the Web Crypto API's getRandomValues() function, which is built for security-sensitive randomness, rather than Math.random(), which is predictable enough that it shouldn't be used for anything you need to keep secret.

Does this site store or see the passwords I generate?

No. Generation happens entirely in your browser. Nothing is transmitted to a server, logged, or stored anywhere.

How long should my password be?

Longer is the single biggest factor in password strength. NIST's current guidance favors length over complexity requirements — 16 characters with a mixed character set is a reasonable baseline for most accounts today. See our full guide for more.

What's the difference between the modes?

Random mode maximizes entropy per character and is best when you'll store the password in a manager. Memorable and Pronounceable modes trade a little entropy for something you can actually type or say, useful for passwords you need to enter manually or share verbally.

Why would I want to force a specific start or end character?

Some signup forms and older systems require it — "must start with a letter," for example. It's a compatibility feature, not a security upgrade: fixing a character at a known position slightly reduces the total randomness compared to leaving every position open. Only use it when a specific site actually requires it.