Skip to content
Toolgin

Password Generator

Memorable passphrases, random keys, sayable words or a PIN — generated on your own device, with the real strength in bits and an honest estimate of how long each one would survive.

Your password

Settings
How long it would take to guess
Make several at once

Why swapping letters for numbers does not work

It is the first thing anybody tries: take a word, turn o into 0, s into $, e into 3, and you get something like $0m37hing. It looks cryptic. It is not.

Password cracking tools do not try random characters. They take a list of real passwords — hundreds of millions of them, from actual breaches — and apply a set of transformation rules to each one. Those rule sets ship with the tools, and the first rules in every one of them are exactly these substitutions. So $0m37hing is tried in the same pass as something, a few milliseconds later.

This is not a fringe opinion. The American standards body that writes the authentication guidance, NIST, revised it specifically to stop organisations demanding this kind of complexity, noting that attackers already know the common substitution patterns — that 1 replaces i and 0 replaces O. The current guidance drops mandatory complexity rules entirely and asks for length instead.

What actually defeats guessing is unpredictability, and the only reliable source of that is a random choice you did not make yourself. That is what this page does.

You do not have to take that on faith. Open Fix mine above and type a word. You get the substituted version you were after, the number of bits it is actually worth, and the reason — usually that the substitution was undone in one step and the word underneath was recognised. Underneath it sits the same word carried by real randomness, so you can see the two side by side.

What the numbers mean

Entropy, measured in bits, is the number of yes-or-no questions an attacker would have to get through. Each extra bit doubles the work. It is calculated here from how the password was built — how many words drawn from how large a list, or how many characters from how large an alphabet — and never by looking at the finished string.

That distinction is the whole game. A checker that inspects the output sees P@ssw0rd1 and counts nine characters across four character classes, and reports a healthy number. It cannot see that the string is one dictionary word wearing a disguise. Working forwards from the generator is the only way to get an honest figure.

PasswordEntropyCracked inWhy
P@ssw0rd1~30 bitsInstantlyA dictionary word and two published rules.
$0m37hing~30 bitsInstantlySame. The substitutions are in every rule set.
Tr0ub4dor&3~34 bitsInstantlyThe famous example, and still a dictionary word.
kY7#mQp2~52 bitsUnder a minuteRandom, but only eight characters long.
four-word-phrase-here~45 bitsAbout a dayFour random words. Better, still short.
six random words~68 bitsThousands of yearsThe default here.
20 random characters~130 bitsLonger than the universeWhat a password manager makes.

"Cracked in" assumes a stolen database hashed with something fast, on hardware anyone can rent. Against a site that hashes properly with bcrypt the figures are millions of times better — but you have no way to know which kind of site you are dealing with, so it is worth assuming the worse one.

How strong is strong enough

BitsVerdictIn practice
Under 40Very weakFalls in seconds to anyone with a stolen database.
40 to 59WeakFine for a forum you do not care about. Nothing else.
60 to 79ReasonableHolds up unless someone is specifically after you.
80 to 99StrongBeyond any realistic brute-force attack today.
100 or moreVery strongBeyond any realistic brute-force attack ever.

Which mode to use

Passphrase — for anything you have to remember

Words drawn at random from a list of 2,572, which is about 11.3 bits each. Six of them gives roughly 68 bits, and you can actually hold it in your head. This is the right choice for the handful of passwords you type rather than paste: your laptop login, your password manager's own master password, your phone.

The words are chosen at random by the machine, not by you. A phrase you invent is not random — people reach for the same images, the same word orders, the same names. That is a much smaller haystack than it feels like.

Random — for everything a password manager stores

Twenty characters across the full alphabet is around 130 bits, which is past any attack that will ever exist. You will never type it, so its unreadability costs you nothing. Use this for every site.

Pronounceable — for reading aloud

Made-up but sayable words, for the times a password has to travel down a phone line or be typed off a sticky note by somebody else. Weaker than the other two for the same length, so make it longer.

PIN — for a lock screen, not a login

A six-digit PIN is about twenty bits. That is nothing against an attacker who can guess freely, and perfectly adequate for a phone that wipes itself after ten wrong tries. The protection comes from the device, not from the number.

When a site demands a digit and a symbol

Plenty of sites still insist on at least one of this and two of that. Under Random you can set a minimum for each character class, and the generator will only ever hand you something that satisfies them — no more pressing the button hoping for a digit to turn up.

It is worth knowing what those rules cost you, because it is not nothing. A requirement does not add anything to a password; it removes every password that fails it from the set you could have been given. Insisting on four symbols in sixteen characters throws away more than 99% of the possibilities, and the entropy falls accordingly. The page shows you the figure.

That is the arithmetic behind NIST dropping mandatory composition rules: they make passwords slightly weaker and considerably more annoying, and the annoyance is what pushes people towards Summer2025!. Set them when a site forces you to, and leave them at zero otherwise.

Keeping a word you can remember

Fix mine exists because the request is reasonable even though the usual answer to it is not. People want a password they can recall, built around something of their own.

So it keeps your word — and then tells you the truth about it. Your word is treated as worth zero bits, because an attacker targeting you may well know it, and because even a stranger's dictionary is far larger than the set of words you were ever likely to choose. Every bit in the result comes from the words the machine picked and from where yours was dropped among them. Adding more of your own text does not move the number, which is the honest way round and easy to check: type more and watch it stay put.

Which leads somewhere slightly awkward and worth saying plainly. If your word contributes nothing, you could drop it and use the passphrase tab instead. Keeping it costs you nothing either, so if it is the thing that makes the password stick in your head, keep it.

Questions

Is the password sent anywhere?

No. It is generated in your browser and never leaves it. There is no request to a server carrying it, which you can confirm for yourself: load the page, disconnect from the internet, and it keeps working.

Where does the randomness come from?

The browser's cryptographic generator, crypto.getRandomValues, which is what the operating system uses for real key material. It is not Math.random, which is fast, predictable enough to be reconstructed from a handful of outputs, and has no business anywhere near a password.

Choices are drawn with rejection sampling rather than by taking a remainder. Folding a random byte into a 62-character alphabet with a modulo makes the first four characters come up about 1.6% more often than the rest — small enough to never notice, real enough to be a head start. The biased values are thrown away and a new one drawn instead.

Should I change my passwords regularly?

No — that advice was withdrawn years ago. Forced rotation makes people pick weaker passwords and change them predictably, from Summer2024! to Summer2025!. Change a password when you have reason to think it has been exposed, and otherwise leave a strong one alone.

Is a long passphrase really better than a short complex one?

Yes, by a wide margin. Every character you add multiplies the search space; every substitution you make within a word you already knew multiplies it by one. Length beats complexity, and randomness beats both.

Do I need a password manager?

If you want a genuinely different strong password for every site, you need something to remember them. The realistic arrangement is one passphrase you know by heart for the manager, and random twenty-character strings for everything inside it.

How accurate is the verdict in Fix mine?

It is an estimate, and it is built to err low rather than high. It checks what you typed against a list of common passwords and ordinary words, undoes the usual symbol substitutions and checks again, and looks for keyboard runs, repeats, sequences and years — roughly the approach zxcvbn takes, at a fraction of the size. A short run of lowercase letters it does not recognise is still priced as though it were a word, because an attacker's dictionary is far larger than ours and assuming otherwise would flatter you.

For a generated password the figure shown at the top is not an estimate at all — it is computed from the choices the generator made, and is exact.

Why does the strength meter ignore my capitalisation?

Because capitalising the first letter of every word is a fixed rule, not a random choice — an attacker guessing the phrase tries both forms anyway. Counting it would be flattering the number, which is the thing this page is trying not to do.