Password Generator

Made on your machine with your system’s cryptographic randomness, and never sent anywhere — which is the only sensible way to receive a password.

Generated on your device — never transmitted, never stored
A computer would guess this in
Nothing to measure yet

Assuming somebody has stolen the database and is guessing offline at a trillion a second. Bits are the underlying measure: each extra one doubles the number of guesses needed.

What kind?

This makes passwords; it does not remember them. Put the result straight into a password manager — a password you have to recall is one you will reuse.

Advertisement

How it works

Three steps, no account, and nothing is transmitted at any point.

STEP 01

Pick characters or words

Characters for anything a password manager will hold. Words for the handful you have to type from memory — your laptop login, the manager’s own master password.

STEP 02

Set the length

Length does more for you than any other setting. The strength figure and the time to guess update as you move it.

STEP 03

Copy it, and put it in a password manager

Click the password itself or the copy button. Nothing is stored here — leaving the page loses it for good.

What to use where

Ordinary accounts

Twenty random characters, straight into a password manager. You will never type it, so it does not matter that you cannot read it aloud.

The passwords you actually type

Your computer login and the master password for your manager. Use words: five or six of them are strong and you can type them without looking.

Wi-Fi at home

Words again, with hyphens. Guests have to type it on a television remote at some point, and they will thank you.

A form that rejects everything

Turn symbols off, or use words. Some systems still refuse punctuation, which is a sign about the system rather than about your password.

Advertisement

What makes a password strong, and what does not

Almost everything people are told about passwords is a rule about how they look. Add a capital, add a number, add a symbol. Those rules exist because they are easy to check in a form, not because they are what makes a password hard to guess.

What makes a password hard to guess is how many equally likely possibilities it was drawn from. That is all. And that quantity has a name and a unit.

Entropy, in one paragraph

If a password is picked at random from a set of possibilities, its strength is measured in bits: each extra bit doubles the number of things an attacker has to try. Twenty characters drawn from a pool of eighty-six is 128 bits. Five words drawn from a list of 1,252 is 51. A number you can compare is worth more than a colour-coded bar.

The catch is the phrase picked at random. It has to be random in the machine sense. Password1! satisfies every rule a form checks and has almost no entropy at all, because it is one of the first things anybody would try.

Length beats complexity, and it is not close

Adding one character to a password multiplies the work of guessing it by the size of the pool — around seventy or ninety times. Adding a symbol to a short password multiplies it by rather less.

PasswordStrengthOffline guessing
8 characters, everything on50 bitsabout 12 minutes
12 characters, everything on77 bitsabout 1,900 years
20 characters, everything on128 bitslonger than the universe has existed
5 random words51 bitsabout 26 minutes
7 random words72 bitsabout 76 years

Those times assume an attacker who has stolen a database and can try a trillion guesses a second offline. It is a deliberately pessimistic assumption — against a live login form nobody gets more than a few tries a second — and it is the one worth planning for, because it is what actually happens when a company is breached.

Two things this tool does that many do not

The randomness is cryptographic. Browsers have two sources: Math.random, which is fast, predictable and intended for shuffling a playlist, and crypto.getRandomValues, which comes from the operating system and is intended for secrets. A generator built on the first produces passwords that look random and are, to anyone who can observe enough output, guessable. This uses the second.

The selection is unbiased. Turning a random byte into a character by taking a remainder — byte % 86 — seems obviously fine and is subtly wrong: 256 does not divide evenly by 86, so the first few characters of the alphabet come up slightly more often than the rest. This throws those values away and draws again.

The same care applies to the promise that every kind of character appears. The obvious way to keep it is to place one from each set and fill in the rest, and it visibly skews the result: measured over three thousand passwords, each digit turned up 858 times against 673 for each letter, because ten digits were splitting a quarter of the reserved places. Drawing uniformly and discarding a password that happens to miss a set keeps the promise without that. It also narrows the field slightly, so the strength shown here has that cost subtracted — about a tenth of a bit at twenty characters, one bit at eight. A strength meter that rounds in its own favour is worse than none.

Passphrases: for the ones you have to type

You should not be able to remember most of your passwords. They belong in a password manager, and a twenty-character string of noise is ideal precisely because you will never look at it.

But two or three of them have to live in your head — your computer login, and the master password to the manager itself. Random characters are miserable for that. Words are the answer: Copper-Lantern-Basil-Rapid-Otter is easy to type on a phone keyboard, easy to say down a phone line, and drawn from 1,252 words per position.

The important part is that the words are chosen by the machine. A phrase you invented is not random — people reach for related words, common nouns, and things about themselves, and attackers know this.

The bigger risk is not guessing

Honestly: almost nobody is having a password guessed. What happens is that a company gets breached, the password appears in a list, and every other account using it opens.

Which makes the useful rule not "make it complicated" but "make it different every time". A unique twelve-character password everywhere is far safer than one magnificent password used twice. That requires a password manager, because nobody can remember forty of these.

Why generating it here matters

A password generated on a website’s server has been transmitted before you ever see it. It travelled the network, it was in that server’s memory, and it may sit in a log. Almost certainly nothing happens to it. It is still a strange thing to accept for a secret.

This page never sends anything. The generator runs in your browser, the password exists only in that tab, and closing the page destroys it. There is no server here to log it, which is not a promise about our conduct — it is the shape of the tool.

Common questions

Is the password sent anywhere?

No. It is generated in your browser and exists only in that tab. There is no server involved, so there is nothing to log it, and closing the page destroys it.

How long should a password be?

Twenty characters for anything a password manager will hold, since you will never type it. Five or six words for the two or three you have to type from memory. Length does far more than adding symbols does.

Are words really as safe as random characters?

Per character, no — per password, they can be. Five words from a list of 1,252 is about 51 bits; seven is about 72. The essential part is that the machine chooses them. A phrase you thought of yourself is not random.

What does the time to guess assume?

An attacker who has stolen a password database and can try a trillion guesses a second offline against a fast hash. That is deliberately pessimistic — a live login form allows a handful a second — and it is the case worth planning for.

Why should I avoid look-alike characters?

Only if you will have to read the password off a screen or a note. It removes 0/O, 1/l/I and 5/S, which costs a fraction of a bit per character and saves misreadings. If it is going into a password manager, leave it off.

Does this store or remember my passwords?

No, and it should not. Put the result straight into a password manager. A password you have to remember is a password you will end up reusing, and reuse is what actually causes accounts to be lost.

Why do some sites reject my password?

Usually a maximum length, or a ban on certain symbols. Both are signs of a system storing passwords in a way it should not. Turn symbols off or shorten it, and consider that the account may deserve less trust than you were giving it.

Advertisement