Password Generator
Strong passwords and passphrases, with the strength worked out honestly.
Loading…
About the Password Generator converter
Passwords and passphrases generated on your own machine, from your browser’s cryptographic random source, with the strength shown as a real number rather than a coloured bar.
The passphrase list is 1296 words — six to the fourth — so four ordinary dice reach every word in it. You never have to take this page’s word for anything: roll the dice yourself and count.
The strength here is arithmetic, not a guess
The coloured meter most sites show is guessing at how a human made up a password: checking it against a dictionary of common ones, looking for a year on the end, counting how many kinds of character it uses. That is a reasonable thing to do to a password somebody invented, and it says nothing at all about one drawn at random.
For a random password there is nothing to guess. The strength is the number of passwords the settings could have produced, which is exactly the pile an attacker has to work through, and it is quoted in bits — each bit doubling the work. Twenty random lower case letters is 94 bits. Seven words off the list here is 72. Eight characters with one of everything, which is what a great many workplace policies still demand as their ceiling, is 49.
Why "must contain a symbol" makes a password weaker
Every sign-up form insisting on one capital, one digit and one symbol believes it is making passwords harder to guess. It is doing the exact opposite. The rule rules passwords out — every one that happens to contain no symbol — so the set the attacker must search is smaller than it was, never larger.
The effect is genuinely small at a sensible length, about a fifth of a bit on a twenty character password, and it is genuinely negative. This page counts it rather than ignoring it, which is why switching the requirement on nudges the number down. What the rule does achieve is stopping somebody choosing "password" — worth something, but not what the form claims.
How a required character is satisfied matters
The obvious way to guarantee a digit is to generate the password and then write a digit into a randomly chosen position. Most generators do this. It leaks: that position is now certain to hold a digit, so the real number of possibilities is smaller than the length implies — and the number the generator prints is wrong.
The right way is to throw the whole password away and draw another until it qualifies. It costs almost nothing, because at any reasonable length most draws already qualify, and it keeps every position drawn from the full alphabet. That is what happens here, and it is why the figure shown is the figure you actually have.
Four dice reach every word
The word list is exactly 1296 entries, which is six to the fourth power. Four dice, read as a four digit base-six number, land on one word — so the list works with no computer at all, and the page can show you the roll that produced each word it picked.
That is the point of the number rather than a curiosity. A password generator asks you to trust a web page with the one secret that protects everything else, and being able to reproduce its output with four dice and a printed list is the only real answer to that. The EFF’s well-known list is 7776 words and gives 12.9 bits each against this list’s 10.3; the fix is simply to use one more word, which is why the default here is seven rather than six.
Six words is not as strong as people say
Six words is the number everybody quotes, and off a 1296 word list it comes to 62 bits. Against a login form that is forever. Against a leaked database stored with a fast hash — which is the ordinary case in real breaches, not the paranoid one — it is about twenty-seven days.
The seventh word costs roughly five more characters to type and takes that to about a century, because each word multiplies the search by 1296. That is the whole argument for passphrases: the strength scales with something you can actually remember to add.
Which one to use where
A passphrase wins wherever you type the thing by hand or read it off a phone screen: your device login, your disk encryption, and above all the master password on your password manager. Those are the handful you have to carry in your head, and words are what a head holds.
Random characters win everywhere a password manager types for you, which ought to be everywhere else. If you never read it, being unreadable costs nothing, and twenty random characters is stronger than any phrase you would put up with typing twice a day.
Where the randomness comes from
From `crypto.getRandomValues`, the operating system’s own random source, and not from `Math.random`. `Math.random` is fast, repeatable, and seeded from very little; a password generator built on it produces output that can be reproduced by anybody who works out the seed. It is the wrong tool for this and it remains extremely common.
Turning those random bits into a position in the alphabet is done by rejection rather than by remainder. Taking a remainder makes the earlier characters fractionally more likely, because the range does not divide evenly — a small bias, but a real one, and there is no reason to accept it in the one place it matters.
Nothing is sent anywhere
The password is generated in the page, on your machine, and never leaves it. There is no server involved at any point in it, which you can check by disconnecting from the network and pressing the button again.
This is the only condition under which a password generator on a website is a sensible thing to use. A generator that produces its output on a server has produced a password somebody else has seen, and no promise about not logging it can be checked from outside.
Frequently asked questions
How long should my password be?
Sixteen to twenty random characters for anything a password manager fills in, and seven words for the few you type yourself. Below about twelve random characters you are relying on the site having stored it properly, which you have no way of knowing.
Is a passphrase really as strong as a random password?
It can be, and it takes more typing to get there. Seven words off this list is 72 bits, about the same as a twelve character random password from all four character kinds — but it is around 40 characters rather than 12. You trade length for being able to remember it, which is a good trade for the handful you must.
Does capitalising the words make a passphrase stronger?
No, not at all, and the page will tell you so if you turn it on. An attacker knows every word starts with a capital, so it is one extra possibility to try rather than two for every word. Use it when a form demands a capital letter, not because it helps.
What does "bits of entropy" actually mean?
Each bit doubles the number of passwords an attacker has to try. Forty bits is about a trillion possibilities; eighty bits is about a trillion trillion. It is the honest unit because it stays meaningful whatever the attacker’s hardware — you only need to divide by their guessing rate.
Can I check how strong my existing password is?
Not by typing it in here, deliberately. You can describe its shape — sixteen characters from all four kinds, say — and get an exact answer for a password of that shape, which is the same answer. Pasting a real password into a website to be scored is a habit worth not having, however trustworthy the site.
Why is the word list 1296 words and not 7776?
1296 is six to the fourth, so four dice reach every word instead of five. It gives 10.3 bits a word against the EFF list’s 12.9, and the answer is to use one more word — which the default already does.
Are the passwords stored or logged anywhere?
No. There is no server and no account. The generating happens in your browser, and the page keeps working with the network switched off — which is the easiest way to satisfy yourself of that.
Should I write my password down?
On paper, kept somewhere only you can reach, is far better than reusing one you can remember. The threat to almost everybody is a database leak on the other side of the world, not somebody going through their own kitchen drawer. A password manager is better still.