Skip to main content
ToolsBay

Secure Password Generator

Generate strong passwords locally with a live strength estimate.

Runs entirely in your browser — nothing is uploaded

Generated with your browser's cryptographic random number generator. Nothing is sent over the network, and the password is guaranteed to include at least one character from every set you enable.

Frequently asked questions

Is the password sent anywhere?

No. It is generated in your browser and never transmitted, logged or stored. Reloading the page discards it. You can confirm this by opening your browser devtools network tab — there is no request.

How random is it really?

It uses crypto.getRandomValues, your browser's cryptographic random source, seeded by the operating system. That is the same class of randomness used to generate encryption keys, and it is not predictable from previous outputs.

What does the strength meter measure?

The size of the search space, in bits, for a password of this length drawn from this character set. It measures how long a brute-force attack would take. It does not detect that "Password123!" is a bad password — for generated random passwords, which is what this tool produces, the two amount to the same thing.

How long should a password be?

For anything protected by a password manager, 20+ characters with all sets enabled is comfortable and costs you nothing since you never type it. For something you must type, length beats complexity — a longer password from a smaller alphabet is stronger than a short one full of symbols.

Why the random source matters

The critical part of a password generator is invisible: where the randomness comes from. A generator built on Math.random() produces output that looks random and is not. That function is a deterministic algorithm seeded from a small amount of state, and given a handful of outputs an attacker can reconstruct the generator and predict every password it will ever produce.

This tool uses crypto.getRandomValues(), which draws from the operating system's entropy pool — the same source used for TLS keys. It also uses rejection sampling rather than a modulo, because random % 26 makes the first few letters of the alphabet measurably more likely than the last few.

Reading the entropy number

Entropy in bits is a measure of the search space. Each additional bit doubles the work an attacker must do. A 12-character password using all four character sets is about 79 bits; 20 characters is about 131 bits. Below roughly 60 bits, a well-resourced attacker with stolen password hashes can brute-force offline. Above about 100 bits, the attack is not feasible with any foreseeable hardware.

What actually protects an account

A strong unique password only helps if it is unique. Reuse is what turns one breached site into a dozen compromised accounts, which is the argument for a password manager: it makes generating a different long random password per site the path of least effort. Enable two-factor authentication wherever it is offered — it protects you even if the password does leak.

For random identifiers rather than passwords, see the UUID generator. To produce a one-way digest of a value, see the hash generator.

All generators