Password Generator & Strength Checker

Global tools

Three jobs, one page: build a random password, build a passphrase you can actually remember, or measure one you already have. Both generators draw from your browser’s own cryptographic source and neither has a seed box - the opposite of every other generator on this site, and deliberate: a password that can be reproduced from a number is a password that anyone who learns the number can reproduce.

Generate random passwords, generate a memorable passphrase, or measure one you already have. The measuring mode never sees a server and never offers a download.

Up to 50. The batch is written into the two downloads as well, so one can be kept and the rest discarded.

Characters, up to 128. Twenty characters of the widest alphabet is about 128 bits, which is where the arithmetic stops being the interesting question.

The alphabet decides the bits: 20 characters of lower case only is 94 bits, and of everything is 128 bits.

I, l, 1, O, 0 and o are the characters people mistype from a screenshot. Leaving them out costs about 2 bits of 128 and saves a support call.

Leave it blank and the two files are "generated-passwords.txt" and "generated-passwords.csv". Measuring has no downloads at all.

Results update as you type. Nothing leaves your device.

Currency symbol

Symbol only - nothing is converted and no exchange rate is used. Figures quoted in the explanation text stay as the sources publish them.

Passwords generated

5

Each one is 20 characters from an alphabet of 86, so about 128.5 bits. There is no seed here on purpose: this batch cannot be reproduced, which is what makes it a password rather than a pattern.

Characters
20
Alphabet
86 4 classes
Entropy
128.5 bits
Offline attack
1.1 x 10^10 times the age of the universe (13.8 billion years) 100,000,000,000 guesses a second

How long it would take to guess

AttackerGuesses a secondTime
Offline, against a fast hash100,000,000,0001.1 x 10^10 times the age of the universe (13.8 billion years)
Offline, against bcrypt or argon210,0001.1 x 10^17 times the age of the universe (13.8 billion years)
Online, against a login form101.1 x 10^20 times the age of the universe (13.8 billion years)

Assumes the attacker knows the settings used - the length, the alphabet, the word list - and divides the whole space by their speed. These are the three rates the page reasons with, not measurements of any particular machine.

Your passwords

SuA+Q&o_zK;_BumI*8=Z
%GyJ!V4A$hIDH4LRI[{8
6Hym}L}I:%B}HI+75tGD
x^-1lHL2eJcUiue*Wun)
jen4AHq05TyePpOqX?K#

Copy one, or download the batch. The download is a plain text file with the settings written at the top, which is a file worth treating like the password itself.

What the numbers do not say

  • Every character class you kept is guaranteed at least once, so a site that insists on a digit will not be let down by chance. That costs a little of the space - the number printed is therefore an upper bound - and the difference is invisible at twenty characters and noticeable at four.
  • The alphabet the generator draws from is 86 characters, while the strength meter on this page uses the conventional class sizes (26 + 26 + 10 + 33 = 95) that every meter uses. Both numbers are printed because they differ, and neither is a mistake: 24 punctuation characters survive the filter this page applies (no quotes, no backslash, no space, so a password can be pasted into a terminal).
  • There is no seed box, and this is the one generator on the site that deliberately has none: a password that can be regenerated from a number is a password that whoever learns that number can regenerate. The draw uses crypto.getRandomValues, the browser's cryptographic source.
  • A batch of fifty passwords is written into one download and one CSV. Those files are the passwords - keep them where a password manager can reach them and nowhere else, or do not download them at all and copy the two you need.
  • A strong password in one place and a weak one everywhere else is still a breach. Reuse is the attack that works in practice, and no generator can fix it: the answer is a password manager and one password per site.
Generated in this browser tab from the browser's cryptographic source. Nothing was sent anywhere, and the downloads are built when you click rather than when the page is built, so no password ever existed on a server.

The measurement half is where the honesty matters most. Every strength meter is an estimate, so this one prints the formula, the three attacker speeds it divides by and the list of flaws it can see - and it says out loud what it cannot see, starting with the fact that a phrase of dictionary words looks far stronger to a character formula than it is.

About this password generator & strength checker

Does a strong password need a long one, a random one, or one you can actually remember? This page builds two kinds - a random string drawn from your browser’s cryptographic source and a passphrase of ordinary words - and measures any password you already have, printing the formula behind the strength number rather than a colored bar.

The meter’s arithmetic comes from the standard estimate of guesses against a keyspace: length times log2 of the alphabet, divided by three attacker speeds that are shown, not hidden. There is deliberately no seed box, the opposite of every other generator here, because a password that can be reproduced from a number is one anybody who learns the number can reproduce.

Every strength meter is an estimate, so this one names what it can see and says out loud what it cannot: a passphrase of dictionary words looks far stronger to a character formula than it is. All of it runs client-side in your browser, and nothing you type is sent anywhere.

How this password generator & strength checker works

Random passwords: length x log2(alphabet), all the way up

The alphabet is chosen by the preset: letters, digits and punctuation is 86 characters, letters and digits is 62, letters alone is 52, lower case alone is 26. Every character comes from a uniform draw on crypto.getRandomValues, and every class you kept is guaranteed at least once, so a site that demands a digit is not let down by chance.

The bit count is therefore `length x log2(alphabet)`, and the page prints it: twenty characters of the widest alphabet is about 128 bits, twenty lower case letters is about 94. Twenty is also where this page stops pretending you need more - past that point the interesting question is not the password, it is whether you reuse it.

Lookalikes, and why the two alphabet sizes differ

The lookalike filter removes I, l, 1, O, 0 and o, which are the characters people mistype when retyping a password from a screenshot. It costs about two bits out of 128 and saves a support call, and the page shows both sizes so the cost is visible.

The generator’s alphabet is 86 characters (24 punctuation marks, because quotes, backslashes and spaces are excluded so a password can be pasted into a terminal). The strength meter uses the conventional class sizes every meter uses, which add up to 95 with punctuation. Both numbers are printed, and the meter’s figure for a generated password is the conventional one - slightly optimistic, in the honest direction, and explained on the page rather than buried in a constant.

Passphrases: 324 words, 8.34 bits each, added in front of you

A passphrase is easier to remember and easier to type than a random string of the same strength, which is why the mode exists. The bank is 324 concrete short words - animals, food, places, objects - because function words make phrases that are hard to remember and easy to guess. Each word is worth log2(324) = 8.34 bits, so six words is about 50 bits and eight is about 67, before the optional digits and random capitals.

The words are drawn with replacement, which is the diceware rule: a phrase may repeat a word, and forbidding repeats would quietly make the search space smaller than the number printed. The strength of a phrase is the number of words rather than their length, because a phrase is attacked with a wordlist.

Measuring: what the number means, and what it cannot see

The meter counts the character classes in what you typed, multiplies up to `length x log2(alphabet)` and divides the resulting space by three attacker speeds: a fast hash on leaked data (100 billion guesses a second), a slow hash like bcrypt or argon2 (ten thousand) and an online form with rate limiting (ten). Printing the rates is what separates a number from a claim.

It also checks the patterns a cracker tries first: the most-used passwords, three or more identical characters in a row, alphabet and digit runs, keyboard rows, years, digits alone, and anything under twelve characters. Those flaws are listed in the page’s own words, and they are allowed to pull the word beside the number down - a password that is one character repeated sixteen times is not called strong, whatever its bit count says.

What it cannot see: whether the password has appeared in a breach (that needs a lookup, and this page makes no network requests), who else knows it, whether you have used it on five other sites, and whether it came from a pattern nobody has added to a wordlist yet. It also cannot see shape: a phrase of dictionary words built from words outside this page’s bank scores like a fortress by the character formula, which is why the flaws list says so and why the label is capped at "Fair" for anything that reads like a phrase.

Worked examples

Each example below was run through the calculator on this page when the site was built, so the numbers match what you see when you enter the same inputs.

Five passwords of twenty characters

What do you want to do: Generate random passwords - the strongest option · How many: 5 · Length: 20 · Characters: Letters, digits and symbols - the widest of the four · Leave out the lookalikes: No - keep the full alphabet · Download file name: —

Passwords generated

5

Each one is 20 characters from an alphabet of 86, so about 128.5 bits. There is no seed here on purpose: this batch cannot be reproduced, which is what makes it a password rather than a pattern.

Characters: 20 · Alphabet: 86 · Entropy: 128.5 bits · Offline attack: 1.1 x 10^10 times the age of the universe (13.8 billion years)

The five in this box are generated when the page is built and printed into the static HTML, so they are the sample batch and not something you should use. Every batch press on the live page makes five new ones from the browser’s cryptographic source.

A six-word passphrase with two digits

What do you want to do: Generate a passphrase - words, so it can be remembered · How many: 3 · Words: 6 · Join the words with: Hyphens - cotton-sunset-harbor · Digits: Two digits at the end · Capitalize at random: No - every word lower case · Download file name: —

Passphrases generated

3

Each one is about 56.7 bits: 6 words x log2(324) = 50.0 + 6.6 for the digits.

Words: 6 · Word bank: 324 · Entropy: 56.7 bits · Typing: 38 characters

About 56.7 bits: six words at 8.34 bits each plus 6.6 for the two digits. The arithmetic is printed under the result so the number can be checked rather than believed.

Measuring a password that is on every wordlist

What do you want to do: Measure one I already have - nothing is checked anywhere · The password to measure: ••••••••

Strength, by the arithmetic

Very weak

9 characters, 2 character classes, so bits = 10.0, floored on the common-password list.

Length: 9 characters · Classes: 2 · Alphabet: 36 · Entropy: 10.0 bits

Four flaws and ten bits: the meter floors anything from the most-used list, because being long is not the same as being unguessable, and the label is where the flaws are allowed to speak.

Frequently asked questions

Is it safe to type my password into this page?

The page makes no network requests at all - there is no server to send anything to, and our privacy checks confirm that nothing the page ships can send a request. The measuring box is a password field, which the page keeps out of the address bar, and the measuring mode has no download button. That said, you do not have to type a real password to use it: a pattern you are considering works just as well for the arithmetic.

How long should a password be?

Sixteen characters of the widest alphabet is about 103 bits, and twenty is about 128. Past roughly 80 bits the password stops being the weak point, and the things that actually get people breached - reuse, a phishing page, a site that stores hashes badly - take over. If a site will not accept long passwords, that is worth knowing about the site.

Should I use a password or a passphrase?

A random password is stronger per character and impossible to remember, so it belongs in a password manager. A passphrase is the right choice for the few passwords you have to type yourself - the one for the manager, a device login, a Wi-Fi password - because it survives being remembered. Six words is about 50 bits; add words rather than symbols if you want more.

Why does my long phrase score "Fair" instead of "Very strong"?

Because the character formula cannot see word structure, and the page refuses to let that pass. A 28-character phrase built from dictionary words is about 165 bits by the formula and far less to a wordlist attack; the flaws list says so and the label is capped at "Fair" when a password reads as a phrase. If every word happens to come from this page’s own 324-word bank, the meter also prints the word-based figure, which is the one that applies.

Does the generator ever remember a password it made?

No. There is no storage, no cookie, no analytics and no seed: the batch is made in the tab, and reloading the page produces a different one. That is also why the page cannot show you "the password it gave you last time" - there is no last time as far as this page is concerned, which is the correct behavior for a password.

Assumptions and sources

  • Passwords come from your browser's cryptographic random source, and the strength figures use the standard length times log2 of the alphabet arithmetic.
  • Crack times rest on three stated guesses-per-second assumptions, and the page shows them so you can judge the number yourself.
  • The sixty most-used passwords are a floor, not a dictionary; no password is checked against a breach service, because nothing is uploaded.

Last reviewed 2026-09-16. Runs locally on your device; keep backups; no financial advice applies. Read the full disclaimer.

Where a figure on this page comes from an official agency — HUD, IRS, FICO or a state body — the site keeps a dated snapshot of the source page in its sources library, and a scheduled job re-checks that snapshot, so the number can be traced back to the document it came from.