Strong random password generator
Generate strong random passwords with a length slider, character-class toggles, bulk output and a live entropy meter. Nothing is ever transmitted.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
Nothing here is transmitted. Every password is produced by your browser’s own crypto.getRandomValues generator, is never written to the URL, local storage or your browser history, and never reaches a server — this page makes no network requests at all after it loads.
Far beyond any realistic brute-force budget.
Pool of 90 characters × 20 positions = 129.7 bits. Copying uses the clipboard only, and the clipboard is overwritten again after 45 seconds.
Anything from 4 to 128. Sixteen or more is the sensible floor for an account you care about.
Guarantees the password satisfies “must contain a digit and a symbol” rules. The password is drawn uniformly from the strings that qualify, so the entropy shown above stays exact.
Drops i I l L 1 | o O 0 — worth it when the password will be read off a screen or written down.
Drops { } [ ] ( ) < > / | ~ ; : , . ' — brackets and quotes that break shell commands, CSV files and some legacy login forms.
Up to 100 at once, for seeding a set of service accounts or a team.
| Attack | Assumed rate | Average time to crack |
|---|---|---|
| Online, rate limited | 100 guesses per hour — a login form that locks out after repeated failures | longer than the age of the universe |
| Online, no throttling | 1 000 guesses per second — credential stuffing against an unprotected API | longer than the age of the universe |
| Offline, slow hash | 20 000 guesses per second — bcrypt or PBKDF2 on a rented GPU box | longer than the age of the universe |
| Offline, fast hash | 100 billion guesses per second — unsalted SHA-1/MD5 on an eight-GPU rig | longer than the age of the universe |
These figures describe brute force only. A password that leaks — through a phishing page, a keylogger or reuse on a breached site — is compromised no matter how many bits it has.
How to generate a strong password
- Set the length. Drag the slider to at least 16 characters, or type an exact number in the box beside it. This is the single most important control on the page.
- Pick the character types. All four are on by default, giving a 94-character alphabet. Turn symbols off if the site you are signing up to rejects them.
- Adjust the exclusions if you need to. "Exclude similar characters" removes the glyphs people misread when copying a password off a screen; "exclude ambiguous punctuation" removes brackets and quotes that break shell scripts and CSV files.
- Check the meter. Aim for 80 bits or more. The number updates as you change the options, and the table underneath translates it into hours, years or geological epochs.
- Copy it and paste it straight into your password manager. The clipboard is overwritten again after 45 seconds so the password does not sit there for the rest of the day.
How long should a password be?
Length is the only property that keeps paying off. Every extra character multiplies the number of possibilities by the size of the alphabet, so going from 12 characters to 16 is worth vastly more than adding a second exclamation mark. The table below assumes a fully random password over the 94 printable ASCII characters, and an attacker who already has the password database and is running an eight-GPU rig against an unsalted fast hash — the worst realistic case.
| Length | Entropy | Slow hash (bcrypt, 20k/s) | Fast hash (8 GPUs, 100 G/s) |
|---|---|---|---|
| 8 | 52 bits | 5 thousand years | 8 hours |
| 10 | 66 bits | 43 million years | 9 years |
| 12 | 79 bits | 377 billion years | 75 thousand years |
| 14 | 92 bits | beyond the age of the universe | 666 million years |
| 16 | 105 bits | beyond the age of the universe | 6 trillion years |
| 20 | 131 bits | beyond the age of the universe | beyond the age of the universe |
Note how badly eight characters does against a fast hash. Eight characters was the standard advice for two decades and it has been indefensible since roughly 2012. Note also that a 12-character password is already past the point where brute force is the attacker's problem — after that, the risk shifts entirely to phishing, malware and password reuse.
Alphabet size matters much less than you would think
A 16-character password drawn from letters and digits only (62 symbols) is worth 95 bits; the same length over the full 94-character set is 105 bits. Ten bits is real, but it is the same gain you get from adding two more characters to the shorter alphabet. So if a login form rejects symbols, do not panic — just make the password longer.
Why "must contain a symbol" rules backfire
Composition rules were designed to stop people choosing password. What they
actually produce is Password1! — the same word with the same three decorations
everyone else adds, in the same positions. Cracking tools have applied those exact
transformations as standard rules since the 1990s. The rule adds perhaps two bits of real
strength while making the password harder to remember, which pushes people towards reuse.
This generator offers include one of each type because those rules exist and you have to satisfy them, not because they help. It is implemented so it costs you nothing measurable: instead of forcing a digit into a fixed position, the password is drawn uniformly from the set of strings that happen to satisfy the rule, and the entropy shown on the page is the exact entropy of that restricted set.
What this generator does differently
- No
Math.random, anywhere. Every character comes fromcrypto.getRandomValues, the browser's cryptographically secure generator.Math.randomis fast and predictable; given a few outputs its future values can be reconstructed. - No modulo bias. Mapping a 32-bit random number onto a 94-character alphabet
with a plain
%makes the first few characters marginally more likely than the rest. This tool discards any draw that lands in the final partial bucket and takes another, so every character is exactly equally likely. - Honest entropy. The figure shown is the entropy of the distribution the tool actually samples from, including the reduction caused by exclusions and the one-of-each rule.
- Nothing is transmitted or persisted. No network requests after page load, nothing in local storage, nothing in the URL, nothing in your history.
What to do with the password once you have it
Put it in a password manager. A generated 20-character password is unmemorable by design, and that is fine — you only need to remember one strong passphrase for the manager itself. The real threats to your accounts are, in order: reusing one password across sites, being phished into typing it on a lookalike page, and malware on your own machine. Brute force comes a distant fourth, and this page has already solved that one.
Turn on two-factor authentication wherever it is offered. A leaked password with a second factor in place is an inconvenience; a leaked password without one is an account takeover.
Questions
Is this password generator actually safe to use online?
It is safe for the specific reason that it is not really "online". The page is static: once it loads there are no further network requests at all, and every password is produced by your browser’s crypto.getRandomValues. Nothing is sent to a server, written to storage or added to your history. You can verify it by opening your browser’s network panel and generating a few dozen passwords — you will see no traffic.
How long should a password be?
Sixteen characters over a mixed alphabet is a sensible floor for any account you would be upset to lose, and twenty or more for email, banking and your password manager’s master password. Length beats complexity: adding four random characters multiplies the search space far more than swapping one letter for a symbol.
Why does the tool use rejection sampling rather than Math.random?
Math.random is not cryptographically secure — its output is predictable from a handful of observed values. This tool uses crypto.getRandomValues, and discards any draw that falls in the final partial bucket of the 32-bit range, because a plain modulo would make some characters slightly more likely than others.
What does the entropy figure mean?
It is the base-2 logarithm of the number of passwords the settings could produce, so each extra bit doubles the attacker’s work. Under 28 bits is trivially breakable, 60 is fair, and 80 or more resists offline cracking with current hardware. With "include one of each type" on, the figure is the exact entropy of the restricted set, not an approximation.
Does copying the password leave it somewhere?
It goes to your system clipboard, which is the only place it can go for you to paste it. The copy button overwrites the clipboard again after 45 seconds so the password does not sit there all day. It is never placed in the URL, in local storage or in your browser history.