Developer Tools

Free Password Generator

Create cryptographically secure random passwords or memorable Diceware-style passphrases. Adjustable length, custom character classes, entropy meter, batch generation — all generated locally in your browser.

Crypto-Secure Instant Never Leaves Device Entropy Meter

Settings

Length 20
868128
Character classes
Options
Batch count 1
11020

Generated Password

Loading…

Generating your first password

What Makes a Password Strong?

A password is strong when an attacker cannot guess it — not even with unlimited attempts, once they have stolen a database of hashed passwords. The only thing that prevents that kind of offline brute-force attack is entropy: the amount of unpredictability baked into the password at creation time.

Entropy is measured in bits: log base 2 of the number of possible passwords an attacker would have to try. Every extra bit of entropy doubles the work required to crack the password. Small differences in entropy produce enormous differences in difficulty.

How entropy adds up

PasswordPool sizeEntropy
8 lowercase letters26≈ 38 bits
8 letters + digits + symbols94≈ 52 bits
12 letters + digits + symbols94≈ 79 bits
16 letters + digits + symbols94≈ 105 bits
20 letters + digits + symbols94≈ 131 bits
6 Diceware words (7776 list)7776⁶≈ 77 bits

NIST's Digital Identity Guidelines (SP 800-63B) suggest roughly 60 bits is adequate for online accounts that rate-limit guesses, 80 bits for offline attacks, and 100+ bits for long-term protection of high-value data.

Length beats complexity

Adding character classes multiplies the pool size, but every extra class makes the password harder for you to type and remember. Increasing length multiplies entropy linearly without that cost. That's why a 20-character lowercase password (94 bits) is stronger than an 8-character password using every symbol (52 bits), while being vastly easier to type on a phone.

For most accounts, a 16-character random password is already overkill for a decade of Moore's Law. The real risk is not breaking a strong password — it is reusing one across sites, where a single breach exposes everything.

Passwords vs passphrases

TypeExampleStrengthBest for
Random passwordx7#Kq2$vLm9@pNzW~100 bitsStored in a password manager
Passphraseplum-anvil-motel-brisk-tape-oxide~77 bitsTyped by hand, master passwords

Passphrases trade a small amount of entropy for a large amount of memorability. Words are easier for humans to remember than random characters, and — as the famous XKCD comic pointed out — a five-word passphrase is easier to remember and harder to crack than a short, "complex" password.

Why cryptography-grade randomness matters

A random password is only strong if the underlying randomness is unpredictable. JavaScript's Math.random() is not suitable for security: it uses a deterministic algorithm whose internal state can be reconstructed from a handful of outputs. Some older "password generators" built on it can be broken in seconds.

This tool uses crypto.getRandomValues() — the Web Crypto API's CSPRNG, seeded by the operating system, the same source used by browsers to generate TLS session keys. It also applies rejection sampling to eliminate modulo bias, so every character in the pool has an exactly equal chance of being selected.

Common use cases

Account Passwords

Unique passwords for every site, generated on demand.

Password Manager Master

A long passphrase you memorise and never write down.

Server Credentials

Strong root and database passwords for production systems.

API Keys & Tokens

High-entropy secrets for HMAC or bearer tokens.

Disk Encryption

A six- or seven-word passphrase for BitLocker or FileVault.

Wi-Fi Networks

A 24-character random key that no wardriver will guess.

Team Onboarding

Batch-generate initial passwords for new accounts.

Testing & Staging

Fake credentials that look realistic in test fixtures.

Privacy and security

This password generator runs entirely in your browser. All randomness comes from crypto.getRandomValues(), which is seeded by the operating system and never transmitted. Nothing is uploaded, stored or logged. There is no backend and no analytics on your input — but treat any password you generate here the same way you would treat a password written on paper, until it is safely stored in a password manager.

Frequently Asked Questions

How does this password generator work?
Every character is chosen using the browser's crypto.getRandomValues() API, which draws entropy from the operating system's cryptographically secure random number generator. Rejection sampling is used to eliminate modulo bias, so every character in the pool has exactly the same probability of being picked. This is dramatically more secure than generators that rely on Math.random().
Is this password generator free?
Yes. It is 100% free, requires no sign-up, and runs entirely in your browser. No length limits, no watermarks, no premium tier.
Is my password sent to a server?
No. Passwords are generated and displayed entirely in your browser. Nothing is uploaded, stored, logged or transmitted. The tool has no backend and no analytics on your input — but you should still treat any password you generate here the same way you would treat a password written on a sticky note, until it is safely stored in a password manager.
What is a cryptographically secure random number generator?
A cryptographically secure random number generator (CSPRNG) produces values that are unpredictable even to an attacker who observes previous outputs. JavaScript's Math.random() is not a CSPRNG — its output can be predicted from a few samples. The Web Crypto API's crypto.getRandomValues() is a CSPRNG, seeded by the operating system, and is what every modern password generator and encryption library uses.
How is password strength measured?
Strength is measured in bits of entropy: log base 2 of the number of possible passwords. A 20-character password drawn from a pool of 94 characters has about 131 bits of entropy. NIST considers 60 bits adequate for online accounts, 80 bits for offline attacks and 100 or more bits for long-term protection. This tool shows the entropy of every password it generates.
What is a passphrase and why use one?
A passphrase is a sequence of randomly chosen words — for example plum-anvil-motel-brisk-tape-oxide. Because words are easier to remember than random characters, passphrases are often the better choice for a password you must type by hand, such as a master password or full-disk encryption key. Six words from a list of 7776 gives about 77 bits of entropy, which is stronger than an 11-character random password.
Should I include symbols in my password?
Only if the site allows them and requires them. Adding symbols to the character pool increases entropy per character, but a longer password made of letters and digits is just as strong — and much easier to type and remember. A 20-character lowercase-and-digit password has about 103 bits of entropy, far more than an 8-character password with every symbol available.
What does "exclude ambiguous characters" do?
It removes characters that are easy to confuse when reading or typing from a printout or another screen: zero and capital O, lowercase l and digit 1, capital I and the pipe character. This trades a small amount of entropy for a large reduction in transcription errors, which is especially useful for passwords you have to type on a phone or read from paper.
Is it safe to store my password in a browser or password manager?
Yes — using a password manager is the single biggest improvement most people can make to their security. It lets you use a different random password on every site without having to remember them. The manager stores them encrypted with a single strong master passphrase, which you should memorise rather than write down. Never reuse passwords across sites, even strong ones.
How long should my password be?
For most accounts, 16 to 20 random characters is more than enough. For high-value accounts (email, banking, password manager master password), 24 or more. For passphrases, six or more words. Any password over 80 bits of entropy is effectively unbreakable with current hardware, provided it is unique and never shared.

Related Developer Tools

Done!