Password generator

Generate strong, random passwords. Everything runs in your browser — nothing is sent anywhere.

Security notePasswords are generated entirely in your browser using the Web Crypto API (crypto.getRandomValues). Nothing is transmitted to any server. We never see your passwords.

How long does a password need to be?

Password strength is measured in bits of entropy — the number of guesses an attacker must make, expressed as a power of two. Entropy depends on two things only: how many characters are in the pool, and how many characters you draw. The table below assumes an offline attack against a leaked password database at 100 billion guesses per second, which is realistic for fast hashes on rented GPUs.
LengthLetters + digitsAll four setsOffline crack time (all four sets)
848 bits52 bitsunder an hour
1060 bits66 bitsabout 8 hours
1271 bits79 bitsroughly 190 years
1695 bits105 bitsfar beyond any practical attack
20119 bits131 bitsfar beyond any practical attack
24143 bits157 bitsfar beyond any practical attack
The practical takeaway: 16 characters with mixed character sets is comfortably beyond brute force, and going longer costs you nothing when a password manager is doing the typing. Twelve is the modern floor. Eight has not been safe for over a decade.

Where the randomness comes from

This generator draws from crypto.getRandomValues(), the Web Crypto API, which is seeded by the operating system entropy pool — the same source that backs TLS key generation in your browser. It is a cryptographically secure pseudorandom number generator.

This matters more than it sounds. A great many password generators use Math.random(), which is fast but predictable: it is seeded from a small state that an attacker who sees a few outputs can reconstruct, letting them regenerate every other password produced in the same session. Anything generated with Math.random() should be treated as a placeholder, not a secret.

Complexity rules matter less than you were told

The familiar advice — one uppercase, one digit, one symbol, change it every ninety days — came from NIST guidance written in 2003. NIST formally withdrew it in Special Publication 800-63B, after evidence showed the rules pushed people toward predictable patterns. Forced symbols produce Password1!; forced rotation produces Password2! the following quarter.

Current guidance favours length over composition, screening against lists of known-breached passwords, and never expiring passwords on a schedule — only on evidence of compromise. A 16-character random string of nothing but lowercase letters is stronger than an 8-character password containing every character class.

What actually protects an account

Ranked roughly by how much risk each one removes:
PracticeWhy it matters
Never reuse a passwordCredential stuffing — replaying one breached password across many sites — is the single most common way accounts are taken over. Reuse turns one breach into all of them.
Use a password managerThe only realistic way to hold a hundred unique random passwords. It also resists phishing, because it will not autofill on a lookalike domain.
Turn on two-factor authenticationBlocks the attack even when the password is already known. A passkey or an authenticator app is materially stronger than SMS, which is vulnerable to SIM swapping.
Make length the priorityEvery extra character multiplies the search space. It is the cheapest strength you can buy.
Protect email above allEmail is the reset path for everything else. It deserves your longest password and your strongest second factor.

Passwords you have to type by hand

A random string is ideal when software types it for you, and miserable when you have to read it off a screen and type it into a phone or a TV. For the handful of credentials you genuinely memorise — your device login, your password manager master password — a passphrase of four to six random words is easier to handle and still very strong. Six words drawn randomly from a 7,776-word list gives about 77 bits of entropy, comparable to a 12-character random password, while remaining something you can actually recall and type. The critical word is random: words you choose yourself carry far less entropy than the count suggests, because human choices cluster.

Frequently asked questions

Are the generated passwords sent anywhere?

No. Generation happens entirely in your browser using the Web Crypto API. No password is transmitted, logged, or stored — we never see it. You can confirm this by disconnecting from the network: the tool keeps working.

Can the same password be generated twice?

In theory any random process can repeat, but at 16 characters the space is around 10^28 combinations. A collision is far less likely than a hardware failure, and there is no shared state between users.

How long should my password actually be?

Sixteen characters is a strong default for anything a password manager fills in. Use twelve as an absolute minimum, and go to twenty or more for email, banking and your password manager master password.

Should I include symbols?

Include them if the site accepts them — they widen the pool at no cost. But adding four characters of length buys more strength than adding symbols to a short password, so prioritise length if a site restricts what you can use.

Why did a site reject my generated password?

Some sites cap length or ban certain symbols. Reduce the length or uncheck symbols and regenerate. A site that caps passwords at 12–16 characters is usually storing them in a way it should not be.

Is a passphrase better than a random password?

It is better for anything you type by hand, and equivalent in strength at sufficient length. For passwords a manager fills in, a random string is shorter for the same strength.

How often should I change my password?

Only when there is reason to — a breach notification, a shared device, or a suspicion of compromise. NIST withdrew the scheduled-rotation advice because it drives predictable, incremental changes.

Related free tools

Base64 encoderQR code generatorJSON formatterSlug generator