Free Password Generator

Strong random passwords, generated in your browser and never sent anywhere.

Every password here is produced by crypto.getRandomValues, your browser’s cryptographically secure random source — the same one used to generate encryption keys. Nothing is transmitted, logged or stored: the password exists only in this page until you copy it. Choose a length and which character sets to include, and the estimate below shows how much genuine randomness the result carries.

How it works

1

Set the length

Longer beats more complex — 16 characters or more.

2

Choose character sets

Drop symbols if a site rejects them.

3

Copy it into a manager

The password is never sent or stored.

Length beats complexity, and the maths shows why

The strength of a random password is measured in bits of entropy: how many guesses an attacker needs on average. It is the log base 2 of (character set size) to the power of (length). That formula makes the trade-off obvious once you run the numbers.

An 8-character password using all four sets — roughly 94 possible characters — gives about 52 bits. A 16-character password using only lowercase letters gives about 75 bits, despite looking far simpler. Doubling the length adds far more strength than adding symbols, because length is an exponent while the character set is only the base.

This is why the common advice to add "!" and "1" to a short password is close to useless. It multiplies the search space by a small factor while leaving it short, and attackers guess exactly those substitutions first. Aim for 16 characters or more; the estimate under the field shows what you are actually getting.

Why randomness matters more than the pattern

A password is only as strong as the process that created it. Human-chosen passwords cluster heavily around names, dates, keyboard patterns and predictable substitutions, which is why cracking tools try those first and succeed far more often than raw entropy suggests. A truly random 12-character string is stronger than a 20-character phrase you invented yourself.

This generator draws from crypto.getRandomValues rather than Math.random. That distinction is not academic: Math.random is a fast, predictable generator, and its output can be reconstructed from a handful of previous values. It is fine for shuffling a list, and unsuitable for anything that must resist guessing.

Two practical habits matter more than any generator. Use a different password everywhere — the common way accounts fall is credential stuffing, where a password leaked from one breached site is tried everywhere else. And store them in a password manager, because the only realistic way to have unique random passwords for every account is to not memorise them. Where a service offers two-factor authentication, enabling it protects the account even if the password does leak.

Frequently Asked Questions

No. Generation happens entirely in your browser and the result exists only on this page until you copy it. Nothing is transmitted, logged or stored — closing the tab removes it.
Sixteen characters or more for anything that matters. Length contributes exponentially to strength while the character set only changes the base, so a longer simple password beats a short complex one.
The option removes 0/O, 1/l/I and similar pairs. Useful when a password will be read aloud, typed from paper or entered on a TV remote. It slightly reduces the character set, so add a character or two of length to compensate.
Untick Symbols and increase the length instead. A 24-character alphanumeric password carries more entropy than a 12-character one with symbols, so you lose nothing by trading one for the other.
A passphrase of several genuinely random words is easier to type and remember and can be very strong. The catch is "genuinely random" — words you pick yourself are far more predictable than they feel. For passwords you never type by hand, a random string in a password manager is simpler and stronger.