Skip to main content

Password Generator

Generate a password or a memorable passphrase in your browser, with the entropy shown in bits. Nothing is stored, logged or written to the address bar.

Your data never leaves the browserPublished: August 2026
Type

uT16@x%wl]}@Q)&6

Entropy 104 bits · 90 characters alphabet

Length
Characters

Beyond brute force for the foreseeable future.

The password is generated in your browser. It is never sent to a server, stored, written to the address bar, or kept in a history. The copy button writes to the system clipboard, which your operating system may sync between devices.

Key Takeaways

  • Strength comes from length and alphabet size, not from a character-variety rule. "P@ssw0rd!" satisfies every policy and falls in seconds.
  • This tool reports entropy in bits rather than pasting a "strong" badge on the result. A badge is a judgement; a bit count is a measurement anyone can check.
  • A passphrase is the right answer for secrets you have to type or remember. At equal entropy it is far easier to carry, and a master password nobody can remember gets written down.
  • Generation happens in your browser. Nothing is stored, written to the address bar or kept in a history, and this page carries no advertising.

Where the randomness comes from

The only real job a password generator has is to make unpredictable choices. Most examples online reach for Math.random(), which is not a cryptographic generator: its internal state can be recovered from a handful of outputs. Anyone who has seen a few passwords it produced can predict the next one.

Every byte here comes from crypto.getRandomValues, the browser's cryptographic generator seeded by the operating system. The same rule governs the UUID generator elsewhere on this site.

The invisible defect: modulo bias

Taking randomness from the right source is not enough; it also has to be mapped onto the alphabet correctly. Nearly every example does this:

javascript
// Biased whenever 256 is not a multiple of the alphabet sizealphabet[byte % alphabet.length]

This tool's full character set has 90 entries. 256 does not divide evenly by 90, so the first 76 characters are drawn 3 times in 256 and the remaining 14 only twice. Some characters therefore appear fifty percent more often than others. The search space really does shrink, and nothing about the output reveals it.

The fix is rejection sampling: draws that land above the largest exact multiple of the alphabet size are discarded and redrawn. The discarded values are precisely the ones that would have skewed the distribution, so the result is uniform by construction rather than approximately uniform.

Note

This was measured rather than assumed. A deliberately biased generator scores 822 on the chi-squared test in this tool's test suite, where the threshold is 250 and the real implementation sits far below it. Writing that test without first checking it could fail would have been the same as not writing it.

Why there is no strength label

Most password tools show a coloured bar and the word "Strong". That is a judgement dressed as a measurement, and it is usually computed from character-class rules: is there an uppercase letter, a digit, a symbol.

Those rules reward the wrong thing. "P@ssw0rd!" contains all four classes, turns most meters green, and survives a dictionary attack for seconds. A six word passphrase contains no uppercase letter at all and cannot be brute forced.

This tool reports entropy in bits and shows the inputs to that calculation beside it: the alphabet size and the length. The number becomes something to verify rather than something to believe.

EntropyWhat it means
Under 50 bitsWithin reach of a determined offline attack
50 to 80 bitsFine for an account with rate limiting behind it
80 to 128 bitsBeyond brute force for the foreseeable future
Over 128 bitsMore than needed; extra bits change nothing in practice

A rule that is deliberately absent

Almost every generator guarantees at least one character from each selected class. It sounds like it improves security. It reduces entropy.

The reason is that the rule removes from the probability space every password that happens not to contain a digit. A smaller space is an easier space to guess. It also leaks a little structure to an attacker who knows how the generator works. There is no such rule here: the classes you select define the alphabet, and the draw over that alphabet is uniform.

When a passphrase is the right choice

The two modes solve different problems. A random string is correct for anything a password manager will hold, since you will never type it again. A passphrase is correct for the handful of secrets you have to type or remember: a disk encryption key, a WiFi password read aloud across a room, the master password guarding everything else.

The difference is not small. A master password nobody can remember gets written on paper or simplified until it can be, and both outcomes weaken everything it protects.

Warning

Entropy comes from the NUMBER OF WORDS, not the character count. A five word passphrase carries fifty bits even when it renders as forty characters on screen. Computing it from the character count would claim well over a hundred, and that overstatement is the usual way passphrase tools mislead.

Why the wordlist is English

The list was Turkish first, which seemed natural for this audience and was wrong for the job. A passphrase exists to be TYPED: into a disk encryption prompt before any keyboard layout has loaded, into a router admin page, or read aloud across a room.

Turkish characters break all three. A third of that first list carried ç, ğ, ı, ö, ş or ü, and a phrase containing them cannot be typed on a US keyboard, is mangled by systems that are not UTF-8 clean, and is ambiguous when dictated. English words are what every keyboard on earth can produce.

Every word is three to five letters, and every word has a unique three letter prefix. That second criterion comes from the EFF list: typing three letters identifies the word, which matters both for autocomplete and for reading a phrase out to someone.

Why exactly 1024 words

The wordlist holds exactly 1024 words, and that number is not an accident. 1024 is two to the tenth, so a word drawn uniformly from the list carries exactly 10 bits, and a phrase of n words carries exactly 10n.

A list of 1000 would give 9.97 bits per word. The arithmetic is fine and the communication is worse: the figure then reads like an estimate. At 1024 the reported number is a fact anyone can confirm by counting the list.

text
4 words = 40 bits5 words = 50 bits6 words = 60 bits7 words = 70 bits

Capitalising the words or appending a digit adds almost nothing to the entropy. Those options exist to satisfy policies that demand a capital or a number, and the reported figure ignores them. Counting them would be inflating it.

What this page does not do

The generated password is not stored anywhere. It is not written to the address bar, because a URL goes to analytics and lives on in browser history and server logs. There is no "recently generated" list, because such a list turns one compromised device into every password you ever made here. Nothing goes into local storage either.

The one deliberate exit path is the clipboard. Pressing Copy writes the password to the system clipboard, which your operating system may sync between your devices and which other applications can read. That is your decision rather than a hole, but a page that enumerates what does not happen owes you the one thing that does.

This page also carries no advertising. The generated secret is live in the document, and putting a third-party frame in the same page is not compatible with the promise this page makes. Other tool pages on this site do show ads; here it is switched off deliberately.

Frequently Asked Questions

Is the password really never transmitted?
Yes. Generation runs entirely in your browser. Load the page, disconnect from the internet and generate again; it keeps working. Nothing is written to the address bar, to local storage or to a history list.
How many characters should I use?
Character count alone is not the measure; entropy is. With the full character set, 16 characters carries about 104 bits and is more than enough. With lowercase only you would need far more length for the same security, and the tool shows you that difference in bits.
Does excluding lookalike characters hurt?
It is not harmful, but it has a cost: the alphabet shrinks, so the entropy per character falls. The tool already accounts for this and shows the lower figure. If you are going to read the password aloud or retype it, the trade is usually worth making.
Why does it not say "strong" or "weak"?
Because that label is a judgement and it usually measures the wrong thing. Meters built on character-class rules turn "P@ssw0rd!" green and penalise a long passphrase. Entropy in bits can be computed, and the inputs to the computation are shown next to it.
Is a passphrase actually secure?
With enough words, yes. Each word carries exactly 10 bits, so six words is 60 bits. Four words is the floor for a secret you will type; for something critical like a master password, prefer six or seven.

Tool and article by , Senior Software Engineer. Published: August 2026.